21.5 Integration Service Event Triggers: Connected and Disconnected
Key Takeaways
An event trigger combines a connector, a connection, an event, and optional event filters.
Connectors detect events by polling, every five minutes by default, with the interval set per connection for all its triggers.
Connected triggers are created in Studio and appear as package requirements; disconnected triggers are created in Orchestrator.
Disconnected triggers pass UiPathEventConnector, UiPathEvent, UiPathEventObjectType, and UiPathEventObjectId as String arguments.
Managing event triggers needs Connections View and Resource overwrites permissions.
21.5 Integration Service Event Triggers: Connected and Disconnected
Core Concept: Event triggers start automations when something happens in another application, such as an email arriving in Outlook or a record being created in Salesforce. Integration Service detects these events, and Orchestrator starts the job. The exam description lists event triggers under API automation.
Anatomy of an Event Trigger
| Part | Example |
|---|---|
| Connector | Microsoft Outlook 365 |
| Connection | john.smith@outlook.com |
| Trigger (event) | Email received |
| Event filters | Only the "Paychecks" folder of that mailbox |
The available filter values depend on the selected connection.
How Events Are Detected: Polling
Connectors support events through a polling mechanism:
- Integration Service queries the application's API at an interval, every five minutes by default.
- The polling interval is set at the connection level, so changing it affects all triggers on that connection.
- Expect a delay of up to the polling interval between the event and the job start.
In Integration Service, the only trigger setting you change is this polling interval; the triggers themselves are managed in Orchestrator.
Connected Versus Disconnected Triggers
| Connected trigger | Disconnected trigger | |
|---|---|---|
| Created | At design time in Studio, as the trigger activity that starts the project | In Orchestrator, outside of any process |
| At deployment | Appears as a package requirement when adding the process | Attached to an existing process in Orchestrator |
| Event data in the workflow | The full event object is available, because the workflow was designed with the trigger | Only identifiers passed as arguments |
Arguments for disconnected triggers
A process started by a disconnected trigger receives four String arguments:
| Argument | Contains |
|---|---|
UiPathEventConnector | Which connector started the automation |
UiPathEvent | The type of event |
UiPathEventObjectType | The record type involved |
UiPathEventObjectId | The unique ID of the record |
Declare these as In arguments of type String. Use UiPathEventObjectId with a Get Record or HTTP activity to fetch the full record.
Permissions
Creating or editing an event trigger in Orchestrator needs:
- Connections View, and assignment to the folder where the connection resides.
- Resource overwrites permissions (View, Edit, Create, Delete) to use or configure a connection other than the one originally in the workflow, including per-user configurations.
Designing Triggered Processes
- Filter early. Use the trigger's event filters so jobs start only for relevant events.
- Keep the process idempotent. Polling and retries can mean a record is seen more than once; check whether the work was already done.
- Fetch fresh data. Especially for disconnected triggers, read the record with its ID at the start of the job.
- Log the event identifiers for troubleshooting.
- Check the attempts history. Integration Service keeps an attempts history for each trigger, which shows whether an event was detected even when no job ran.
Event Triggers Versus Other Triggers
| Trigger | Starts a job when | Latency |
|---|---|---|
| Event trigger | Integration Service detects an application event | Up to the polling interval |
| Queue trigger | New items arrive in an Orchestrator queue | Shortly after items are added |
| Time trigger | A schedule is due | By schedule |
| API trigger | An external system calls the trigger's URL | Immediate |
Use an API trigger when the other system can call UiPath directly and you need an immediate start; use an event trigger when you only need to react to changes UiPath can detect through the connector.
Key Terms
- Polling interval: how often Integration Service checks the application for new events; set per connection.
- Event filter: conditions on the event, such as a mailbox folder or record type, that decide whether a job starts.
- Package requirement: a connection or trigger a process needs, shown when the process is added in Orchestrator.
- Resource overwrite: a replacement connection chosen for a process or user instead of the one used at design time.
Troubleshooting Event Triggers
- The job starts minutes after the event: this is expected with polling; lower the connection's polling interval if the delay matters, remembering that it applies to every trigger on that connection.
- No job started: check the trigger's attempts history, the event filters, and whether the connection is healthy or needs to be reconnected.
- A disconnected trigger's process fails immediately: confirm the process declares the four
UiPathEvent...arguments as String In arguments with the exact names. - Wrong mailbox or account in production: check the connection selected through Package Requirements or the resource overwrite for the process.
Worked Example: Supplier Invoices by Email
- A connected trigger "Email received" on the AP team's Outlook connection, filtered to the Invoices folder and emails with attachments, starts the process.
- The process saves the PDF attachments to a storage bucket and adds a queue item per invoice.
- In test and production, the process uses different mailboxes; the connection is chosen per environment through Package Requirements.
- The team lowers the connection's polling interval because invoices should be picked up faster, knowing this affects every trigger on that connection.
An administrator changes the polling interval of a connection from five minutes to one minute. What is affected?
Only the trigger being edited.
Nothing; the polling interval is fixed.
All triggers associated with that connection, because the interval is set at connection level.
All connections in the tenant.
A process is started by a disconnected event trigger. How does it get the full record that caused the event?
The entire record is always passed as a DataTable argument.
It reads the String argument UiPathEventObjectId and fetches the record with a Get Record or HTTP activity.
It queries Orchestrator logs.
It cannot access the record.
What is a connected event trigger?
A trigger created at design time in Studio as the start of the project, which appears as a package requirement when the process is deployed.
A trigger that uses a webhook instead of polling.
Any trigger with an active connection.
A trigger created in Orchestrator for an existing process.
Sections you finish are checked off in the contents.