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

# Workflow Triggers

> Define the events that start your automation.

Triggers are the "when" of your automation. They listen for specific events in Custral and start the workflow execution.

## Event-Driven Triggers

### Data Changes

* **Record Created**: Fires immediately when a new record is added to a specific Object.
* **Property Updated**: Fires when a specific property on a record is updated. You can filter it to only fire when the property is set to a specific value.

### Communication

* **Email Received**: Starts a workflow when an inbound email arrives on a connected [Channel](/surfaces/entities). Optionally filter by sender or channel.
* **Email Replied**: Fires when a reply is received on a connected channel.
* **Conversation Outcome**: Fires when a conversation reaches a specific outcome (disposition). Optionally filter by direction (Inbound / Outbound) and the agent who handled it.
* **Call Disposition**: Fires when a phone call completes with one of the selected dispositions. Optionally filter by channel, direction, and agent.

### Widget

* **Widget Chat Started**: Fires when a website visitor starts a new chat via the widget.
* **Widget Visitor Identified**: Fires when a widget visitor provides their contact information.
* **Widget Keyword Match**: Fires when a widget visitor's message matches configured keywords.

<Note>
  Two more triggers exist for their respective surfaces and are not used in standalone workflows: **Enrollment** (the start of a [Sequence](/automation/sequences/overview)) and **Query Target** (the record/conversation selector for a [Job](/automation/jobs/overview)).
</Note>

## Trigger Context

When a workflow is triggered, Custral passes along the data about the event. Subsequent [Actions](/automation/workflows/actions) and edge conditions can reference that data with double curly braces. Wrap a value in `{{ }}` to insert it from the trigger, for example, the name of the record that changed or the email address of the sender. The action and condition editors show the values available from your chosen trigger.

<Info>You can only have one trigger per workflow. To handle multiple starting conditions, create separate workflows that point to the same logic or use [Sequences](/automation/sequences/overview).</Info>


## Related topics

- [Action Buttons](/surfaces/views/action-buttons.md)
- [Fields](/data/records/fields.md)
- [Assemble a support inbox](/recipes/support-inbox.md)
- [Status](/data/properties/select/status.md)
- [widget.keyword.matched](/dev/webhooks/events/widget-keyword-matched.md)
