---
title: Event Based Rule
slug: contact-center/event-based-rule
docTags: EGJSTAYxLY880ksufdgEA,j_w2llPphHrAD3irT9Jio,3N6ObmPi0ryWSu19SAhDj
createdAt: 2025-09-25T17:25:25.767Z
---

# Overview:

Event-based rules are automated processes within the system that **execute automatically** upon detecting the occurrence of a specific event (e.g., ticket creation, status change, escalation). They allow Administrators to define conditions and subsequent actions for tickets in an automated, real-time manner.

## Key Benefits:

- **Real-time Automation:** Automatically handles routine tasks immediately upon a trigger event, without manual intervention.
- **Process Compliance:** Enforces consistent business rules (like auto-escalation or notification) across campaigns and processes.
- **Customizable Workflow:** Allows creation of complex workflows by combining a vast array of events, conditions, and sequential actions.

## Functionality:

The Event-based Rules engine works by evaluating a defined set of criteria against an event.

### 1. Events (The Trigger)

This is the moment the rule starts. Events cover the entire ticket lifecycle.

**Available Events:**

| Event                           | Description                                                                                                 | Configuration Notes                                                    |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| **New Ticket Created**          | Generated when a new ticket is created (via email, call, manual, or API).                                   |                                                                        |
| **New Lite Ticket Created**     | Generated whenever a new lite ticket is created.                                                            |                                                                        |
| **Ticket Updated**              | Generated whenever an update is detected (e.g., escalation marked, priority changed, new message received). | Provides an adjacent drop-down for sub-conditions.                     |
| **Ticket Transferred To Agent** | Generated when a ticket is transferred (Supervisor ↔ Agent or Agent ↔ Agent).                               | Allows selection of the ticket **assignor** and **assignee**.          |
| **Ticket Auto-Assigned**        | Generated whenever a ticket is auto-assigned to an agent.                                                   |                                                                        |
| **Priority Changed**            | Generated whenever the priority of any ticket is changed to "Low", "Medium", or "High".                     | Allows selection of the **previous** and **current** priority value.   |
| **Private Note Added**          | Generated whenever a private note is added to the ticket.                                                   |                                                                        |
| **Public Note Added**           | Generated whenever a public note is added to the ticket.                                                    |                                                                        |
| **Message Sent**                | Generated whenever a message is sent out as a reply from the ticket.                                        |                                                                        |
| **Ticket Status Changed**       | Generated whenever the status of a ticket is changed.                                                       | Allows selection of the **previous** and **current** ticket status.    |
| **Heat Value Changed**          | Generated whenever the Heat value is changed (greater than or less than a defined value).                   | Requires selecting a sub-condition and providing a user-defined value. |
| **Mail Sending Failed**         | Generated whenever mail sending fails (due to Exchange Server or internal mail service failure).            |                                                                        |
| **Custom Field Updated**        | Generated whenever a custom field is updated or changed.                                                    | Provides an adjacent drop-down to select the custom field.             |
| **Ticket Escalated**            | Generated whenever a ticket is escalated.                                                                   |                                                                        |
| **Ticket Deescalate**           | Generated whenever a ticket is de-escalated.                                                                |                                                                        |
| **Ticket Picked Manually**      | Generated whenever a ticket is manually picked.                                                             |                                                                        |
| **Resolve SLA Breached**        | Generated whenever the SLA for resolving a ticket is breached.                                              |                                                                        |
| **First Assign SLA Breached**   | Generated whenever the very first assigned SLA of a ticket is breached.                                     |                                                                        |
| **First Response SLA Breached** | Generated whenever the very first response SLA of a ticket is breached.                                     |                                                                        |
| **New Message Received**        | Generated whenever a new message is received.                                                               |                                                                        |
| **Ticket Reopened**             | Generated whenever a ticket is reopened.                                                                    |                                                                        |



### 2. Conditions

Conditions are logical gates that must be satisfied for the actions to execute.

| Condition            | Description                                                                              | Available Operators                                                                                              |
| -------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Media Profile**    | Based on the ID of the media profile.                                                    | is, is not                                                                                                       |
| **Ticket Status**    | Based on the current ticket status.                                                      | is, is not                                                                                                       |
| **Current Time**     | Based on the current system time.                                                        | is, is not, greater than, less than, Within                                                                      |
| **Queue**            | Based on the queue the ticket is in.                                                     | is, is not, greater than, less than, Within                                                                      |
| **Priority**         | Based on the ticket's priority value.                                                    | is, is not                                                                                                       |
| **Subject**          | Based on the ticket's subject line.                                                      | is, is not, contains, does not contain, ends with, starts with                                                   |
| **Custom Field**     | Based on the value of a system-level custom field.                                       | Selection based on field type. Multi-level custom fields support condition checking on partial level selections. |
| **Other Conditions** | Includes customer fields: timezone, twitter, facebook, email, and phone1 through phone5. | is, is not                                                                                                       |



