Overview
Every automation in Deel is built from three pieces:
| Piece | What it is |
|---|---|
| Trigger | The event that starts the workflow (for example, a new hire's first contract is created). |
| Conditions | Optional logic that narrows or branches the workflow (Filter, Branch, Delay). |
| Actions | What the workflow does once triggered (send an email, create a task, and so on). |
A workflow always has exactly one trigger and one or more actions. Conditions are optional.
Triggers
A trigger fires either once (the first time the condition is met) or daily (every day the condition stays true, for date- or status-based triggers). Choosing the right trigger matters most; most "my workflow didn't fire" issues trace back to the trigger.
Onboarding
First Contract Added: Fires when a worker's first contract is created.
Use it for: Welcome emails, onboarding task assignment, kicking off a learning journey.
Example: "When a worker's first contract is added, send them a welcome email and assign their Day 1 checklist."
Draft ID Created: Fires when a draft contract is created, before it's signed.
Use it for: Pre-signature reminders, prepping documents ahead of the start date.
Example: "When a draft contract is created, notify the hiring manager to review it."
Offboarding
Contract Terminated: Fires when a worker's contract status changes to terminated.
Use it for: Kicking off the exit process, notifying teams, starting access revocation.
Example: "When a contract is terminated, notify IT to begin access revocation."
Offboarding Status: Fires when the offboarding status changes to a specific stage (pending, in progress, completed).
Use it for: Stage-specific actions, giving more granular control than "Contract Terminated" alone.
Example: "When offboarding status changes to 'pending review,' send the exit package to the departing worker."
People data
Personal Information: Fires when fields like name, date of birth, phone, nationality, bank details, or emergency contact change.
Contract Information: Fires when currency, legal entity, or base compensation changes.
Employment Information: Fires when start date, job title, work email, work anniversary, seniority, or probation status changes.
Home Address: Fires when a worker's home address (country, state, city, street, zip) changes.
Work Location: Fires when a worker's work location country changes.
Custom Fields: Fires when any custom field you've configured for workers changes.
Use it for: Anything not covered by a built in trigger, such as clearance levels, internal tags, or org specific data.
Worker Relations: Fires when a worker relationship changes (manager assignment, buddy assignment, and so on).
Time off
Time Off Start Date and Time Off End Date: Fire relative to a time off request's start or end date (for example, "5 days before" or "on the day").
Time Off Status: Fires when a time off request's status changes (approved, denied, cancelled).
Time Off Taken in Current Period: Fires when a worker's accumulated time off reaches a threshold you set.
Time tracking
Worked Time Status: Fires when a worked time or shift status changes.
Deel Payroll
Payroll Ready for Review: Fires when a payroll run is ready for review and submission.
Incorrect G2N Data: Fires when a gross to net (G2N) submission contains unexpected data.
Engage
New Career Path Assigned and New Level Assigned: Fire when a career path or level changes for an employee.
Recruiting (ATS)
Feedback: Fires when interview feedback status changes (submitted, reviewed, and so on).
Approvals
Approval Request Status: Fires when an approval request changes status (pending, approved, rejected, escalated).
Documents
Document Status: Fires for workers whose assigned document is in a status you select (for example, signed or pending).
Announcements
Announcement: A one time or recurring message sent to a group of workers. You trigger this one manually. It isn't triggered by an event.
Conditions
Filter: Only lets the workflow continue if a condition is met (for example, worker is in a specific country). If the condition isn't met, the remaining actions are skipped.
Branch: Builds if/then/else paths within a single workflow. Different actions run depending on worker attributes.
Delay: Pauses the workflow for a set amount of time before the next action (for example, wait 7 days between onboarding emails). Delays can go up to 180 days.
Actions
Communication
- Send Email: Sends an email to configured recipients (worker, manager, custom list), with dynamic fields and optional attachments.
- Send Slack Message: Posts to a public or private channel, or sends a direct message.
- Send MS Teams Message: Posts to a Microsoft Teams channel or user.
Task and assignment
- Create Task: Creates and assigns a task with a title, due date, and description.
- Assign HR Suite Journey: Starts an HR Suite onboarding, offboarding, or custom journey.
- Assign HR Suite Learning Program: Assigns a training or learning program through HR Suite.
- Assign Learning Journey (Engage): Assigns a learning course or journey through Engage.
- Assign Survey: Sends a survey.
- Assign Review Cycle: Adds a worker to a performance review cycle.
Documents and compliance
- Send or Request Document: Sends a document for signature, acknowledgement, or upload.
- Send to Deel Storage: Archives a document automatically to the worker's Deel file storage.
- Send to Clearance (IT Security): Initiates a device wipe or lock on termination.
Access and devices
- Application Access and Authorization (IAM): Grants or revokes app or system access.
- Mobile Device Management (MDM): Enrolls, locks, wipes, or applies a policy to a device.
- 24/7 Tech Support: Automatically creates an IT support ticket.
Integrations
- Create Jira Issue: Creates a Jira ticket, or updates an existing one.
- Send Webhook: Sends data to an external system through an HTTP POST request.
Automation
- Automate Payroll: Submits, approves, or runs a payroll run.
Putting it together: example workflows
Simple welcome email
Trigger: First Contract Added → Action: Send Email (welcome template)
Time off approval with a manager nudge
Trigger: Time Off Status = Pending → Action: Send Slack Message to manager → Delay 2 days → Action: Send Email reminder if still pending
Multi step offboarding
Trigger: Contract Terminated → Action: Create Task (IT: revoke access) → Action: Create Task (Finance: final payment) → Delay until last day → Action: Application Access and Authorization (IAM): revoke access