Docs › Flows & AI › Set up flows

Set up flows (flow builder, triggers & chatbot)

Flows (formerly “Automation”) take routine off your hands. You find them under Settings → Flows (under “Advanced” → customer service). In the flow builder you build flows step by step from top to bottom: trigger → if/then/else → actions → wait → stop. Before switching a flow on, you try it in a test run without anything being sent. On top of that there are ready-made templates, phone triggers and a rule-based chatbot for the WebChat. Since version 1.1.43 the AI can build a flow from one sentence, and an AI step classifies messages or extracts data.

⏱ approx. 5–15 min per flow · Permission: settings.manage (admin) · Free & Paid · As of version 1.1.58

New since version 1.1.41 — please check your SMS actions: an SMS without a chosen purpose now counts as marketing and only goes to contacts who explicitly agreed to SMS. For service messages (e.g. an appointment confirmation) choose “Purpose: service”. Details

How a flow is built

A flow runs from top to bottom. Every step is a card:

Building blockWhat it does
TriggerWhen the flow starts, e.g. “Customer writes”, “Conversation closed” or “Call ended”. All triggers
IfChecks conditions. If they match, it continues under “Then”, otherwise under “Else”. After that it continues below the If. Conditions
ActionDoes something: assign, reply, send a WhatsApp template, create a task … Optionally with its own path per result. Actions
WaitPauses the flow — a fixed time, until a time of day, until a date of the contact or until business hours. Wait
StopThe flow ends here.

“New flow”: how to start

Since 1.1.53 every new flow starts in one place: Settings → Flows → the “New flow” button. It asks “How would you like to start?”:

New flow: From a template, Start from scratch, From one sentence (AI)
“New flow” asks how you'd like to start.

New flows are always switched off — you switch them on once everything fits. With no flows yet, the page shows the same three options up front.

Overview: “What runs automatically?”

Since 1.1.53 the top of the flows page shows what happens without anyone lifting a finger — not just flows, but every automatic part of the CRM, each On, Partly or Off with “Open” to the setting:

If two parts would reply to the same message — e.g. the opening-hours reply and a flow on WhatsApp — a “Double reply possible” warning appears at the top. You only see “Open” for settings you may change. The card can be collapsed.

What runs automatically? Overview with On, Partly, Off and warnings about double replies
The overview: 14 parts in four areas, with warnings about double replies at the top.

Create a flow in the builder

  1. Open the builder. Settings → Flows → “New flow” → “Start from scratch”. Give it a name (e.g. “Reminder after 2 hours”). A flow template is even quicker.
  2. Choose the trigger. In the top card “The flow starts when …”. Depending on the trigger you set more, e.g. a specific label, a pipeline or, for calls, the result. Ticking “Do not start if another automation caused it” protects you against loops.
  3. Add steps. “+ Add step” inserts If, Action, Wait or Stop. You can move steps up and down, duplicate and delete them.
  4. Set repeating and stopping. Under “How often may the same record go through?” choose “Only once”, “Every time the trigger happens” or “Again, but at the earliest after this many days”. Under “Stop running flows when …” tick when a waiting flow should stop. More
  5. Do a test run. “Test run” tab → pick a real record → “Start test run”. Nothing is sent or changed. Test run
  6. Save and switch on. If something is missing, you see “Still missing” and the spot is marked red. Saving as “Off” always works.
Your existing rules keep running unchanged. Simple IF→THEN rules still open with “Edit” in the form; since 1.1.53 new ones are created in the builder. The “Builder” button opens a rule as a flow, e.g. to add a wait or an “Else”. Simple rules

✨ Flow from one sentence

Since version 1.1.43 you describe what should happen automatically and the AI builds a flow from it — with your own AI key.

  1. Settings → Flows → “New flow” → “From one sentence (AI)”.
  2. Describe in one sentence (up to 500 characters) what should happen, e.g. “When a customer writes on WhatsApp and we don't reply within 2 hours, the assignee gets a task.” → “Build flow”.
  3. You see how the AI understood you, the flow in words, assumptions, open questions (fields marked “please choose”), what isn't possible (yet) and whether the flow would send messages.
  4. Then “Open in builder”, “Save as draft (off)” or start a test run right away.
New flows are always switched off. You check, test and switch them on yourself. The AI only uses building blocks that exist in the builder. If the flow replies to customers automatically, the CRM adds a path to a human (e.g. assign the conversation round robin), and the builder warns if it is missing. No monthly limit, only a brake against abuse.

Triggers

AreaTriggers (as named in the builder)
ConversationCustomer writes (every message — tick for only the first one of a conversation) · Conversation closed · Conversation reopened · Conversation assigned · Label added · Label removed · No reply for … (optionally business hours only) · Response time (SLA) about to expire · Response time (SLA) breached · Rating received
ContactContact created · Contact changed · Tag added · Tag removed · Contact date reached (e.g. birthday, optionally every year)
Deal & taskDeal created · Deal stage changed (from/to) · Deal won · Deal lost · Deal sits X days in a stage (since 1.1.53) · Deal date reached (e.g. option valid until − 1 day) · Task due · Task overdue
AppointmentAppointment coming up (since 1.1.58): a set time before a scheduled appointment, default 24 hours – once per appointment and contact, online bookings included. Cancelled appointments get no reminder, rescheduled ones get a new one. Placeholders e.g. {{meeting.date}} and {{meeting.time}} (in your account’s time zone)
RecordRecord date reached (e.g. departure − 14 days) — see below
CallCall ended · Key pressed in the phone menu — see below
ScheduleSchedule (daily / weekly / monthly, optionally skipping holidays) — without a record (e.g. a reminder to the team) or, since 1.1.53, “for” every matching deal, contact or task — see below

