Engagement Webhooks
Track likes, bookmarks, retweets, and quotes on your posts.
Engagement events fire when likes, bookmarks, retweets, or quotes change through the API. Every delivery uses the shared envelope described in Webhooks.
Events
| Event | When |
|---|---|
engagement.liked / engagement.unliked | Like added or removed |
engagement.bookmarked / engagement.unbookmarked | Bookmark added or removed |
engagement.retweeted / engagement.unretweeted | Retweet/repost added or removed |
engagement.quoted | Quote post created. Also emits post.platform.published for the new quote |
Payloads
Like and bookmark events share this shape (active tells you whether the action was applied or undone):
{
"postId": "POST_ID",
"destinationId": "DEST_ID",
"accountId": "ACCOUNT_ID",
"platform": "x",
"externalPostId": "2077337724349026673",
"active": true
}Retweet events add the repost id (engagement.unretweeted omits retweetId):
{
"postId": "POST_ID",
"destinationId": "DEST_ID",
"accountId": "ACCOUNT_ID",
"platform": "threads",
"externalPostId": "threads_post_123",
"retweetId": "repost_456"
}engagement.quoted points at both the source and the new quote post:
{
"sourcePostId": "SOURCE_POST_ID",
"sourceDestinationId": "SOURCE_DEST_ID",
"quotePostId": "QUOTE_POST_ID",
"quoteDestinationId": "QUOTE_DEST_ID",
"accountId": "ACCOUNT_ID",
"platform": "x",
"externalPostId": "2088445566778899001",
"externalUrl": "https://x.com/i/web/status/2088445566778899001",
"text": "Adding context to this"
}