> ## 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 Overview

Reactions are Omneo's automation engine. A reaction watches for something to happen (or a schedule to fire), evaluates conditions, and executes a chain of actions.

## Two types of reactions

| Type           | What fires it                                                | Example use                                             |
| -------------- | ------------------------------------------------------------ | ------------------------------------------------------- |
| **Trigger**    | An Omneo event (e.g. `transaction.created`, `tier.achieved`) | Award points when a transaction is recorded             |
| **Automation** | A scheduled time or interval                                 | Send a win-back benefit to lapsed customers each Monday |

Both are configured the same way, the difference is the `trigger` field value.

## Anatomy of a reaction

A reaction has:

* **trigger**: the event or schedule that fires the reaction
* **is\_active**: whether the reaction is enabled
* **actions**: an ordered array of steps to execute, each with a `sort_order`

Actions run in `sort_order` sequence. If an action fails its condition (e.g., a `filter` action returns false), the chain stops.

## Common action types

| Action                            | What it does                                                                                                                                                                                                                                                                                                                                             |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `filter`                          | Evaluates a JSON Logic condition, stops the chain if false                                                                                                                                                                                                                                                                                               |
| `points.award`                    | Awards points to the profile                                                                                                                                                                                                                                                                                                                             |
| `benefit.create`                  | Issues a benefit to the profile                                                                                                                                                                                                                                                                                                                          |
| `redeem.benefit`                  | Records a benefit redemption against a profile's benefit                                                                                                                                                                                                                                                                                                 |
| `reward.create`                   | Issues a reward to the profile                                                                                                                                                                                                                                                                                                                           |
| `tier.assign`                     | Assigns a tier to the profile                                                                                                                                                                                                                                                                                                                            |
| `achievement.progress`            | Increments an achievement                                                                                                                                                                                                                                                                                                                                |
| `target.send`                     | Sends a Twig-templated JSON payload to a configured target endpoint                                                                                                                                                                                                                                                                                      |
| `update.highest.status.attribute` | Resolves the profile's highest status in a named status group and writes that status handle to a custom attribute. Requires `group_handle`, `namespace`, `handle`, and `type`. Accepts an optional `direction` (`asc` or `desc`) to control sort order. The attribute is only updated when the resolved status is higher than the currently stored value |

## Common trigger events

| Event                 | Fires when                    |
| --------------------- | ----------------------------- |
| `transaction.created` | A transaction is recorded     |
| `profile.created`     | A new profile is created      |
| `profile.updated`     | A profile is updated          |
| `tier.achieved`       | A profile achieves a new tier |
| `benefit.claimed`     | A benefit is claimed          |
| `reward.redeemed`     | A reward is redeemed          |
| `points.awarded`      | Points are awarded            |
| `rate.created`        | A rate is created             |
| `rate.updated`        | A rate is updated             |

## Data available in reactions

All reaction filters and actions have access to the [Event Context](/dev-guides/webhooks/event-contexts) for the triggering event. The context includes the profile, the triggering object (transaction, benefit, etc.), and related data.

See [Reaction Filters](/dev-guides/reactions/filters) and [JSON Conditions](/dev-guides/reactions/json-conditions) for how to access and evaluate this data.

## Managing reactions

Reactions can be created and managed via the API (`/api/v3/triggers`) or via CX Manager under **Settings → Reactions**. A reaction must have `is_active: true` to fire.
