Skip to content

Build

DM flows reference

Every step type in the flow builder, what it does and how triggers work.

A flow is a graph of steps that starts from a trigger. Draft as long as you like; only the published version runs. Publishing validates the flow and lists anything that needs fixing.

Triggers

TriggerStarts when
KeywordAn incoming DM contains or equals one of your keywords
Incoming messageAny DM arrives (with a per-contact cooldown)
New contactSomeone messages you for the first time
Story reply or mentionSomeone replies to your story or mentions you in theirs
Comment follow-upSomeone replies to a comment automation's DM (set on the automation)
EventAn event with a given name arrives from the API or an integration
ManualYou run it from the dashboard or the API

Steps

StepWhat it does
Send message / mediaSends text, an image, video, audio or file (from a public link)
Link buttonsText with up to 3 buttons that open a link
Quick replies / Options menuUp to 13 tappable replies; each option is a branch
Ask a questionWaits for a reply, validates it (text, email, number, date, choice) and saves it
ConditionBranches Yes/No on tags, saved details, answers or keywords
WaitPauses for minutes, hours or days
Add / remove tag, Set detailUpdates the contact
Assign agentAssigns the chat to a person or by your assignment rules
Call webhookSends the contact and variables to your URL and reads the JSON response
AI replyAnswers from your knowledge base
Hand over to humanStops automation and notifies your team
Create deal / Move dealAdds the contact to your sales pipeline or moves their open deal
Payment linkCreates a Razorpay payment link and sends it in the chat
EndFinishes the flow

Merge fields

Use {{first_name}}, {{name}}, {{username}}, {{trait.city}} for saved details and {{var.answer}} for answers collected earlier in the flow.

Instagram's reply window

Flows can only message someone within 24 hours of their last message. Message steps that come due after that are skipped and logged on the run.

Loops must wait

A loop that never waits for the contact would run forever, so publishing rejects it. Add a question or a wait inside the loop.

Something missing or unclear? Tell us and we'll improve this page.