Webhooks for Threads allow you to receive real-time notifications for the subscribed topics and fields.
To receive live webhook notifications, the following conditions must be satisfied:
threads_basic, threads_read_replies for reply webhooks). Download the webhooks sample app to test your integration.
Under Use Cases > Customize > Settings, add the Get real-time notifications with Threads Webhooks sub-use case.
Create an endpoint that accepts and processes webhooks. To add the configuration:
The token here is passed to your server defined in the callback URL to allow verification that the call originates from Meta servers.
| Name | Description |
|---|---|
| Replies on a Threads Media owned by the Threads install user. |
| Threads posts that were deleted by the authenticated user. |
| Name | Description |
|---|---|
| Mentions on a public Threads Media tagging the Threads install user. |
| Threads posts that were published by the authenticated user (including replies to user's or other's posts). |
| Name | Description |
|---|---|
| The Threads App ID displayed in App Dashboard > App settings > Basic > Threads App ID. |
| Name of the Webhook topic. |
| The media’s ID for a |
| Time when the real-time notification is sent. |
| The subscription ID for the user in the webhook. |
| The media's ID. |
| Time when the post was deleted in ISO 8601 format. |
| Time when the post was published in ISO 8601 format. |
If you subscribe to the replies field, we send your endpoint a webhook notification containing the reply object.
{
"app_id": "123456",
"topic": "moderate",
"target_id": "78901",
"time": 1723226877,
"subscription_id": "234567",
"has_uid_field": false,
"values": {
"value": {
"id": "8901234",
"username": "test_username",
"text": "Reply",
"media_type": "TEXT_POST",
"permalink": "https:\/\/www.threads.net\/@test_username\/post\/Pp",
"replied_to": {
"id": "567890"
},
"root_post": {
"id": "123456",
"owner_id": "123456",
"username": "test_username_2"
},
"shortcode": "Pp",
"timestamp": "2024-08-07T10:33:16+0000"
},
"field": "replies"
}
}
If you subscribe to the mentions field, we send your endpoint a webhook notification containing the media object in which the user is mentioned.
{
"app_id": "123456",
"topic": "interaction",
"target_id": "78901",
"time": 1723226877,
"subscription_id": "234567",
"has_uid_field": false,
"values": {
"value": {
"id": "8901234",
"alt_text": "test alt text",
"gif_url": "https://media2.giphy.com/media/v1.Y2lkPTA1NzQyMTNjd2R0MXcybjZ6bDNyam9qaXJsN3RicnVncnFsanJ2dGk3eDJiejRmbyZlcD12MV9naWZzX2dpZklkJmN0PWc/3o85xEFRBYvAnamJnG/200.gif",
"has_replies": true,
"is_quote_post": false,
"is_reply": false,
"media_product_type": "THREADS",
"media_type": "TEXT_POST",
"permalink": "https:\/\/www.threads.net\/@test_username\/post\/Pp",
"shortcode": "Pp",
"text": "Reply",
"timestamp": "2024-08-07T10:33:16+0000"
"username": "test_username",
},
"field": "mentions"
}
}
Note: Additional fields not listed in this sample response that are returned when applicable include: media_url, poll_attachment, quoted_post, replied_to, reposted_post, root_post, and thumbnail_url.
If you subscribe to the delete field, we send your endpoint a webhook notification containing the media object when it's deleted.
{
"app_id": "123456",
"topic": "moderate",
"target_id": "78901",
"time": 1723226877,
"subscription_id": "234567",
"has_uid_field": false,
"values": {
"value": {
"id": "8901234",
"owner": {
"owner_id": "78901",
},
"deleted_at": "2024-08-07T10:33:16+0000"
"timestamp": "2024-08-07T10:33:16+0000"
"username": "test_username",
},
"field": "delete"
}
}
If you subscribe to the publish field, we send your endpoint a webhook notification containing the media object when it's published (including replies to user's or other's posts).
{
"app_id": "123456",
"topic": "interaction",
"target_id": "78901",
"time": 1723226877,
"subscription_id": "234567",
"has_uid_field": false,
"values": {
"value": {
"id": "8901234",
"media_type": "TEXT_POST"
"permalink": "https:\/\/www.threads.net\/@test_username\/post\/Pp",
"timestamp": "2024-08-07T10:33:16+0000"
"username": "test_username",
},
"field": "publish"
}
}