Every workflow step, and what it does
A workflow is one trigger and a chain of steps. This page is the reference for the steps. Press a step’s card on the canvas and its settings open in the drawer on the right; the heading in that drawer links back here.
Moving around and changing steps
Section titled “Moving around and changing steps”- Drag empty grid to move around, with a mouse or a finger.
Centrefits the whole workflow on the screen. A click on empty grid closes the drawer. CopyandDeletesit under each step’s name in the drawer, and on the card when you hover over it or have it open.- Deleting a step in a chain takes only that step, and the steps under it move
up to take its place. The message that confirms it has
Undo. A step with more than one road in use (anIf / Else, or a question with steps on itsAnswer did not fitroad) takes the steps on those roads with it, and asks first. - After
Copy, press any+and pickPaste. The pasted step keeps its roads and their conditions, with nothing under them yet. Cmd-Zundoes andCmd-Shift-Zredoes.Cmd-Ssaves.Deleteremoves the step you have open, when the canvas has focus.- The top bar says
Unsaved changesuntil you pressSave. Leaving before that asks first.
Before the list: four limits that apply to all of them
Section titled “Before the list: four limits that apply to all of them”- A single run lives for at most 7 days. A
Waitlonger than that, or a question nobody answers, ends the run rather than sitting there. - A run sends at most 6 messages in one turn and 30 across its whole life. A chain that tries to send more stops sending, it does not loop.
- Nothing runs at all until two switches are on: you publish the workflow, and your district admin has turned workflows on for the team. The list page says so when the second one is off.
- A workflow runs only on conversations from your own businesses. One owned by your district admin can run on anybody’s, and having read access to a colleague’s inbox does not count.
When a message a workflow queued is held back
Section titled “When a message a workflow queued is held back”A workflow’s messages wait a few seconds in a queue before they go. One is held back, and never sent, when:
- you or a colleague wrote to that lead after it was queued. Your words came first, and an automatic line arriving after them would talk over you.
- the lead asked not to be contacted.
Handing the chat to a person, or closing it, does not hold a message back on
its own. A workflow started by Booked or by a closed chat still sends.
What starts a workflow
Section titled “What starts a workflow”Tags, contact details, statuses and closed chats start workflows whoever changes them: you in the CRM or the Inbox, a colleague, or an AI agent. A change made by hand is picked up within a minute.
Shortcut is the one nothing in the app starts for you by itself. A workflow on that
trigger becomes a button in the conversation itself: open a thread in Inbox,
press Shortcuts in the header, and pick it. Give the trigger a form and you’re asked those
questions first, and your answers are there to use in the steps below, which is
how the Escalate and Log A Call templates are built.
Chat Starts fires on a contact’s first message ever. Switch on
Also when they write again after a quiet spell and it fires again when
somebody writes after the hours you set with nobody writing either way, or
writes into a conversation that was closed. Anybody who opted out is never
reopened this way.
Another App Sends a Contact
Section titled “Another App Sends a Contact”Starts a workflow when another app sends details to a web link of your own: a website form, Zapier, Make, or a Lark automation.
To connect one:
- Set the trigger to
Another App Sends a Contact. - Add a
Businesscondition and pick which of your businesses the contact belongs to. - Press
Save, then copy theWeb linkand theSecret keyfrom the trigger. - In the other app, POST JSON to that web link with the header
Authorization: Bearerand your secret key. - Publish the workflow.
The payload needs a phone number, sent as phone. Everything else you send is
yours to use in the steps: "budget": "5k" becomes $trigger.budget in a
message. A name arrives as name, and source sets what the lead’s source
reads as.
A number the app has not seen gets a conversation on that business and a CRM card, the same as somebody who writes in.
Note that 120 calls an hour is the ceiling for one workflow. Note that nothing runs while the workflow is a draft, or while your district admin has workflows or texting new leads switched off.
Each call starts its own journey, so a form sent twice runs the workflow twice.
Run only once for each contact, in More options, stops the second one.
Send a Message
Section titled “Send a Message”Sends what you write to the contact on WhatsApp.
- Up to 2,000 characters.
- Put
---on its own line to split one step into two messages. The pause between them is 3 seconds by default, and you can set it from 0.5 to 60 underMore options. - Switch
TypetoWith a picture or fileto attach one. A media message can go out with no words. Send fromis the number the message goes out on.The number they last talked tois right for almost every workflow.Add a road for when it cannot be sent, underMore options, gives the step a second road,Could not send, for when WhatsApp would not take the message. Without it, a failed send ends the run.
Use Add their name or details under the box to put the lead’s own details
into the words. Pick from that list rather than typing: a placeholder you spell
wrong is sent to the lead exactly as you wrote it.
Ask a Question
Section titled “Ask a Question”Sends a question and then holds the thread open until the contact answers.
Kind of answerchanges what counts as an answer:Text,Pick from options,Number,Date,Phone,Email,Website link,RatingorLocation.Pick from optionsneeds at least 2 options and each one is at most 20 characters, because the options are sent as a list the contact reads on a phone.Save their answerthree ways, and you can use more than one:On their card,For later steps(to put in messages and checks further down), orAs a tag.Add a road for no reply, underMore options, gives the step aNo replyroad for the contact who never answers. Anything from 1 second to 7 days.- Every type except
Textcan refuse an answer: an email that is not an email, a rating that is not 1 to 5, a reply that is none of the options. Switch onAdd a road for an answer you cannot readand put something on itsAnswer did not fitroad, usually a line saying you did not catch it and a jump back to the question. Without the road, a contact who answers the wrong way hears nothing back and the workflow stops, so it will not publish until the road is there.
If / Else
Section titled “If / Else”Splits the road by what is true about the contact.
- Up to 9 paths plus
Everyone else. Contacts who match none of them go downEveryone else. PressAdd a Pathfor another. - Paths are checked from the top and a contact takes the first one that matches. Use the arrows beside a path’s name to change the order.
- Every path needs at least one condition or the workflow will not publish.
A new path has none: press
Add condition. - For an answer saved earlier in the workflow, pick
Saved answerand choose the answer from the list. Each one is named by the question that saved it. - Conditions read contact details, tags, answers saved earlier, the business, the last message either way, and how long it has been since one.
containsmeans whole words, any one of a comma-separated list.yes, keen, surematches “yes keen” and does not match “yesterday”.
Pauses before the next step. Minutes, hours or days.
The 7-day run limit is the one to watch. A Wait of more than 7 days will not
publish, and a 5-day wait inside a workflow that already waited 3 days leaves
nothing after it. For a follow-up a month out, close the conversation and use a
separate workflow on a later trigger.
Check the Day and Time
Section titled “Check the Day and Time”Checks the clock, and sends contacts down Inside your times or
Outside your times.
Opening hourstakes a row per day with its own open and close time. Monday to Friday, 09:00 to 18:00 to begin with.Datestakes a start and an end date, for a campaign with a closing date.- The time zone is Singapore unless you change it.
- At least one day has to be switched on, or the workflow will not publish.
Hand to a Person
Section titled “Hand to a Person”Puts a named person on the conversation. Hand it to offers four answers:
You, the advisor the workflow belongs to.Somebody in your team, thenWhoto pick them. The list is everybody in your district who has a lead sheet.Share it out across the team, thenHow to share out:Take turns: whoever has waited longest, orFewest chats: whoever has the fewest open.Nobody: let it go, which takes the conversation off whoever was holding it and hands it back to automatic replies and AI without alerting anybody.
From this step no AI agent and no automatic reply answers over the person holding it, and your alert number is sent their name. Steps after it still run, messages included.
Whoever it goes to is told directly as well. Their bell rings, and the same message reaches their Telegram and WhatsApp assistant when either is connected, with the lead’s name and the last thing that lead said in it. That person can open and answer that one conversation, even though the lead sheet belongs to a colleague. See Work handed to you for their side of it.
Handing a conversation to the person already holding it changes nothing and tells nobody again.
Set Their Status
Section titled “Set Their Status”Sets the contact’s status to New, Replied, Booked, Won or Lost: the five words the Inbox filters by, so the rest of the team sees where the lead stands.
Book Appointment
Section titled “Book Appointment”Offers the next few times your Pick a Time page says you are free, and books the one they pick. Your page’s own hours, buffers, notice period and daily cap all apply, the appointment shows in your Pick a Time bookings and on the lead’s card, and they get your usual confirmation email with its cancel and reschedule links.
Pick which booking page, what to say above the times, how many times to offer (3 to 6) and how far ahead to look.
Their card needs an email address, because that is where the confirmation goes.
Put an Ask a Question for it, saved to Email, before this step when your leads
may not have one.
Two roads leave it. Booked carries on with the time in $var.appointment.
Could not book is taken when nothing is free, the card has no email, the
time went while they were choosing, or Pick a Time is not connected; the reason
is in $var.appointment_problem. Switch on Add a road for nobody answering
if you also want a No reply road.
An answer that matches none of the times is asked once more before the step gives up, so “the second one” and “Wed 3pm” both work.
Move Their Pipeline Card
Section titled “Move Their Pipeline Card”Moves the lead’s card to a column on your Contacts board, for example from New lead to Appointment set. The column is matched by name when the step runs, so a workflow that also runs for a colleague’s leads moves each card on that person’s own board. A board with no column of that name is left alone, and the sheet’s log says so.
This is different from Set Their Status above: the status is the five words the Inbox filters by, and this is the column you drag cards between.
Add or Remove Tags
Section titled “Add or Remove Tags”Adds or removes tags. Type them comma separated; tags already in use are offered as you type.
Update a Contact Detail
Section titled “Update a Contact Detail”Writes a value onto the contact’s card. The value can be an answer saved
earlier in the workflow: press Add their name or details under the box and
pick it.
Add a Private Note
Section titled “Add a Private Note”Writes an internal note on the conversation, stamped with this workflow’s name. The contact never sees it. Use it to tell whoever picks the thread up what the workflow already found out.
Open the Chat
Section titled “Open the Chat”Reopens a closed conversation so the thread is back in the Inbox. Nothing to set up.
Close the Chat
Section titled “Close the Chat”Closes the conversation, with a note about how it ended and an optional reason. Both are written to the thread, so the next person to open it can see why it ended.
Go to Another Step
Section titled “Go to Another Step”Sends the contact back, or forward, to a step you name.
At most this many timesis between 1 and 10, and defaults to 3. It is what stops a circle running for ever.- A jump that goes round a loop with no
Ask a Question,WaitorHand to an AI Agenton the way is refused at publish: the builder says the steps go round in a circle. Something on the circle has to pause for the contact or the clock.
Start Another Workflow
Section titled “Start Another Workflow”Hands the contact to a second workflow. This workflow ends at this step, so the builder offers no + under it.
The workflow you name has to be published and has to use the
Started by Another Workflow trigger. You can send the contact to its beginning or to a step part
way down it.
Hand to an AI Agent
Section titled “Hand to an AI Agent”Hands the conversation to one of your AI agents, which answers from there on.
This workflow ends at this step, so the builder offers no + under it. Use it when the script has taken the lead as far as a script can.
The agent has to be published, and your district’s AI replies switch has to be on, or nothing answers.
AI Reply
Section titled “AI Reply”Borrows an agent for a single answer, in its knowledge and its voice, and then the workflow carries on to the next step.
Under What it should do this time, say what it should do in this one turn. The brief is required.
Leave Wait for their reply on if the answer is a question.
Use this where a script cannot cover what somebody said, but you still want the
rest of your steps to happen. Use Hand to an AI Agent instead when you want to hand the
whole conversation over.
Send to Another App
Section titled “Send to Another App”Sends the contact’s details to another app: a Lark or Slack group, Zapier, Make, or a Google Apps Script.
To send a message to a Lark group:
- In Lark, add a custom bot to the group and copy its webhook address.
- Paste the address into
Web link to send to. It has to start withhttps://. - Under
What to send, pressLark message. It already has the contact’s name and number in it. - Press
Send a test. The group gets a message about Test Contact.
The step has two roads. Sent means the other app accepted it, answering with a code in the 200s, within 10 seconds. Anything else takes Did not go through, and the reason goes in your activity log.
An app that wants a key, or a request type other than POST, is set under
More options.
Anything you put inside quotes in a JSON body is escaped for you. A first message with quotes or line breaks in it can’t break the body.
Open Save parts of the app's reply to keep the reply code, or a value from a
JSON reply, under a short name. The steps under it can put it in a message with
Add their name or details, and an If / Else can check it.
Note that Lark answers 200 even when it turns a message down. Send a test
shows its reply, which reads "code":0 when the message went through.
Note that one turn makes 5 requests at most, and one conversation sets off
10 a minute across all its workflows. A request past that takes Did not go through. Addresses on a private network
and http:// addresses are refused.
Wait Until a Day and Time
Section titled “Wait Until a Day and Time”Holds the contact until the next day and time you pick, in Singapore time, so a follow-up lands at 9am on a working day rather than at 3am.
Pick the days under On these days, and the time. If that time today has already gone,
it waits for the next day you picked.
Note that a workflow runs for 7 days at most. One day a week can use all of it, and the builder says so on any step below that could then be missed.
Tell the Team
Section titled “Tell the Team”Sends your own words to your team about this contact. The contact is not messaged, and the workflow carries on to the next step.
It goes to the Lark group set under Workflows > Handovers when the business
has one, and to your alert number on WhatsApp when it does not. You can
also pick one or the other.
Use Add their name or details to say who it is about.
Create a Task
Section titled “Create a Task”Adds a task to the list of whoever owns the business, linked to the contact, so opening the task opens the person.
Give it a title, notes if you want them, a due date (No date, In 4 hours,
Tomorrow, In 3 days or In a week) and a priority.
Log an Activity
Section titled “Log an Activity”Records an activity against the contact for whoever owns the business, the way logging one by hand does, so it reaches the same stats and streaks.
Pick the activity, and add notes if they help.
Note that it carries no points unless you switch Count its points on. The
workflow logged it, not you, and points that award themselves make the league
table meaningless.