Message flows in your mobile app: a guide
v1.0 · 71 pages · Last updated: 22 October 2026
Building flows for your mobile app (App SDK): the five triggers, what every step does and what the customer sees in the app, limits, buttons and quick replies, language and variables, handing over to a person, a rating when a conversation closes, preview, publishing, the “Check” warnings, analytics and examples.
Articles from this document
- Build a flow (menu bot) for web chat In the left menu, go to Campaigns › Flows › “New flow”. At the top, name the flow and choose its inbox. Add steps with “+ Step” in the corner of the canvas and connect them, set the status to “Active” and click “Publish”.
- Flow steps: what each step does The “+ Step” menu has five groups: Message (message, link card), Question (menu, question, form, language, ask for a rating), Logic (condition, business hours, wait, go to step), Action (label, note, priority, save to contact, change stage, assign to team, turn off typing, sticky note) and Hand over (to an agent, Clomni AI, route by intent or the AI agent, another flow, close conversation). The text limit depends on the channel.
- Flow not working: publish, pause and check it A flow works only when its status is “Active” and after “Publish” is clicked. A published flow opens in “Viewing” mode; click “Edit” to change it. The “Cannot publish yet” line shows the steps that need fixing. When an agent writes in a conversation, the bot stops in that conversation.
- The flows list: folders, search and the last 30 days Campaigns › Flows is a table: flows sit in folders, and a flow started by another flow shows under it. There is a search by name and filters for inbox, trigger and status. Each row has the last 30 days' numbers and a “…” menu: “Open”, “Duplicate”, “Pause” or “Resume”, “Move to folder”, “Delete”.
- The flow builder: canvas, Paths view and versions The builder takes the whole width. “+ Step” offers the steps in groups with a search, and “Steps list” finds a step by its code, name or text. “Paths” shows steps that do not branch on one card, “Steps” shows each step on its own. A published flow opens in “Viewing” mode and is changed with “Edit”. The “…” menu has “Duplicate”, “Pause”, “Version history” and “Delete”.
- Flow analytics: sent, engaged, completed Open the flow and choose “Analytics” at the top. “Sent”, “Engaged” and “Completed” show as unique and total counts, and each opens the list of customers behind it. “Steps” shows how many conversations reached each step and where they dropped off, and “Over time” is a chart by day, week and month. “Download CSV” gives the numbers as a file.
- A flow that starts when the conversation status changes, and CSAT In a mobile app (App SDK) inbox, open the flow's “Settings” › “When it starts”, choose “When the conversation status changes” and set “New status” and “Changed by”. For example, to ask for a rating when a conversation is resolved. While such a flow is active, the inbox's CSAT survey is not sent: the flow asks for the rating.
- Customer can't type: buttons and the Turn off typing step In a mobile app (App SDK) flow, “Menu”, “Language” and a “Message” with buttons have a “Customer can't type” switch, on by default. Turn it off and the customer can pick a button or type the answer. The “Turn off typing” step closes the text box, even after the conversation is resolved. The app needs SDK 1.0.4.
- Start another flow, and reusable flows The “Start another flow” step hands the conversation to another flow of the same inbox. It is one way: the conversation goes on in that flow's published version and does not come back. For a flow with no trigger of its own, started only from other flows, choose the “Reusable” trigger.
- When a flow starts: the triggers and “Who sees it” Pick the trigger in the flow's “Settings” › “When it starts”: “When a conversation starts” (one per inbox), “App event” (one per event name), “Manual” (any number), “When the conversation status changes” (one per status and “Changed by”), “Reusable” (only from another flow), and on Instagram and Facebook “When a DM opens” (ready questions, one per page). App events and status flows exist only in the mobile app. “Who sees it” narrows a flow by channel, platform and user.
- Starting a flow from an app event (startFlow) In a mobile app inbox, give the flow the “App event” trigger, write the “Event name” (e.g. order_problem) and the “Expected data fields” (e.g. order_id), make it active and publish. When the app calls Clomni.startFlow("order_problem", data), a new conversation opens and the flow starts. The data is used in text as {{data.order_id}}.
- Sending a flow to a conversation by hand: agent, Clomni AI, another flow An agent sends a “Manual” flow from the conversation: in a mobile app conversation from the right panel's “Device” › “Send a flow”, on other channels with “Start a flow”. A Clomni AI agent starts it with its “Start a flow” skill. It does not start while another flow runs. The flow leaves the status as it is and gives it back at the end of its path.
- The Message step: text, images, cards, carousels, buttons and quick replies The “Message” step sends “Content blocks” (Text, Image, Card, Carousel), “Buttons” (Link or Go to step) and “Quick replies”. In the mobile app, link buttons become links in the text, while step buttons, quick replies and card buttons all show together under the last message as buttons: 10 in all, each label up to 120 characters. A button connected to no step is not shown in the app. Buttons, cards and carousels also go out on Instagram, Facebook and WhatsApp.
- The Menu, Question, Form, Language and Ask for a rating steps The Question group's steps get an answer from the customer. “Menu” shows buttons, each with its own path. “Question” saves a typed answer under a name. “Form” asks for several fields with validation (regex). “Language” asks for the language and, in the mobile app, keeps it on the contact. “Ask for a rating” sends a rating card and waits for the rating.
- The Condition, Business hours, Wait and Go to step steps “Condition” checks its rules top to bottom and takes the first rule that matches, else “Otherwise”. It checks contact and conversation attributes and labels on every channel, and the platform, where the messenger was opened and an app event in the mobile app only. “Business hours” opens two paths by the inbox's hours. “Wait” waits a number of seconds and, in the mobile app, can stop when the operator or the customer writes. “Go to step” moves to another step of this flow.
- The label, private note, priority, save to contact, stage and team steps The Action group's steps show the customer nothing and move straight on: “Add label”, “Private note”, “Set priority”, “Save to contact” (an answer into a contact field), “Change stage” (the customer lifecycle), “Assign to team”, and in the mobile app “Turn off typing”. “Sticky note” is only a note for the team on the canvas.
- Hand to agent, Close conversation and Hand to AI agent: what happens when a flow ends “Hand to agent” sends its message, ends the flow and makes the conversation “Open” in the agents' queue, giving it to the chosen “Team” if any; in the mobile app the text box opens. “Close conversation” resolves it; if the customer writes later it reopens. “Hand to AI agent” (older flows only) gives it to the inbox's AI assistant. In the mobile app, a path that ends on an ordinary step closes the conversation.
- The Clomni AI step in a flow and its four exits The “Clomni AI” step gives the conversation to the chosen agent, who talks freely, and the flow goes on from one of four exits: “Done”, “Needs a person”, “Doesn't know”, “No reply”. Settings: “Agent”, “What to do at this step”, “AI writes first”, “If the customer stops writing” (10 minutes, 1 hour, 1 day), “Number of replies”. When the AI cannot work, the conversation goes to the team.
- The “Route by intent” step in a flow In the “Route by intent” step the AI reads the customer’s message and picks one of the cases you wrote, such as “Sales” or “Support”. Each case has its own way out on the card; when none fits, the flow goes the “None of these” way. If the customer only says hello, the step waits for their next message. 1 to 10 cases, each with a “Name” and a “When”. Each choice is paid from your Clomni AI credit.
- Variables ({{...}}) and language in a flow Writing {{order_no}} in text makes the bot put in the answer a “Question” or “Form” saved. In the mobile app, {{vars.lang}} gives the chosen language and {{data.order_id}} the app event's data. A missing value is left empty. A flow's texts go out in the language they are written in: for several languages, use “Language” with a path or a flow of its own per language. The flow's languages are chosen under “Settings” › “Languages”.
- How a flow works in the mobile app: status, agents, Back, versions While a flow runs the conversation is “Pending” and not in the agents' queue. As soon as an agent writes a public reply, the bot stops. In the app only the latest message's buttons work, “← Back” asks the step before again, and the bot shows as typing between its messages. A conversation finishes on the version it started with. A step left unanswered for more than 24 hours is asked again.
- “Check” and publishing errors: what each message means “Check” in the builder's header checks the flow and every flow it starts. A red error is where the customer's path breaks; a yellow warning may be on purpose. Only the flow's own errors stop publishing (“Cannot publish yet:”). Steps the mobile app cannot show are listed under “The mobile app cannot show these steps, so the flow will not publish:”.
- Previewing a flow and testing it in the real app The phone icon in the builder's header opens the “Mobile preview”: the draft shown as the messenger draws it; you can tap buttons and walk the path, and nothing is saved or sent. The preview always takes a condition's “Otherwise”, leaves {{...}} as written, and does not show waits, the rating card or Clomni AI's replies. For a real test, send a “Manual” copy of the flow to a conversation.
- Flow examples: a rating on close, a menu bot, from the app to an agent Three ready scenarios. 1) Rating on close: “When the conversation status changes”, “Resolved”, “An agent” → “Ask for a rating” → “Message” → “Turn off typing”. 2) Menu bot: “When a conversation starts” → greeting → “Menu” → “Question”, “Start another flow”, “Business hours” → “Hand to agent”. 3) From the app to an agent: “App event” order_problem → message with {{data.order_id}} → label, priority, note → “Hand to agent”.
- Reports › Other › Flows: the numbers of all flows Reports › Other › Flows shows all flows together: “Sent”, “Engaged”, “Completed”, “Ended by the bot”, “Handed to an agent”, a comparison with the previous period, the “Inbox”, “Channel”, “Folder” and “Flow” filters, a table of every flow, and “Where customers stop” (the 10 steps most left halfway). There is “Download CSV”. One flow's detailed analytics is under “Analytics” in the builder.