**Multiple Conditions Logic:**

- **Match any of the following (OR logic):** The rule applies if one or more conditions are matched.
- **Match all of the following (AND logic):** The rule applies only when all conditions are matched.

### 3. Actions (The Outcome)

These are the tasks performed on tickets that satisfy both the event and the conditions. Actions are executed in the sequential order they are listed.

| Action                                          | Description                                                                    | Key Configuration Details                                                                                                                          |
| ----------------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Escalate Ticket**                             | Sets the escalation status of the ticket.                                      | Select true or false.                                                                                                                              |
| **Set Custom Field**                            | Sets a specific value for a selected custom field.                             | Select custom field and provide the new value.                                                                                                     |
| **Transfer Ticket to Queue**                    | Transfers the ticket to a new queue and assigns it to an agent.                | Select **Queue** and an **Assign to User** option: **Available Agent**, **Agent Available to Take Tickets**, or **Any Agent**.                     |
| **Send Email To** (Various)                     | Sends an email to a specific recipient, Supervisors, Agents, or the Requester. | Select **Media Profile**, provide **Subject**, and write the **message body**.                                                                     |
| **Send Feedback To Requester**                  | Sends a feedback request email.                                                | Must contain the placeholder \{\{feedback\:form}}. The new FeedbackId placeholder can be used to send a feedback link instead of an embedded form. |
| **Assign Ticket to Agent**                      | Assigns the ticket to a specific agent.                                        | Select the target **Agent**.                                                                                                                       |
| **Set Status**                                  | Changes the status of the ticket.                                              | Select the new **Status** value.                                                                                                                   |
| **Priority**                                    | Increases or decreases the priority of the ticket.                             | Select **Increment** or **Decrement**.                                                                                                             |
| **Set Priority**                                | Sets a fixed priority value for the ticket.                                    | Select **Low**, **Medium**, or **High**.                                                                                                           |
| **HTTP Action**                                 | Triggers an external API (Webhook).                                            | Refer to dedicated HTTP Action documentation.                                                                                                      |
| **Set Custom Field Using HTTP Action Response** | Updates a custom field using JSON data from a preceding HTTP Action response.  | Requires specific JavaScript in the preceding HTTP Action's Post-Request Script tab: variables.put("$thridPartyCustomFieldData",responseString);   |





## Prerequisites:

- **Administrator Access:** Required to access and configure the Rule Engine.
- **Defined Processes and Campaigns:** Rules must be scoped to an existing Process and Campaign.
- **Media Profiles (for Email Actions):** Must be configured prior to using any email actions.

## Usage Instructions:

### A. Create a New Event-based Rule

1. Click **"New Rule"**.
2. Provide a **Name** and **Description**.
3. Select the relevant **Process** and **Campaign**.
4. In **Events**, select the trigger (e.g., **Ticket Status Changed**).
5. In **Conditions**, click the **add icon** (+) to configure one or more conditions.
6. Select the **Multiple Conditions Logic** (**Match any** or **Match all**).
7. In **Actions**, click the **add icon** (+) to configure one or more actions.
8. (Optional) Check **"Stop Execution after this rule"** to prevent subsequent rules from running.
9. Click **"Save"**.

### B. Edit or Delete a Rule

- **Edit:** Select a rule, click the **Edit icon** (pen), make changes, and click **"Save"**.
- **Delete:** Select a rule, click the **Delete icon** (trash can), and confirm with **"Yes"**.
  - *Note: A deleted rule cannot be retrieved.*

### C. Enable/Disable Rule

- **Disable:** Click the green **toggle switch** on the rule and confirm.
- **Enable:** Click the gray **toggle switch** on a disabled rule and confirm. (Check **"View Disabled Rules"** to view inactive rules).

## Related Features/Modules:

| Feature/Module                | Description                                                                                                                       |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Timer-based Rules**         | Rules that execute at scheduled time intervals rather than being triggered by an event.                                           |
| **Routing Rules**             | Used for initial ticket distribution and assignment upon creation.                                                                |
| **Custom Fields**             | Allows the creation of user-defined data fields that can be used as both conditions and targets for actions in Event-based Rules. |
| **HTTP Action Configuration** | The separate configuration area providing deeper details on external API integration for the HTTP Action.                         |



::Image[]{src="https://app.archbee.com/api/optimize/SK2urIgCC2ml99YyqWOSl/WmJSHh-1Qka4grhrPRTZq_image.png" size="62" width="2932" height="1582" position="center" showCaption="false"}

