WASync · Developers
Product

Chat Flows

How a Chat Flow starts, which CRM record it creates or binds to, who it assigns the record to, what happens when the customer goes quiet, and how the flow editor works.

A Chat Flow is a scripted WhatsApp conversation. It sends messages, asks questions and saves the answers, branches on them, fills in CRM fields, moves the record to a stage, assigns it to a colleague and hands the chat to a person. It runs on numbers connected through WASync, both QR connections and the official WhatsApp Business API ones.

Flows live in the WASync app in Bitrix24: choose Chat Flows in the left menu. The list shows each flow with its on/off switch; opening one opens the editor. This page describes how flows behave and what the controls do.

When a flow starts

The Start card of a flow says in plain sentences when it starts. The button Change when it starts opens the trigger panel, where How the flow starts has two choices:

ChoiceWhat starts the flow
Bitrix24 automation ruleA rule you add to a pipeline stage in Bitrix24. The lead or deal already exists; the flow does not create one.
Customer writes firstA WhatsApp message arrives on the number you choose under WhatsApp number.

For Customer writes first, Which first message narrows it:

  • Any message: any message that starts a conversation.
  • Keywords: only when the first message contains one of the words you list, separated by commas.
  • From a specific ad: only when the customer arrives from one of the Meta Click-to-WhatsApp ads you list, by ad id (from Ads Manager). For a campaign, list all of its ad ids. An empty list matches any ad.

A number can have several inbound flows. When more than one matches, the most specific wins: the flow for the customer's ad first, then keywords, then Any message. A flow bound to the number beats a workspace-wide one, and at the same level the older flow wins. A message from an unlisted ad, or from no ad, falls back to the keywords or Any message flow.

A few rules keep a flow from starting when it should not:

  • A reply to your team is not a new conversation. If a colleague wrote to the customer in the last 72 hours, from the CRM widget, WASync Chat, the Open Channel or the business phone, the customer's answer does not start the flow. Messages sent by flows, automations and robots do not count. The option Don't start when we wrote first turns this off or sets the window to between 1 and 168 hours.
  • An Any message flow waits for a new conversation. It does not start while another flow on that conversation ended inside the same window. A flow that was completed, handed to a person or cancelled counts; one closed for inactivity does not. Flows started by an ad or by keywords are explicit intent and still start.
  • A message delivered twice is ignored. WhatsApp sometimes delivers the same message again, for example after a session re-sync. The copy never starts a flow or makes a running flow move on.

The Start card also says whether the flow runs Once per customer or Can run again for the same customer, and whether it Stops when a colleague replies.

Only customers who never wrote to you before

On a Customer writes first flow, the switch Only customers who never wrote to you before limits the flow to brand-new numbers. With it on, the flow skips any phone number that has ever exchanged a message with any of your WhatsApp numbers in WASync, on this number or another, in either direction. An existing customer who writes again gets no greeting and no new record; the message simply reaches your team.

The switch is off by default. Off, the flow starts for anyone when no other rule holds it back, and the Start card reads Any message that starts a conversation.

The audience switch in the trigger panel.

Which record a flow creates or binds to

Under When it starts, a Customer writes first flow is attached to a lead, a deal or a Smart Process item (a deal flow also picks the pipeline and stage). The flow finds the contact by phone number. It never creates a duplicate of a contact you already have.

Flow typeWhat happens at the first message
LeadBinds to the contact's open deal, else to the contact's open lead, else creates a contact (if needed) and a lead.
DealBinds to the contact's open deal in the chosen pipeline, else creates a contact (if needed) and a deal.

So a customer who is already being worked never gets a second lead from a flow. The deal is checked first.

What a lead flow does with the record when it starts. The first match wins.

Two settings from WASync Chat → Chat rules apply to the records a flow creates:

  • Who is responsible. Bitrix24 puts a record without a responsible on the user who installed the app. To avoid that, a contact, lead or deal created by a flow takes its responsible from the rule New chats from unknown numbers (a fixed person or round-robin). With that rule Off, the flow leaves Bitrix24's default.
  • Re-contact window after a closed lead. A flow that creates a lead uses the same window as the rule. A customer who writes back inside the window lands on the lost lead, not on a second one. See Leads from WhatsApp chats.

