Event Sources
Manage connections that emit events for your automations
Event Sources provide a unified way to manage all connections that can trigger automations. Each event source represents a service — such as a mailbox, webhook endpoint, or ERP system — that emits events your automations can react to.
How Event Sources Work
- Connect a source — Add an event source (e.g., Microsoft 365 mailbox) from the Event Sources page
- Automatic event types — The system automatically links relevant event types to the source (e.g.,
ms365.email.received,ms365.email.sent) - Use in automations — When creating an automation with an event trigger, select the event source and specific event type
- Real-time processing — When events arrive from the source, matching automations are triggered immediately
Supported Source Types
| Source Type | Provider | Events |
|---|---|---|
| Microsoft 365 Mailbox | ms365_mail |
ms365.email.received, ms365.email.sent |
| Gmail Mailbox | gmail_mail |
gmail.email.received, gmail.email.sent |
More source types (webhooks, ERP.net) will be available in future updates.
Managing Event Sources
Navigate to Event Sources from the main menu to:
- View all connected event sources and their status
- Add new event sources by connecting a mailbox
- Delete event sources — this also disconnects the underlying connection (e.g., removes the mail connection)
Important: Deleting an event source removes the entire connection, including the underlying mailbox. Any automations referencing this source will stop receiving events.
Event Sources in Automations
When configuring an automation with an event trigger, the system presents a two-level selection:
- Select Event Source — Choose from your connected sources (e.g., "operator@erp.net" via Microsoft 365)
- Select Event — Pick the specific event type from that source (e.g.,
ms365.email.received)
This replaces the previous flat event type dropdown and ensures automations are tied to specific, active connections.
Event Type Format
Event types use dot notation: source.entity.action
| Event Type | Source | Description |
|---|---|---|
ms365.email.received |
Microsoft 365 | New email received |
ms365.email.sent |
Microsoft 365 | Email sent |
gmail.email.received |
Gmail | New email received |
gmail.email.sent |
Gmail | Email sent |
zendesk.ticket.created |
Zendesk | New support ticket created |
zendesk.ticket.updated |
Zendesk | Support ticket updated |
erpnet.entity.created |
ERP.net | New entity created in ERP |
erpnet.entity.updated |
ERP.net | Entity updated in ERP |
manual.trigger |
System | Manual trigger from UI |
Event Filtering
Use the visual Filter Builder in the automation editor's Filter tab to define conditions that determine which events trigger your automation. Filters support nested AND/OR groups for complex logic.
Filter Conditions
Each condition consists of three parts:
- Field — Select from a dropdown populated by the event type's schema (e.g.,
from,subject,has_attachments) - Operator — The comparison to perform
- Value — The value to compare against (type-aware: date picker for date-time fields, true/false toggle for booleans, text input for strings)
Available Operators
| Operator | Description | Example |
|---|---|---|
| equals | Exact match | from equals support@client.com |
| not equals | Does not match | from not equals noreply@system.com |
| contains | Substring match (case-insensitive) | subject contains urgent |
| does not contain | Inverse substring | subject does not contain auto-reply |
| starts with | Prefix match (case-insensitive) | subject starts with [ALERT] |
| does not start with | Inverse prefix | subject does not start with Re: |
| ends with | Suffix match (case-insensitive) | from ends with @partner.com |
| does not end with | Inverse suffix | from does not end with @internal.com |
| matches regex | Case-sensitive regular expression | from matches regex @(sales|support)\.acme\.com$ |
| does not match regex | Inverse regex | from does not match regex @(noreply|system)\. |
| exists | Field is present in the payload | attachments exists |
Grouping with AND / OR
Conditions can be grouped using AND (all must match) or OR (any must match). Click the logic button (AND/OR) to toggle between modes. Add nested groups for complex expressions.
Example: Only process external customer emails
AND
├─ from — does not end with — @internal.com
├─ from — does not match regex — @(noreply|system|mailer-daemon)\.
└─ OR
├─ subject — contains — order
└─ subject — contains — invoice
This filter triggers only when an email is from outside your domain AND not from an automated sender, AND the subject mentions either "order" or "invoice".
Event Templating
You can reference event values in your automation's instruction using template syntax:
Analyze the email from {{event.from}} with subject "{{event.subject}}"
and provide a summary.
You can also insert the entire event payload as JSON using {{event}}:
Process the following event and take appropriate action:
{{event}}
Tip: Use the "Insert Event Field" dropdown in the Automation Editor's Instructions tab to quickly add individual fields or the whole event payload to your instruction.
Event Deduplication
Events are deduplicated by event_type + user_id + dedupe_key. The dedupe_key is typically the external ID from the source system (e.g., email message ID).
Event Retention
Events are automatically deleted 7 days after they are received.