Adaptive 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 here 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.

conditions: IGroupCondition[] required - Contains the rules or conditions of an Adaptive Group.
See below for details on the subfields:
type: stringrequired - 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 IDsJoin 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: stringrequired - Defines the field that will be checked when the Adaptive Group rules are evaluated. The preset attributes are as follows:
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 enumrequired - This comparison expression determines how the attribute is compared to the chosen value. This must be one of the followingenumvalues: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 thetypefield.
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.
Example settings configuration for an Adaptive Group
settings configuration for an Adaptive GroupLet'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:

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?