[ Upcoming ] Adding emoji reactions to the API

Summary

We’re introducing emoji reactions to stories and status updates in the API, replacing the legacy “likes” system. As part of this update, several likes-related fields will be deprecated and replaced by a new reaction_summary field that provides more expressive feedback options. A new GET /reactions endpoint will also be available to fetch detailed reaction data.

Deprecated fields include:

  • likes
  • hearts
  • num_likes
  • num_hearts
  • liked
  • hearted

Why we’re making this change

Emoji reactions are a natural extension of the existing and successful “likes” feature, allowing users to express a wider range of emotions and feedback on comments across web, mobile, and email. This enhancement aligns with Asana’s goal of fostering bite-sized, lightweight communication while keeping teams engaged and collaborative. By expanding reactions beyond “likes,” we provide users with more nuanced ways to interact without adding friction to their workflow.

Who is affected

Users who currently rely on the likes feature will be affected. These fields will continue to appear for now but will stop being updated as reactions are rolled out more broadly.

Timeline (approximate)

  • June 25: Rollout begins for emoji reactions (initially available to select workspaces)

  • June 25 to late August: Experimental phase — reactions will be gradually rolled out, and both likes and reactions will be written for compatibility

  • After the experiment: Broader availability and continued backward compatibility for a period of time

Change details

The deprecated likes-related fields (listed above) will remain in the API response for now, but they will eventually stop receiving new data. During the experimental phase, both likes and reactions will continue to be written for compatibility. These fields may still appear in responses, but once your workspace transitions to reactions, they will no longer receive new data. They will remain for backward compatibility but are no longer actively maintained

Structure of reaction_summary (GET story or status update will include a list of these):

{
 "emoji_base": string,
        "variant": string,
        "count": number,
        "reacted": boolean,
 }

Example of reaction_summary (included in GET story or status update)

"reaction_summary": [
            {
                "emoji_base": "👋",
                "variant": "👋",
                "count": 1,
                "reacted": false
            },
            {
                "emoji_base": "👍",
                "variant": "👍",
                "count": 1,
                "reacted": true
            },
            {
                "emoji_base": "✊",
                "variant": "✊",
                "count": 1,
                "reacted": true
            },
            {
                "emoji_base": "✊",
                "variant": "✊🏻",
                "count": 1,
                "reacted": true
            },
            {
                "emoji_base": "😀",
                "variant": "😀",
                "count": 1,
                "reacted": true
            },
            {
                "emoji_base": "😘",
                "variant": "😘",
                "count": 1,
                "reacted": true
            }
        ]

Reaction object structure (used to update a story)

{
  "emoji": "string",
  "reacted": boolean 
}

Migration steps

  • Existing likes will be migrated to :+1: (thumbs-up) reactions.
  • During the rollout, likes will continue to be written to maintain compatibility.
  • Update your integration to:
    • Read from reaction_summary (see: getting story, getting status update)
    • Write reactions instead of likes (see: updating a story)
    • Use the new GET /reactions endpoint for a paginated list of all reactions
5 Likes

A post was split to a new topic: No longer getting inbox notifications on comment reactions