Schedules for every deal, contact or task (since 1.1.53)

Under the “Schedule” trigger you choose under “For” what the flow runs for:

“Deal sits X days in a stage”: checks all open deals daily at the chosen time (optionally only one pipeline or stage). If one has been in its stage for at least X days (default 7), the flow starts — once per deal and stay in the stage; a stage change resets the clock. With “Also deals that have already been there that long” (on by default) existing deals count too.

Phone triggers: “Call ended” and “Key pressed in the phone menu”

Both need the built-in phone system of the CRM.

For the classic case “nobody picks up, the caller presses 1 and gets a WhatsApp message” there is the ready-made WhatsApp callback in the call flow: set up “Press 1 for WhatsApp”.

Date on a record or on a deal (e.g. trip)

Since version 1.1.42 a flow can start on a date — e.g. “3 days before departure” or “1 day before the option expires”.

The “Travel agency” industry pack brings ready-made reminder flows (option expiring, deposit, balance, documents, departure). They arrive switched off — you check them and switch them on. Campaigns can also start on a date on a record (e.g. asking for a review 7 days after the return trip).

“Contact created” fires for every new contact

Since version 1.1.40, “Contact created” runs whenever a contact is new in the CRM:

CSV import: only if you tick “Run automations and ‘New contact’ campaigns for newly created contacts” when importing. The default is off.

A welcome message without a condition therefore reaches every new contact and caller. If you only want to greet certain contacts, add an If (e.g. language is German).

Conditions (If)

Actions

GroupActions (as named in the builder)
In the conversationAssign conversation · Assign automatically (round robin / least busy, optionally only people who are present) · Set priority · Set status · Add label · Remove label · Write internal note · Close conversation (with or without satisfaction survey) · Snooze conversation
Send a messageSend reply in conversation (same channel) · WhatsApp message (free text, only in the 24-h window) · Send WhatsApp template · Send email template · Send SMS
Contact & CRMCreate task · Add tag · Remove tag · Set contact field · Clear contact field · Increase / decrease number in contact field · Create deal · Set deal stage · Set deal field · Set record field · Notify team member · Run AI agent · Send data (webhook) · Stop other flows for this record
AIAI: classify message · AI: extract data (AI step)

AI step: classify a message or extract data

Since version 1.1.43 the builder has two AI actions. They run on your own AI key and send nothing themselves.

ActionWhat it doesPaths afterwards
AI: classify messageSorts the latest customer message or the history into 2–8 categories of your own, e.g. “Complaint: customer is unhappy or something is broken”. Minimum confidence adjustable (default 70 %).one branch per category, plus “AI unsure”
AI: extract dataReads up to 8 values from the message and writes them into fields on the contact, deal or record (e.g. destination, preferred date) — fill empty fields only (default), overwrite or don't write.“all found”, “partial”, “AI unsure”

Wait

With the box “After waiting, check the if-conditions before it again” the flow ends if they no longer match — e.g. because the conversation has been closed in the meantime. If you change a flow, runs that are already waiting continue in their previous version.

Repeat & stop

Test run: try it without sending

  1. Open the “Test run” tab. Under “Test with what?” choose conversation, contact or deal and search by name, email, number or subject.
  2. “Start test run”. You see step by step what the flow would do now: “Would now: …”, “Would NOT run: …” with the reason, the checked value for every If (“value here: …”) and the time for every wait (“Would wait until …”).
Nothing is sent, changed or saved. The test run assumes the data doesn't change along the way — so an “Add tag” in the test run doesn't affect later conditions. Notes also tell you if the flow wouldn't start for this record at all (e.g. because it already ran through once). On the AI step you choose “assume a result” or “really ask the AI”.

Flow templates

“New flow” → “From a template” opens the “Flow templates” gallery with 25 ready-made flows to adapt, sorted by inbox, phone, deals & customers and marketing. “Use” creates the flow switched off — you check it, test it and then switch it on. If something is still missing (e.g. the name of your WhatsApp template), the field is marked red.

New since 1.1.53:

“Appointment tomorrow → reminder” exists since 1.1.58: 24 hours before the appointment a WhatsApp template, and if that doesn’t work, an SMS – through your own WhatsApp or SMS account. “Invoice 7 days overdue → payment reminder” points to dunning (Finance → Settings, section “Payment reminders”), which already sends payment reminders.

