> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omneo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Reactions

> Omneo's automation engine, event-driven triggers and scheduled automations.

**Reactions** are the top-level term for Omneo's automation system. They allow Omneo to execute pre-configured logic in response to events or on a schedule, without requiring manual intervention.

## Two types of reactions

### Triggers (event-driven reactions)

Triggers fire in response to a specific Omneo event. When the event occurs, the trigger evaluates its conditions and executes its actions.

**Example:** When a transaction is created and the profile's rolling 12-month spend exceeds $1,000, issue a $25 reward.

### Automations (scheduled reactions)

Automations run on a schedule, daily, weekly, on a specific date, or on a recurring interval. They are typically used for time-based logic.

**Example:** Every day, find all profiles whose rewards expire within 14 days and send a reminder via the comms platform Target.

## Reaction structure

Every reaction consists of:

1. **Trigger event**: the event that initiates the reaction (e.g., `transaction.created`, `tier.achieved`, `profile.updated`)
2. **Filters**: conditions that must be met for the reaction to proceed (JSON Logic conditions evaluated against the event context)
3. **Actions**: what happens when the conditions are met (sorted by `sort_order`)

### Common action types

| Action                            | Description                                                                                                                                                                             |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `filter`                          | Conditional gate, stop processing if condition is false                                                                                                                                 |
| `reward.create`                   | Issue a reward to the profile                                                                                                                                                           |
| `benefit.create`                  | Issue a benefit to the profile                                                                                                                                                          |
| `point.create`                    | Award points to the profile                                                                                                                                                             |
| `tier.assign`                     | Manually assign a tier                                                                                                                                                                  |
| `achievement.add`                 | Increment an achievement count                                                                                                                                                          |
| `target.send`                     | Send a formatted payload to a configured Target                                                                                                                                         |
| `update.highest.status.attribute` | Read the profile's highest status in a status group and write that status handle to a custom attribute. Only updates when the resolved status is higher than the currently stored value |

## Event contexts

The data available for use in filters and action arguments comes from the **Event Context**: the payload Omneo returns for each event type. Contexts include profile data, aggregations, tier information, and the specific data for the triggering object (e.g., the transaction, the tier definition).

See [Event Contexts](/dev-guides/webhooks/event-contexts) for the full context reference.

## Where reactions are configured

Reactions are configured in CX Manager under Settings → Reactions (or via the Triggers/Automations API). New reactions can also be created via the API, see [Creating a Reaction](/dev-guides/reactions/example-reaction) for a walkthrough.

<Note>
  The Omneo API uses the term "Triggers" for event-driven reactions and "Automations" for scheduled reactions. The broader term "Reactions" encompasses both.
</Note>
