scheduled action webhook.
Please see the webhook overview for more details.
After registering a webhook URL, you will receive an POST request to your URL when an event occurs.
The POST request will include a JSON payload with the event details.
Scheduled Action
You will receive this webhook notification when a scheduled post is processed — whether it succeeds or fails — and published to the selected social networks. For example, if you schedule a post for 12:00 PM on August 1, 2026, the webhook will be sent at the exact time the post is published. Webhook notifications are only sent for posts scheduled in the future using thescheduleDate field in the /post endpoint.
Scheduled Event
You will not receive a webhook notification for immediate posts, because the API returns the success or failure response instantly in the JSON reply.
Webhook notifications are only sent for scheduled posts, since these are processed asynchronously and require a separate notification to inform you of their status.
TikTok Publishing Webhook
When working with TikTok via Ayrshare, you might receive two different webhooks for a scheduled post. If your post was scheduled rather than immediate, you’ll receive the standard Scheduled Action webhook first. This indicates that the media has been successfully sent to TikTok for processing and posting. Afterwards, you will receive thesubAction: tikTokPublished webhook.
This is triggered once TikTok has completed processing the media and the media is made public.
This webhook is activated for both immediate posts and scheduled posts.
In the Ayrshare dashboard, this event is labeled as tikTok (pub).
Social Action
Notification when a user’s profile links or unlinks a social network.Social Action Event
account object is sent when Ayrshare holds account-level identity for the linked platform, currently YouTube only, and is included on both link and unlink actions. Every key inside account is optional (a YouTube channel without a custom URL has no handle). When no identity is available, the account key is omitted entirely rather than sent as empty, so check that a key is present before using it.
Note that account.title is the social account’s own title, such as the YouTube channel name, while the top-level title is your Ayrshare user profile’s title. They are different values.
A source of system means Ayrshare automatically unlinked the account, such as when the social network connection is no longer valid. We recommend you notify your user so they can continue posting. Details of the unlinking found details field. An email will also be sent to the Primary Account email address, or alt emails if they have been set up.
A source of user means the user initiated the action themselves, such as they manually unlinked an account. An email will not be sent when a user initiated action occurs.
Messages Action
The Messaging Add-On is required to access all messages endpoints and webhooks. For Facebook and Instagram, receive notifications when a direct message arrives, is read, or has a reaction created or deleted. WhatsApp currently sends a notification to your registered webhook URL only when a new incoming message is stored. X/Twitter webhooks are available as an option for Enterprise clients. Please contact your account representative for more information about becoming an Enterprise client. WhatsApp does not emit reaction or delivery-status webhooks to your registered URL today. Stored outbound messages can have astatus value of sent, delivered, read, or failed — see
WhatsApp Message Status below.
Standby coverage for Facebook Pages with multiple apps
Ayrshare subscribes to Facebook’sstandby webhook field in addition to the standard messaging fields. This means Messenger events are delivered to your webhook even when another app on the same Facebook Page is currently holding thread control — for example, when a chatbot platform is set as your Page’s primary receiver, or when Meta’s Page Inbox is actively handling a conversation.
There is no schema change for these events. They arrive as the same messageCreated / messageRead / reactionCreated / messageEdited payloads documented in the sections below. Two things to be aware of for Pages with a competing Messenger app installed:
- Inbound message volume may increase compared to the previous behavior, where standby events were silently dropped before being subscribed to. The new traffic represents messages your Page received that were being handled by the other app.
- You may receive
messageCreatedevents withtype: "sent"that do not correspond to messages you sent through Ayrshare. These are echoes of messages sent by the other Messenger app on your Page (Meta delivers a copy of every send to every subscribed app). If your integration reconciles outbound traffic against your own send history, you can use that history to distinguish your sends from a competing app’s sends.
New Message Events
Notification when a new message is sent or received.conversationId and senderId are the correspondent’s phone number in E.164
digits-only format. recipientId is Meta’s phone-number ID for your linked WhatsApp account.
timeStamp is present when Webhook Security is enabled.
On every network, a message that carries media carries it in attachments, as shown in the WhatsApp
example above — Facebook and Instagram included. Attachment types can be image, video, audio,
document, or sticker. Message webhooks never carry mediaUrls — that field belongs to the
post-delivery payloads such as Scheduled Action, where it reports the media you
sent.
Unsupported Messages
Facebook and Instagram do not expose every message type through their Messaging API. For a message of a type they withhold, Meta sends only a flag, with no text and no media. Ayrshare forwards that asunsupported: true, so the event arrives with neither message nor attachments:
unsupported: true and no
content, so the content cannot be recovered there either. Meta does not
say which message types it withholds. Plain text, links sent as text, and media all arrive normally,
so treat unsupported: true as a reason the event is empty, not as a sign that text or media are
being lost. If your integration replies automatically, check for this flag before treating an empty
message as something the sender needs to resend. The flag is absent on every other message; it is
never false.
Message Read Event
Notification when a message is read by the recipient.mid field that uniquely identifies which specific message was read.
For Facebook messages, message reads are tracked at the conversation level using the conversationId.
When a read event occurs, all messages in that conversation with timestamps before the created (or read) timestamp should be considered read by the user.
Reaction Created and Deleted Events
Notification when a reaction, such as a like, is created or deleted on a message.Message Edit Event
Notification when a user edits a message they previously sent. Available for Facebook and Instagram direct messages. ThemessageEdit.mid field matches the id of the original messageCreated event, so consumers can correlate the edit with the original message. The messageEdit.text field carries the new, edited message text.
WhatsApp Message Status
WhatsApp tracks per-message delivery state on stored outbound messages using onestatus field:
sent, delivered, read, or failed. These updates are not currently delivered to your
registered webhook URL as separate events. If you need real-time delivery state, please contact
your Ayrshare account representative.
Batch Action
Notification when a batch has completed processing and the file is available, such as get all user profiles. You may access the file with the pre-signed URL in theurl field.
Batch Event
Feed Action
Notification when a new RSS feed item is found for registered RSS feeds. Note: if the Webhook is active, new RSS items will not be automatically posted to the social networks.Feed Event
Mentions Action
Notification when your connected account is mentioned. Available for Instagram.For Instagram, registering the
mentions webhook is all that is required to receive mention events. The Messaging Add-On, messaging enablement, and relinking the social account are not needed.action, refId, hookId, url, and timeStamp with Webhook Security), subAction, platform, and postId. The example below is the Instagram shape: media_id, plus comment_id when the mention is in a comment. Facebook Page mention events are not currently delivered — Ayrshare acknowledges them to Meta and does not forward them to your webhook. Only Instagram mentions are delivered today, so platform is always instagram on this action.
postId follows the same rule as on the Comments Action, and on mentions it is usually absent: a mention normally happens on someone else’s post, which has no Ayrshare id. It appears only when the mention is on a post you published through Ayrshare.
Mention Event (Instagram)
Comments Action
Notification when a comment is created on your connected content. Available for Facebook, Instagram, and Threads.For Instagram, registering the
comments webhook is all that is required to receive comment events. The Messaging Add-On, messaging enablement, and relinking the social account are not needed. For Facebook, comment events are delivered only while messaging is enabled on the profile (the Messaging Add-On) — registering the comments webhook alone is not enough. Relinking the Facebook Page is not needed.action, refId, hookId, url, and timeStamp with Webhook Security), subAction, platform, and postId. Threads events also carry a normalized created timestamp. The example below is the Instagram shape. Facebook comments arrive as a Page feed change with different field names (for example comment_id, post_id, message, and from.name); consult Meta’s webhooks reference for the Facebook field set. Because every network delivers to the same comments endpoint, branch on platform — instagram, facebook, or threads — instead of inferring the network from which field names are present.
Correlating a comment with the post you created
postId is the Ayrshare id of the post the comment was left on — the same id Post returned when you created it, and the one Get Post and Post Analytics accept. It is there so you can match a comment to your own post without keeping your own map of native ids.
It is best-effort, and omitted when it cannot be determined. Treat a missing postId as “this comment is not on a post I published”, never as an error. It is absent when:
- The post was not published through Ayrshare. Comment events fire for everything on your connected account, including posts created directly in the Instagram, Facebook, or Threads app. Those have no Ayrshare id at all — nothing can recover one.
- The post was published before this field shipped. Correlation data is recorded at publish time and is not backfilled, so comments on your older posts will not carry a
postId. - The post was published by a different User Profile. Several profiles can be connected to the same Page, Instagram account, or Threads account and all receive the comment event, but only the profile that actually published the post is told its id.
postId is the Ayrshare post id, not the network’s. The network’s own id for the same post is still where it always was — media.id on Instagram, post_id on Facebook, root_post.id on Threads.
Comment Event (Instagram)
Comment Event (Threads)
Threads sends thecomments action when someone replies to a connected account’s post or to another reply in that conversation. Use id as the reply ID, replied_to.id as its direct parent, and root_post.id as the original Threads post. postId is the Ayrshare id of that original post when you published it through Ayrshare. is_verified and profile_picture_url describe the reply’s author and are included when Threads provides them. If Threads sends the same reply more than once, Ayrshare delivers it to your webhook once.
Automations Action
Notification when an automation fires a webhook action for a user, such as a comment or DM auto-reply trigger. Two event types are sent on theautomations action, distinguished by the type field. See webhook events for the full field reference.
Automation Triggered Event
Automation Completed Event
Demo Action
Notification for Demo User Profile lifecycle events. Demo User Profiles are available on the Enterprise plan; please contact us if you’d like to learn more. Two event types are sent on thedemo action, distinguished by the type field:
upgradeWarning— sent two days before a Demo User Profile automatically converts to a standard User Profile, so you can prompt your user to continue or remove the profile.upgrade— sent when the conversion happens.
Demo Upgrade Warning Event
Demo Upgrade Event
Suspended Action
Notification when a User Profile is suspended or reactivated. Suspensions can originate from a social network’s own enforcement (for example a Facebook identity verification requirement), from rate limit protection, or from billing issues. While a profile is suspended, API calls for that profile return HTTP 403. Two event types are sent on thesuspended action, distinguished by the type field:
suspend— sent when the profile is suspended. Pause posting and other activity for this profile until it is reactivated.unsuspend— sent when the profile is reactivated.
unsuspend when the last cause clears. To inspect the current suspension state at any time, use Get Profiles with include=suspension.
A platform-triggered suspension is usually preceded by a Social Action unlink event for the affected network. The suspension can only be resolved at the source — for example, a Facebook identity check must be completed by the Page admin in the Facebook app — after which the profile can be reactivated and the network relinked.
Suspend Event
Unsuspend Event
Suspension events are sent for the profile whose state changed. You can also check suspension state on demand with Get Profiles using
include=suspension, which returns isSuspended, reason, suspendedAt, unsuspendAt, and suspensionCount.Ads Action
Notification when one of your ads changes, or when an ad account is connected, disconnected or loses access. You receive events for ads and campaigns created through Ayrshare, on every ads platform. Every ad event on theads action carries the same core fields (platform, adId, postId, status, review, spend), so you can read them all the same way; a few event types add their own fields, listed below the table. Check type to see what changed:
created— an ad was created, for example by Boost Post.campaignCreated— a campaign was created with no post behind it, for example a Google Search campaign.adIdisnullandcampaignIdnames the campaign.statusChanged— an ad was paused, activated, deleted or archived through Ayrshare. A request for the status the ad already has sends nothing.spendSynced— the nightly spend sync ran for your ads. Sent once per run for each User Profile whose ads were synced, with yesterday’s (UTC) total spend on each ads platform, which can be0. Get each ad’s spend from Ad History.
accountConnected— an ad account was connected to the User Profile.accountDisconnected— an ad account was disconnected from the User Profile. Unlinking TikTok for posting, or deleting the User Profile, also removes the ad account but does not send this event.accountRevoked— Google Ads only. The ad account lost access, for example because its owner removed Ayrshare’s access in Google. Ads calls for it fail until it is connected again.
Fields only some events add:
Ad Created Event
Spend Synced Event
Ad Account Events
An ad account event concerns no ad, so it has noadId, postId, status, review or spend. Each one is sent once: hookId is the same if the same event is ever sent again, so you can ignore a repeat.