# How to Create a Conversation Flow and Choose the Right Trigger

Creating a conversation flow in Bird allows you to automate customer interactions across multiple channels like WhatsApp, SMS, and more. This guide walks you through how to create a flow and select the correct trigger for your use case.

***

### **Step 1: Navigate to Workflows**

You can access workflows in two ways:

* From the **left-hand navigation pane**, click on **Workflows → Flows**.

<figure><img src="https://3861485111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU9kiDiTGVD8kkbnKKyEn%2Fuploads%2Fwptd4dDuB4VYSTrWPcqu%2Fimage.png?alt=media&#x26;token=835853a5-231b-4315-a705-8540ae0de2ae" alt=""><figcaption></figcaption></figure>

* Or, from the **Settings → Workflows → Flows**.

<figure><img src="https://3861485111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU9kiDiTGVD8kkbnKKyEn%2Fuploads%2FwKgGzvjM76QuyDtcXVRM%2Fimage.png?alt=media&#x26;token=92ca01e6-0d8e-4a88-9e98-cbce629fe0e0" alt=""><figcaption></figcaption></figure>

* Or, from the **Settings → Open group 'AI and Automation' → Flows.**

<figure><img src="https://3861485111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU9kiDiTGVD8kkbnKKyEn%2Fuploads%2FoL83YThp1nrDtKcNOh2f%2Fimage.png?alt=media&#x26;token=22d168fc-eabe-4f95-8de1-16dc83b47542" alt=""><figcaption></figcaption></figure>

***

### **Step 2: Create a New Flow**

1. In the **Workflows** section, select **Flows**.
2. Click **Create New Flow**.

***

### **Step 3: Choose the Trigger**

A trigger is what starts your flow. After creating the flow:

1. Click on **Add Trigger**.
2. Select **Conversation** as the trigger type if you want to respond to incoming messages on a channel like WhatsApp.
3. Choose the **channel** (e.g., WhatsApp).

You will now see **sub-triggers** under the Conversation trigger. The two main sub-triggers are:

* **Conversation Created**
* **Message Created**

***

#### **What’s the difference between Conversation Created and Message Created?**

* **Conversation Created:**\
  A **conversation** is initiated the first time a customer sends a message to a channel (e.g., WhatsApp number you’ve connected). This creates a conversation in the Bird Inbox.
  * If this conversation is later closed (by an agent, bot, or flow) and the customer sends another message, it opens a **new conversation**.
  * Choosing **Conversation Created** means the flow will trigger only when a new conversation starts.
* **Message Created:**\
  This sub-trigger activates on **every message** a customer sends within an open conversation.
  * If you want the flow to run for **each incoming message**, select this option.\
    \
    **Note**: what this means is if there is an already existing Flow that's currently running for a contact with a message created trigger. The next message they send won't create a new run. This only triggers a flow for every incoming message from the contact where the contact is not already within an Flow run for that messaging channel.&#x20;

***

### **Step 4: Save and Test Your Trigger**

1. Once you’ve selected the sub-trigger, click **Save**.
2. Click **Update Test Data**. This will change the sample payload to a loading icon.
3. **Send a message** from the customer side to the selected channel (e.g., WhatsApp).
   * This must be done within **5 minutes** while the test data is loading.
4. After the message is sent, the **payload** will appear in the flow. Click **Save** again.

***

### **Step 5: Build and Test the Flow**

* Add steps to your flow as needed (e.g., Send Message, Wait for Reply, Conditional Branches).
* **Important:**
  * Each step needs **real test data** to function properly.
  * For example, if you add a **“Wait for Conversation Message”** step:
    * Click **Update Test Data** on that step.
    * Send another message from the customer side.
    * Once the payload appears, click **Save**.

This testing process ensures that your flow is built using real-world scenarios and works correctly when deployed.

***

#### **Best Practices**

* Always **test with actual messages** for both triggers and steps.
* Start with **Message Created** if you need to respond to every message.
* Use **Conversation Created** if you only want to act when a new conversation begins.
