What actions can I use in a workflow?
Actions are the steps a workflow executes when triggered. You can chain multiple actions together, add conditions to branch the flow, and insert approval steps that pause for human review.
In this guide
Before you begin
You need Admin access. Actions are added in the workflow visual editor.
Communication actions
| Action | What it does |
|---|---|
| Send Notification | Send a notification via email, in-app, Slack, or Teams |
| Send Email | Send a custom email to a specified recipient |
| Send to Slack | Post a message to a Slack channel |
Software provisioning
| Action | What it does |
|---|---|
| Provision Software License | Assign and activate a software license for an employee |
| Deprovision Software License | Unassign and suspend a software license |
| Create Google Workspace Account | Set up a Google Workspace account |
| Invite User to Linear | Add someone to your Linear workspace |
| Remove User from Linear | Remove someone from Linear |
| Add to Slack Channels | Add an employee to specified Slack channels |
State and data management
| Action | What it does |
|---|---|
| Update State | Change an asset or employee's state |
| Assign Budget | Grant an employee access to the company store |
| Unassign Budget | Revoke store access |
| Assign Hardware from Storage | Assign a device from a storage location to an employee |
Device management (MDM)
| Action | What it does |
|---|---|
| Sync MDM Devices | Trigger a device sync from MDM |
| Lock Device | Remotely lock a device via MDM |
| Wipe Device | Remotely wipe a device via MDM |
| Enable / Disable Lost Mode | Turn lost mode on or off for a device |
Ticketing
| Action | What it does |
|---|---|
| Create Linear Ticket | Create a new ticket in Linear |
| Update Linear Ticket Status | Change the status of an existing ticket |
| Delete Linear Ticket | Remove a ticket from Linear |
Data retrieval
| Action | What it does |
|---|---|
| Get Expiring Contracts | Find contracts expiring within a window (7, 14, or 30 days) |
| Get Licenses | Look up software licenses for an employee or space |
Flow control
| Action | What it does |
|---|---|
| Delay | Wait for a specified duration (30 minutes, 1 hour, or 1 day) before continuing |
| Call Webhook | Make an HTTP request to an external system (POST, GET, PUT, PATCH, or DELETE) |
| Condition | Branch the workflow based on criteria — if a condition is met, follow one path; otherwise, follow another |
Conditions
Condition nodes let you branch a workflow based on data. You can:
- Compare field values using operators: equals, not equals, contains, greater than, less than, matches regex, is empty, is not empty
- Combine multiple conditions with ALL (every condition must be true) or ANY (at least one must be true)
- Reference trigger data or previous step outputs in comparisons
Each condition has a Yes branch and a No branch, each with its own sequence of actions.
Approval steps
Approval nodes pause the workflow and wait for a person to review:
- Configure a title and description for the approval request
- Assign it to a specific employee, a group, or the triggering employee's manager
- Set an optional due date
- Define separate action sequences for Approved and Rejected outcomes
The workflow resumes automatically when the assignee makes their decision.
Good to know
Can I chain multiple actions together?
Yes. Actions execute in sequence — each step runs after the previous one completes. You can add as many actions as needed.
What are template variables?
Template variables let actions reference dynamic data. Use ${trigger_data.field} to access data from the trigger event, or ${step_name.field} to use output from a previous step. This makes workflows adaptable to the specific event that triggered them.
What happens if an action fails?
The workflow stops at the failed step. Subsequent steps are not executed. The failure appears in the workflow's execution history with error details so you can diagnose and fix the issue.
Was this article helpful?