Automations
Comment-to-DM automations on the connected Instagram account: a keyword in a comment on a post (or in a DM, or in a story reply) gets a DM back, once per person, with an optional public reply under the comment. Opt-in scopes automations:read and automations:write. A post can also carry its automation at create time (comment_dm_automation on POST /posts/create).
List automations
Returns the comment-to-DM automations of the workspace, newest first. An automation answers a keyword in an Instagram comment (or a DM, or a story reply) with a DM, once per person. Needs the opt-in automations:read scope.
query Parameters
statuspost_idOnly the automation bound to this OmniSocials post.
List automations › Responses
List of automations
Create an automation
Creates a comment-to-DM automation on the connected Instagram account. When somebody comments a keyword on the post (or sends it in a DM / story reply, see trigger.kinds), the account sends them actions.dm.text as a private message, once per person, and optionally posts one of actions.public_reply.variations under the comment. Instagram rules: one private reply per comment, within 7 days of the comment; a follow-up is only possible after the person answers (24-hour window). OmniSocials caps sends at 180 DMs an hour per account. For scope post, pass post_id (an OmniSocials post that goes to Instagram; a scheduled post starts listening once it is live) or instagram_media_id (a post published outside OmniSocials). Needs the opt-in automations:write scope and a connected Instagram account.
Create an automation › Request Body
nameA label for the automations list (max 120 characters).
post_idFor scope post: an OmniSocials post that goes to Instagram (scheduled or live). One automation per post.
instagram_media_idFor scope post: the numeric id of a post or reel that was published outside OmniSocials (from the Instagram API, GET /me/media). The post is read from Instagram to check it belongs to the connected account. Pass post_id or instagram_media_id, not both.
statuspaused creates the automation without turning it on. Default active.
Create an automation › Responses
Automation created
Update an automation
Partial update. status pauses (paused) or resumes (active) the automation. trigger, actions and limits are merged into the stored sections: keys you omit keep their value (new keywords keep the kinds, the scope and the match; a new dm.text keeps the public reply). public_reply.variations: [] or enabled: false turns the public reply off; limits.max_sends: null removes that limit. Another post_id or instagram_media_id moves the automation to that post. A completed automation starts again when its limits or trigger change.
path Parameters
idUpdate an automation › Request Body
nameA label for the automations list (max 120 characters).
post_idFor scope post: an OmniSocials post that goes to Instagram (scheduled or live). One automation per post.
instagram_media_idFor scope post: the numeric id of a post or reel that was published outside OmniSocials (from the Instagram API, GET /me/media). The post is read from Instagram to check it belongs to the connected account. Pass post_id or instagram_media_id, not both.
statuspaused creates the automation without turning it on. Default active.
Update an automation › Responses
Automation updated
List the activity of an automation
One row per comment or message the automation acted on, newest first: the DM that was sent, a skip with its reason, or a failure with the platform's error. counts gives the total per outcome.
path Parameters
idquery Parameters
outcomelimitoffsetList the activity of an automation › Responses
Activity