filterAdaptive Groups

Learn how to configure Adaptive Groups with the Mobile Text Alerts API to create groups that auto-populate over time.

With Adaptive Groups, you can automatically segment subscribers based on predefined criteria. Once configured, these groups auto-populate with subscribers who meet the defined conditions, without manual intervention. This ongoing audience segmentation enables targeted messaging for smarter, data-driven campaigns.

This page explains how to create and configure Adaptive Groups using the Mobile Text Alerts API. Click herearrow-up-right for more details about using Adaptive Groups in the platform dashboard.

Manage Adaptive Groups with the API

Adaptive Groups use the same API endpoints as standard groups for all actions, but they use additional request fields for Adaptive Group settings.

Create an Adaptive Group

Adaptive Groups are created using the same POST /groups endpoint used for standard groups. A group will be stored as an Adaptive Group when the settings field is included in the request body.

settings object definition:

interface IGroupSettings {
match: 'AND' | 'OR';
conditions: IGroupCondition[];
}

match: 'AND' | 'OR' required - Determines which conditions (detailed below) must be met for a subscriber to be added to a group:

  • AND - A subscriber needs to meet all conditions.

  • OR - A subscriber needs to meet any condition.

In the platform dashboard, this is shown as "All conditions" (AND) and "Any condition" (OR) when creating or editing an Adaptive Group.

How the match field is selected in the platform dashboard

conditions: IGroupCondition[] required - Contains the rules or conditions of an Adaptive Group.

See below for details on the subfields:

  • type: string required - Identifies the data type of the attribute referenced in the rule. For preset attributes, the types are as follows:

    • First Name: "string"

    • Last Name: "string"

    • Phone Number: "number"

    • Email: "string"

    • Opt-In Source: "number" - Set of hardcoded values that map to IDs

    • Join Date: "date"

    • Clicked Link: "number" - The numeric ID corresponding to the desired short link.

    • Groups: "number" - The numeric ID corresponding to the desired group.

  • conditionAttribute: string required - Defines the field that will be checked when the Adaptive Group rules are evaluated. The preset attributes are as follows:

circle-info

You can use CUSTOM_FIELD to reference Custom Subscriber Attributes that have been created on your account. For the value, use the custom field ID to reference the specific field as follows: 'custom-<customFieldId>'. Call the GET /custom-fields endpoint to retrieve the customFieldId values for attributes on your account.

Note that the type of this field must match the type of the specific custom attribute.

  • conditionOperator: string enum required - This comparison expression determines how the attribute is compared to the chosen value. This must be one of the following enum values:

  • conditionValue: (string | number)[] required - This is the value that the subscriber attribute will be compared against. The type of this value must match the type listed in the type field.

circle-info

Optional Advanced Settings

The settings field can also contain optional fields conditionSubOperator and conditionSubValue. These fields add an additional layer of comparison and complexity. They are recommended only for advanced users.

chevron-rightList of Opt-In Source IDshashtag

Example settings configuration for an Adaptive Group

Let's create an Adaptive Group with two conditions. If a subscriber meets either condition, they will be added to the group.

If a subscriber matches any of these conditions, they will be added to the group, so match: "OR".

  • Join Date is between 06/01/2025 to 06/30/2025

    • The following shows how this would be mapped to fields:

      • "type": "date" - The Join Date field uses the type "date".

      • "conditionAttribute": "date" - The Attribute Name for Join Date is just "date".

      • "conditionOperator": "between" - The comparison being configured is between two dates.

      • "conditionValue": ["2025-06-01 04:00", "2025-06-30 04:00"] - The start and end range of the "between" comparison are provided as an array with two date strings.

  • Email ends with "@yourorg.com"

    • The following shows how this would be mapped to fields:

      • "type":"string" - The Email field uses the type "string".

      • "conditionAttribute":"email" - The Attribute Name for Email is "email".

      • "conditionOperator":"ends with" - Here we want to look for matching domains of the email address, so "ends with" is used.

      • "conditionValue":["@yourorg.com"] - The string value that the subscriber email will be compared against to see if it matches "ends with".

Below shows how this is displayed in the platform dashboard:

Example Adaptive Group conditions shown in the platform dashboard

Complete settings configuration for this example:

See Create Group to learn more about this endpoint.

Update an Adaptive Group

The settings field that contains the conditions for an Adaptive Group can be updated at any time by calling the PATCH /groups/{groupId} endpoint with the identifying {groupId} of the group to be updated.

List Adaptive Groups

By default, Adaptive Groups are not listed when calling the GET /groups endpoint. To include Adaptive Groups, add the optional query parameter filters[includeAdaptive].

Example query with Adaptive Groups included:

(Note: the [] brackets are escaped characters in the cURL request.)

Last updated

Was this helpful?