Group types
| Type | How members are determined |
|---|---|
static | Members are added and removed explicitly via the API or Omneo CX Manager |
dynamic | Members are evaluated automatically against a set of JSONLogic rules on a refresh schedule |
favourite | A profile-owned instance of a definition whose membership is resolved from a connected data source |
Definitions and instances
Group Definitions follow the Definition and Instance pattern. A Group Definition holds the configuration, including type, rules, and refresh schedule. A Group is an instance of an ownable (favourite) definition that belongs to a specific profile. For static and dynamic groups, the Definition itself is the primary object. Profile membership is read directly from the definition. For favourite groups, each profile that activates the definition gets their own Group instance, and that instance’s members are resolved from the definition’ssource_type.
Static groups
A static group is a manually managed list. Operators or integrations add profiles using the Group Profile endpoints under/v3/groups/definitions/{group}/profiles and remove them via the remove endpoint. Membership can be set to expire after a configurable period using the period and period_type fields on the definition.
Dynamic groups
A dynamic group evaluates membership automatically. The definition holds one or more Group Rules, each backed by a Group Rule Definition that contains a JSONLogic expression evaluated against a profile’s data. Rules can be inclusion or exclusion type. Omneo evaluates dynamic groups on a configurable refresh schedule controlled by therefresh_period and refresh_period_type fields on the definition. Each evaluation run produces a Group Snapshot, which records per-profile results. Use the Group Explain endpoint to understand why a specific profile is included or excluded from a dynamic group.
Group Rule Definitions can be reused across multiple Group Definitions via the /v3/groups/rule-definitions endpoints.
Owned (favourite) groups
A favourite group definition is ownable by a profile. When a profile activates a favourite definition, Omneo creates a Group instance linked to that profile. Thesource_type on the definition determines how members are resolved (for example, profiles connected to the owner through a specific connection type).
Profile-owned group instances are managed through the profile-scoped endpoints at /v3/profiles/{profile}/groups. Members within a profile-owned group are managed at /v3/profiles/{profile}/groups/{group}/profiles.
Key fields on a Group Definition
| Field | Description |
|---|---|
handle | Unique identifier for the definition |
type | static, dynamic, or favourite |
source_type | For favourite definitions, the connection type used to resolve members |
query / query_type / arguments | For dynamic definitions, the query configuration used in rule evaluation |
period / period_type | How long static memberships last before expiring |
refresh_period / refresh_period_type | How often dynamic groups are re-evaluated |
refresh_status | Current evaluation state of a dynamic group |
is_published / is_active / is_archived | Visibility and lifecycle flags |
API reference
| Resource | Purpose |
|---|---|
| Group Definition | Create, read, update, and delete Group Definitions |
| Group Profile | Manage members of static Group Definitions |
| Group Rule | Manage rules on dynamic Group Definitions |
| Group Rule Definition | Manage reusable rule templates |
| Group Snapshot | Read dynamic group evaluation history |
| Group Explain | Debug dynamic group membership for a profile |
| Profile Group | Manage profile-owned group instances |
| Group Member | Manage members within profile-owned group instances |