> For the complete documentation index, see [llms.txt](https://docs.emaillabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.emaillabs.io/en/contacts/dynamic-segments-messageflow-segments.md).

# Dynamic Segments (MessageFlow Segments)

Dynamic segments are a tool that allows you to create contact groups based on dynamic rules. A full description of the service, its benefits, and how it works can be found in the [MessageFlow Segments](/en/add-ons-and-extensions/messageflow-segments.md) section.

### **Segments List Overview**

#### Search Tool

&#x20;The search bar at the top of the section allows you to quickly find a dynamic segment by its name.

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

#### List of dynamic segments&#x20;

The table below the search bar contains detailed information about the available segments:

* **Name:** The name of the dynamic segment.
* **Group description:** A short description of the segment's purpose or criteria.
* **Number of contacts:** The number of contacts assigned to the segment. Clicking the **Show** button displays the current list of contacts that meet the segment's criteria.
* **Action button (Edit):** Allows you to edit the dynamic segment's criteria.

<figure><img src="/files/3Yvp3rU9FUEH4IRHlJWi" alt=""><figcaption></figcaption></figure>

### **Creating a new dynamic segment**

1. Go to the **Contacts -> MessageFlow Segments** tab.
2. Click the **+ New dynamic segment** button in the top right corner.

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

4. Basic information:

* **Group name:** Enter a unique and easily identifiable name for your segment (required field).
* **Description:** Add an optional description to clarify the segment's purpose.

5. Condition Configuration:

* **Logic within a condition group:** Within a single group (e.g., "Segment 1"), decide whether contacts must meet **all** of the defined conditions or **any** of them.
* **Defining a single condition:**
  * **Data type:** Choose the data source (Custom fields, Visits, Events).
  * **Operator:** Select a logical operator (e.g., Equals, Contains, Earlier than).
  * **Value:** Enter the value for comparison.
* **Adding subsequent condition groups:** You can add more independent condition groups (e.g., "Segment 2") and connect them to the first group using **and** / **or** logic.

6. After configuring all conditions, click **Create**.

<figure><img src="/files/6t8niiPEHOZYe9iCJvnr" alt=""><figcaption></figcaption></figure>

### **Using dynamic segments**

* **For panel campaigns only:** Defined segments can be used as target groups only for campaigns (E-mail, SMS, Push) created and sent from the web app.
* **Generated at the time of sending:** The actual list of recipients is generated at the moment you initiate sending a campaign to a given segment.
* **No API access:** It is not possible to retrieve a list of contacts from a dynamic segment via the API to target campaigns from external systems.

### **Detailed segmentation operators**

Below is a list of available operators for each data type.

* **Custom fields (contact attributes):**
  * **Text:** `equals`, `is not equal to`, `starts with`, `ends with`, `contains`, `doesn't contain`, `has no value`.
  * **Number:** `=`, `>`, `<`, `between`, `has no value`.
  * **Date:** `equals`, `not equals`, `is not equal to`, `before`, `after`, `between`,`has no value`.
  * **Boolean (true/false):** `is true`, `is false`, `has no value`.
* **Website visits:** (Note: Please confirm detailed criteria with our support).
* **System Events:**
  * **Event occurred:** `PushClick`, `SmsClick`, `MailClick`, `MailOpen`.
  * **Event did not occur:** `PushClick`, `SmsClick`, `MailClick`, `MailOpen`.
* **Customer Events (API):** (Note: Available criteria depend on the events and attributes you send. Please confirm details with our support).
