> For the complete documentation index, see [llms.txt](https://docs.cekat.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cekat.ai/en/chat/flow.md).

# Flow

**Conversation Mode Flow** lets you automate how conversations unfold, giving you more control over how you handle customers. You can build complex conversation flows based on the conditions you set.

### Setting up a flow

1. Go to Settings
   * Open the **Setting** menu, then choose **Flow**.

     <figure><img src="https://3693109682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZNZlvyOVkZXyd3pz2Cql%2Fuploads%2FzmQMWpHOJDbjOYgpCwM8%2FScreenshot%202025-04-29%20at%203.01.19%E2%80%AFPM.png?alt=media&#x26;token=2f0fb51d-b565-4cd4-9e41-1bee6e1f7584" alt=""><figcaption></figcaption></figure>
2. Click Create Flow
   * In the **Flow** tab, click **Create Flow** to build a new flow.
3. The Start Point
   * You'll see a single card called **Start Point**, where your conversation flow begins.

     <figure><img src="https://3693109682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZNZlvyOVkZXyd3pz2Cql%2Fuploads%2FqmWBXk5nJbWc3azgDonR%2FScreenshot%202025-04-29%20at%203.03.02%E2%80%AFPM.png?alt=media&#x26;token=ce10ea85-8397-4506-af23-872cf95a01d1" alt="" width="375"><figcaption></figcaption></figure>
4. Add conditions
   * Click the **plus (+)** button to add a new condition.
   * You can add as many conditions as you need.
   * Available conditions include:
     * **First Message Text**: checks whether the first message contains certain text. Enter the phrases you're looking for.
       * **Use `|` to separate several phrases.**\
         For example: `hello | how are you | what products`
     * **First Message Time**: checks whether the first message was sent within a certain time range. Enter the times you want.
5. Flow cards
   * Once you choose a condition, the system automatically creates two cards:
     * A **condition card** (for example, First Message Text)
     * An **Else card** (for when the condition isn't met)
6. Choose what happens next
   * After creating a condition, you can choose the next step:
     * **Action**:
       * **Label Conversation**: add a label to the conversation.
       * **Add Collaborator**: add a collaborator to the conversation.
       * **Send Message**: send an automatic message.
       * **Jump to Action**: jump to another action in the flow.
     * **Condition**: add another condition to create a branch.
       * ⚠️ *Note that conditions are prioritized from left to right, based on their position in the flow.*
       * So if more than one condition is met, **only the leftmost one** runs first. Make sure your conditions are positioned to match the logic you want.
     * **Message with Button**: show a message with button options in WhatsApp.
     * **End Flow > Assign to AI Agent**: end the flow by assigning the conversation to an AI Agent. You can add more than one human agent too.
     * **End Flow > Assign to Human Agent**: end the flow by assigning the conversation to a human agent (you can choose more than one).
       * **Extra features:**
         * **Assign by Team**
           * Choose a **Team** you've already created.
           * When you choose a team, every human agent in it is added automatically, so you don't have to pick them one by one.
         * **Adding a name or phone number to a message**
           * To show a contact's name or phone number in an automatic message (such as *Send Message* or *Message with Buttons*), add these variables to the message:

             <figure><img src="https://3693109682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZNZlvyOVkZXyd3pz2Cql%2Fuploads%2F3ai6OtLrbX2zGSnz2bZO%2FScreenshot%202025-07-15%20at%201.43.15%E2%80%AFPM.png?alt=media&#x26;token=5a0ef880-19ea-456d-b293-a1d544f08269" alt=""><figcaption></figcaption></figure>

             * `{{contact.display_name}}` → replaced automatically with the contact's name
             * `{{contact.phone_number}}` → replaced automatically with the contact's WhatsApp number\
               Example:
         * **Skip Last AI Agent Response**
           * When this is **turned on**, the AI Agent **won't reply to the user's last message** before the flow ends.
           * It's useful when you want to avoid an irrelevant automatic reply at the end of a flow.

             <figure><img src="https://3693109682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZNZlvyOVkZXyd3pz2Cql%2Fuploads%2F0MiopkO7Yv2GCmHIZUhz%2FScreenshot%202025-05-19%20at%205.36.21%E2%80%AFPM.png?alt=media&#x26;token=80cb9a89-580c-449b-94bb-c319d884ccf3" alt="" width="256"><figcaption></figcaption></figure>
7. Save the flow
   * When your flow is ready, click **Save**.
8. Turn on the flow for an inbox
   * Go to the **Inbox** page and choose the inbox you want to use the flow on.
   * At the top of the inbox page, click **Flow**.
   * In the **Flow** tab, under **Select Flow**, choose the flow you created, then click Update.
   * The flow is now active for that inbox.

     <figure><img src="https://3693109682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZNZlvyOVkZXyd3pz2Cql%2Fuploads%2FbZtHS3LhEUKEmb6GljZP%2FScreenshot%202025-04-29%20at%203.09.00%E2%80%AFPM.png?alt=media&#x26;token=00b7acd9-4edd-4883-909e-f8fa8e6fa162" alt=""><figcaption></figcaption></figure>

### What happens when a conversation is resolved

When a **conversation is resolved** and the customer messages again, the **flow starts over from the beginning** (the Start Point).\
This means an old conversation is treated as a new session and still follows the flow logic you've set up.

#### Still not sure about something? Watch the video tutorial below to see each step in action.

{% embed url="<https://youtu.be/Srv5bKyYhEE>" %}