Google reviews (since 1.1.58): Google doesn’t allow asking only happy customers for a review. So the template “Ask for a Google review after the conversation” asks everyone – an hour after someone on your team closed a conversation. The request counts as marketing: by WhatsApp, SMS, Messenger and Instagram only with consent, by email not to people who unsubscribed and with an unsubscribe link. If a flow only asks from 3 stars up, the builder shows a notice; the flow keeps running unchanged.

For every action that sends a message, you set under “What is the message for?” what it is:

Unsubscribed contacts: anyone who unsubscribed from your newsletter or marketing emails gets no more marketing. They only get automatic service emails in a conversation they started themselves (e.g. an acknowledgement of receipt). Anyone who opted out of SMS or WhatsApp gets nothing there at all. The log then shows “Skipped” with the reason.

Limits per plan

FreeCloud Pro & Paid
Active flows5 (+5 per automation pack)unlimited
Steps per flowup to 20up to 200
Longest wait30 days365 days
Runs per hour5005,000 (more with automation packs)
Log30 days90 days
Reminder flows from the industry pack15 additionalunlimited
AI steps (your own AI key)1,000 per monthunlimited

Log & errors

The “Log” tab of a flow shows every run with all steps, the checked values and the reason. Waiting runs are listed with their time (“Waiting until …”). The “Recent runs” card on Settings → Flows shows all flows and rules together; “Problems only” shows just what didn't work.

ResultMeaning
DoneEverything worked.
WaitingThe run is at a wait step and continues at the time shown.
EndedThe run was ended with a reason, e.g. “The customer replied” or “The conditions no longer match after the wait”.
SkippedDeliberately not sent, with the reason, e.g. no consent, unsubscribed or no email address.
FailedSomething went wrong, with the reason, e.g. “No own mailbox set up” or Meta's message.
Slowed downThe hourly quota is reached. The run starts later on its own.
Loop stoppedThe flow kept triggering itself and was paused.

Simple rules (form)

Older simple rules open with “Edit” in the form (since 1.1.53 new rules are created in the builder): trigger (e.g. “New conversation”, “Every customer message”, “Contact created”, “Deal won”), conditions with AND/OR groups, one or more actions and, under “Run:”, immediately or with a delay (after 1 hour up to after 7 days). The delay applies to all actions of the rule; you see scheduled runs as “Scheduled: N” and stop them with “Cancel all”.

Example recipes

No reply after 2 hours → reminder. Trigger “No reply for …” · who is waiting: customer is waiting for us · 120 minutes · business hours only · action “Write internal note”: “{{contact.first_name}} has been waiting for a reply for 2 hours.”
Missed call → call-back task. Trigger “Call ended” · result: missed · action “Create task”, task type “Call back”, due “at the time on the next working day” 9:00, title “Call back: {{contact.name}} ({{call.number}}, {{call.time}})”.
WhatsApp with a fallback. Trigger “Conversation assigned” · action “WhatsApp message (free text)” as service · path “WhatsApp window closed” → “Send WhatsApp template”.
Confirmation of receipt by email. Trigger “Customer writes” (first message only) · If channel is email · Then “Send reply in conversation” as service, e.g. “Thank you for your message. We will get back to you within one working day.”
Follow up 3 days after a won deal. Trigger “Deal won” · wait 3 days · action “Send SMS” with purpose service, e.g. “Thank you for your order! Were you happy with our work? Simply reply to this SMS.”

Rule-based chatbot (WebChat)

Independent of the flows, a simple chatbot answers keyword queries in the WebChat. Under Settings → Chatbot you create “keyword → answer” pairs (e.g. “opening hours” → text). For AI-powered answers from the knowledge base, see the AI assistant (knowledge base).

Troubleshooting

My flow doesn't start

Look at the log first — it shows the reason. Then check (1) whether the flow is switched on, (2) whether the trigger matches the event and its settings are right (e.g. the right result for “Call ended”), (3) under “How often?”, whether the record already ran through once (“Only once”). A test run shows this too.

I can't switch a flow on

Either something is still missing (marked red) or your plan's limit is reached (Free: 5 active flows). Switch another flow off, book an automation pack or move to Cloud Pro or a paid licence. Saving as “Off” always works.

An SMS or WhatsApp didn't go out (“no consent”)

The action is set to marketing — or counts as marketing (SMS without a purpose, WhatsApp template in the Marketing category) — and the contact hasn't explicitly agreed. If it is a service message, set the purpose to “Service”. For WhatsApp templates, the category at Meta decides.

An email from the flow didn't arrive

The log names the reason: no own mailbox, no email address, address blocked or the contact unsubscribed. Unsubscribed contacts only get service emails in a conversation they started themselves.

With “Key pressed in the phone menu” I can't pick a conversation action

That's on purpose: when the key is pressed the call is still running, and there is usually no conversation yet. Use contact actions (e.g. WhatsApp template, task, notification) — or the trigger “Call ended” if you want to do something in the conversation.

My flow shows “Paused”

The last 10 runs failed in a row. Check the reason in the log (e.g. template not approved, channel disconnected), fix it and switch the flow back on.

My welcome message now goes to many more contacts

Since version 1.1.40, “Contact created” fires for every new contact, including those from WhatsApp, email, SMS, calls and bookings. Add an If (e.g. language or company) or switch the flow off.

What's next