# 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="/files/QARHsO5oww5s5we7hxBH" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/wPeMp4fGNzR221IqvINU" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/994jih1HSjRkHnwIA2TK" 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/applications/automation/flows/how-to/how-to-create-a-conversation-flow-and-choose-the-right-trigger.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