The CRM source of the record

For lead and deal flows, the Source selector under When it starts lists your CRM sources. The source you pick is written on the contact, lead or deal the flow creates. You can, for example, leave a placeholder such as "not selected" for your team to fill in later, or stamp a campaign source of its own.

The default, Automatic — the WhatsApp line's source, gives the record the source of the WhatsApp Open Channel it came through. A record the flow reuses instead of creating keeps its own source; the flow never rewrites it.

The Source selector on the Start card. Automatic keeps the WhatsApp line's source.

Assign to a person or rotate within a group

The Assign to a colleague step makes someone the responsible of the lead or deal, then the flow continues to the next step. Who gets the record has two modes:

ModeWhat happens
One personThe record goes to the person you choose by name.
Rotate within a groupYou tick up to 50 employees. Each new conversation that reaches the step goes to the next person in the list.

Every Assign step keeps its own rotation, and saving the flow again does not restart it. Employees deactivated in Bitrix24 are skipped. If nobody in the group is active, the record keeps its current responsible and a note on the timeline says why. A customer who passes the same step twice in one conversation stays with the same person. A test run shows who is next without using up a real turn.

Notify this person in Bitrix24 sends the chosen person a Bitrix24 notification.

HTTP request step

The HTTP request step asks an external system over HTTPS and uses the answer in the next steps: look up an order, check a balance, fetch a delivery date. The step has a success line and an error line. The request is made under a fixed safety policy, not from your browser.

Method, headers, response mapping and limits are covered in HTTP request step in Chat Flows.

Inactivity reminders and closing

When a question waits for an answer the customer never gives, the flow can remind them and then close. Two places set this:

  • Flow settings → If no reply holds the default for the whole flow. Switch on Remind, then close questions that get no reply. It applies to every question without its own setting.
  • Each question has its own If no reply section: Use the flow default, Own setting for this question, or Off for this question.

An own setting has three parts:

SettingMeaning
Wait without a replyMinutes before the reminder.
Then send this reminderThe reminder text. Leave it empty to close right after the wait, with no reminder.
Still no reply? Close the run (inactivity) after anotherFurther minutes before the run closes.

Times are whole minutes, from 1 to 1,440. A question with no default and no setting of its own simply waits, for up to 24 hours, and then the run is cancelled.

When a run closes for inactivity, a comment is added to the bound lead or deal. A run closed this way does not block the customer. If they write again later, the flow starts over as a new conversation. Every other way of ending a flow still counts as "already done" for flows set to run once per customer.

The editor

The editor shows the flow as cards joined by lines, with a side panel for the selected step.

  • Start step. There is exactly one, and it cannot be deleted. It describes in plain sentences when the flow starts, for example Starts when a customer writes first to +…, with any message. Change when it starts opens the trigger panel.
  • Side panel. Clicking a step opens its settings beside the canvas, so the flow stays visible while you edit. There is no modal.
  • Pickers with names. People, stages, pipelines, sources and CRM fields are chosen by name from lists, never by typing an ID. A Branch takes conditions as Field, Condition, Value.
  • Step palette. The palette is grouped (Talk, Decide, Do in the CRM, Hand over, Finish) and searchable with Search for a step….
  • Top bar. An editable flow name, a live problems pill (N problems) that jumps to the step to fix, Undo and Redo, and Flow settings.

Insert a step on a connection line

Hover a line between two steps and a + appears next to the ×. It opens the same step picker as the + on a step and puts the new step in between, keeping the branch or answer option the line carried. The new step lands halfway along the line with its panel open.

Hover a line to show the plus. The new step goes between the two cards.

Find a step

The Find a step… box in the top bar searches every step by name, message text, question options and keywords, branch names, assignee and step type. Press Enter to jump to the next match and Shift+Enter to the previous one; the step is selected, centred and flashes for a moment. Ctrl+F (Cmd+F on a Mac) while on the canvas focuses the box, and Esc closes it.

Highlighted lines

When a step is selected, its incoming and outgoing lines turn green and come to the front while the other lines fade. A long connection is easy to follow on a large canvas.

On this page