Build your first automation
An automation is one rule: when this happens, send this DM. You build it in the Automation Studio — a phone preview on the left that plays out the whole journey, and the editor on the right. Nothing goes live until you press Publish automation.
The five things you set
- Pick a triggerWhat kicks the automation off — a comment, a story reply, a story mention, or an inbound DM. Comment triggers bind to one post; story and DM triggers run across your whole account.
- Choose the postComment triggers only. Pick from your recent posts, or arm it for the next post you publish.
- Add keywordsThe words that fire it, plus a match mode. Or switch on “Reply to any comment” and skip keywords entirely.
- Write the DMYour message, your link, and optionally buttons and a public reply under the comment.
- PublishThe readiness counter in the top bar reads N / N ready when everything required is done. Not finished? Press Save draft and come back to it.
Step 1 — Pick a trigger
In Advanced, the trigger cards are grouped into two families: on a post or reel, and account-wide. Comment is the default and the one most people want.
| Trigger | What fires it | Bound to |
|---|---|---|
| Comment on a post or reel | Someone comments a keyword on the post you chose. | One post |
| Comment on my live | Comments during a live broadcast. | One broadcast |
| Reply to my story | Someone replies to one of your stories. | Your whole account |
| Mention in a story | Someone @-mentions you in their story. | Your whole account |
| Someone DMs a keyword | An inbound DM matches one of your keywords. | Your whole account |
Step 2 — Choose the post
Comment triggers open with a strip of your recent Instagram posts at the top of the editor. Tap one to select it — the caption appears underneath, and the phone preview updates. Two extras live under the strip:
- Apply to my next post instead — arms the rule for a post you haven’t published yet.
- Limit to: Any · Posts · Reels — narrows which kind of media this rule applies to.
No posts on the account yet? The picker says so plainly and offers Apply to my next post instead rather than pretending there’s something to choose.
Step 3 — Keywords and match modes
Type a word and press Enter (or a comma) to turn it into a chip. Backspace on an empty box removes the last one. There’s a row of tappable starter words — *link, shop, buy, price, code, guide, info, discount* — and a counter under the tray; the suggestions row hides once you’ve added 20.
Matching is case-insensitive, and any one of your keywords is enough to fire (except in *All words* mode, below). If you type a keyword but forget to press Enter, the studio folds it in when you publish rather than quietly ignoring it.
The match mode decides how strictly the keyword has to appear. Say your keyword is LINK:
| Mode | Fires when | Example that fires |
|---|---|---|
| Contains | The comment contains any keyword, anywhere. | “send me the link”, “LINK pls”, “where’s the Link?” |
| Exact word | The comment is the word and nothing else. | “LINK” — but not “send me the link” |
| Begins with | The comment starts with a keyword. | “link please”, “LINK now” |
| All words | Every keyword you added is present. | With LINK + GUIDE: “need guide and the link” |
As you switch modes the studio shows real examples built from your actual keyword, so you can see what each one catches before you publish.
*(Advanced)* Exclude keywords is a negative filter. Add words here and a comment containing any of them never fires this automation.
One trigger has no keywords at all: Mention in a story. There’s no text on a mention, so it fires on every one.
Step 4 — Write the DM
The Message template box is the DM that gets sent. Two buttons under it insert placeholders that fill in at send time: + First name inserts {{first_name}}, and + Link inserts {{link}} — which is replaced by whatever you put in the Destination link field.
Hey {{first_name}}! 🙌 Here’s the link you asked for 👇
{{link}}The destination link
Destination link sits directly under the message. Type a URL and the hostname appears beneath it as a sanity check. A link is genuinely optional — a thank-you reply doesn’t need one — so the studio only complains when your message actually references it.
{{link}} and the link field is empty, the DM would send with a blank line where the link should be — and report itself as delivered. Rather than ship that, the studio blocks Publish until you fill the link in or remove the placeholder. The phone preview shows the same gap, on purpose.How long the message can be
Instagram allows a longer message when it’s plain text than when it carries buttons, so the counter next to the message box changes depending on what you’ve built:
| Your message | Character limit |
|---|---|
| Plain text, no buttons | 1000 |
| Carries one or more buttons | 640 |
{{first_name}} and {{link}} fill in (using a roomy sample name and a typical link). A template that fits the editor but would blow past 640 at send time gets caught here, so a button is never silently dropped. The same 640/1000 budget applies to message variations and follow-up bubbles.Buttons (Advanced)
Turn on Add buttons in the Add-ons list to attach up to 3 buttons to the DM. Each one is either:
- Link — opens a URL. Needs an
httpsaddress. - Quick reply — a tappable button that sends a follow-up message when tapped. The follow-up can carry its own text, link and up to 3 of its own buttons.
Three rules block Publish rather than letting a button fail quietly:
- A quick reply with no follow-up message leads nowhere — write its follow-up or remove the button.
- One message can show either a link button or quick replies, never both. Move the link into the follow-up, or split them into two steps.
- On a comment trigger, the first reply carries the quick-reply opt-in — a link button can’t ride it. Put your link inside the quick reply’s follow-up.
Reply on the comment too
Comment triggers get an optional public reply: a comment Dartzo posts publicly under theirs, while the DM still goes privately. Something like *“Sent! Check your DMs 💬”*.
- Add up to 4 alternate wordings on top of the primary reply (5 in total). They’re rotated per comment, so an active post doesn’t read like a bot repeating itself.
- Max public replies/day for this post starts at your account’s limit and can be lowered to quiet a busy post. Every automation on that post shares the budget.
0turns public replies off for the post — the DM still sends. - Clear the box to go back to inheriting your account limit.
The other add-ons
| Add-on | What it does |
|---|---|
| Rotate the wording *(Advanced)* | Up to 4 alternate versions of the message body. One is picked per send, so identical DMs don’t pile up. |
| Send a follow-up bubble *(Advanced)* | Up to 2 extra messages after the first. On comment triggers these ride the quick-reply follow-up, because Instagram only lets us message once on the first reply. |
| Capture leads in DM | Saves the sender as a lead. A Pro feature. |
| Share this post *(Advanced)* | Adds a tappable link back to the post. Needs a post selected, and on comment triggers it rides the quick-reply follow-up. |
Publishing
The checklist above the Publish button lists exactly what’s done and what’s missing, and the top bar counts it as N / N ready. If Publish is disabled, hover it — the tooltip names the one thing still standing in the way. Under the checklist you’ll also see an honest note about the delivery window for your trigger: 7 days for comments, Instagram’s 24-hour message window for story and DM triggers.
Save draft stores an unfinished automation without publishing it — a draft can be half-built. When you come back and it’s complete, the button becomes Publish. On a phone, the studio becomes a three-step wizard (Trigger → Keywords → DM) with one button per step.