Workflow Actions

Workflow Actions

Actions are the steps a workflow executes when a trigger fires. You can chain as many actions as you like, route them through branches, iterate over collections, and call other workflows. Actions are grouped below by purpose.

Record Operations

  • Create Record: create a new record of any entity type. Map fields from the trigger, from earlier step outputs, or from static values.
  • Update Record: update fields on the trigger record or on a related record. Supply a target (trigger, steps, or a placeholder expression) plus a field map.
  • Set Field: set a single field to a value. A lighter-weight alternative to Update Record for single-field changes.
  • Add Tag and Remove Tag: add or remove tags on the target record.
  • Change Assignee: set the assignee to a user ID or a placeholder (for example, the reporter of the trigger record).
  • Archive: archive the target record.
  • Delete: delete the target record.
  • Transition Status: move a record through its status workflow (for example, ticket open to pending, or incident investigating to contained).

Notifications

  • Send Email: send an email to static addresses, users, placeholder-resolved addresses, or mailing lists. Supports subject, body, and attachments sourced from earlier step outputs.
  • Send In-App Notification: push a real-time notification to one or many users. Respects each user’s notification preferences and quiet hours.

Helpdesk

  • Create Helpdesk Ticket: create a ticket with subject, description, priority, category, channel, and requester, mapped from trigger data.
  • Assign SLA Policy: apply an SLA policy to the trigger ticket.
  • Escalate Ticket: change priority, reassign, or apply an escalation path.
  • Send Canned Response: reply using a saved response template.
  • Add Internal Note: add a private note to the ticket thread.
  • Extract Ticket References: scan an inbound email subject and body for reference numbers (for example TKT-00042) using a regex pattern. Extracted references are stored on the execution context.
  • Link Email to Ticket: read extracted ticket references and attach the inbound email to each matched ticket. Place this after Extract Ticket References.

Calendar and Activity

  • Create Calendar Event: schedule an event with title, description, start and end times, and attendees.
  • Create Note: save a note in any folder with optional tags.
  • Log Sales Activity: record a call, meeting, email, or note against a lead, opportunity, or deal.

External Integrations

  • HTTP Request: send a GET, POST, PUT, PATCH, or DELETE request with custom headers and body. Response status and body are exposed as step output for downstream actions.
  • Generate PDF: render a PDF from a template or from the content of a record (notes, tasks, issues, incidents, user stories, policies, and procedures are supported). Output can be attached to the trigger record or sent as an email attachment.

AI Steps

  • AI Summarize: pass input text to the AI and receive a summary. Set an output key to reference the result later as {{steps.<name>.output.<key>}}. Optional max_words caps the summary length.
  • AI Classify: classify input into one of a provided list of categories. Useful for routing tickets, prioritising issues, or categorising feedback.
  • AI Draft Response: draft a reply to an email or ticket using the thread context. The draft is available to downstream actions (for example, send it as a canned response or a ticket reply).

AI steps are gated by the workflow_ai_actions feature flag.

Control Flow

  • Branch: evaluate a set of expression groups (with AND, OR, and NOT logic) and run different children depending on which branch matches. Add child actions through Add Action, Add Branch, Add Loop, or Add Sub-workflow buttons.
  • For Each: iterate over a collection. The collection can come from a related relation ({{trigger.tasks}}), from a step output, or from a loop-specific query. Inside the loop, use {{loop.item}}, {{loop.item.<field>}}, and {{loop.index}}.
  • Wait: pause execution for a relative duration (minutes, hours, days) or until a specific datetime. The workflow resumes from the exact point it paused.
  • Call Sub-Workflow: invoke another workflow that is marked callable. Pass inputs through input_mappings. Cycle detection blocks infinite chains, and a per-chain depth limit protects against runaway recursion.

Per-Action Error Handling

Every action supports a retry policy (linear or exponential backoff with a configurable number of attempts) and an on-failure policy (continue, stop, or run a named fallback action). Failed actions are logged with the input, error, and attempt count so you can diagnose issues from the execution detail page.

Step Outputs

Any action can be given a step_name. Its output is then available to later actions as {{steps.<step_name>.output.<key>}}. This is how AI summaries, HTTP responses, PDF attachments, and extracted ticket references are consumed downstream.

Was this article helpful?