Actions are what an automation does at each step. Every step is either a communication step, a records step, an integration step, or a logic step.

Action picker on the builder canvas

Pick actions freely — you can chain any of them in any order. The one exception is control-flow steps (Filter, Paths, Delay), which affect what runs downstream. Those live in Filters, paths, and delays.

Communication

ActionWhat it doesDependencies
Send SMSSends a text to the customer.Messaging addon + A2P approval
Send emailSends an email to the customer, tech, or a fixed address.None

Both accept {{variable}} interpolation in subject and body. See Variables and step outputs.

Records — Read

Read steps re-fetch a record inside the run — useful when an earlier step updated it and you need the fresh version, or to check a field before branching.

ActionReads
Get customerLatest customer name, contact info, tags, address.
Get jobLatest job status, tech assignment, scheduled/actual times, description.
Get estimateLatest estimate status, total, line items.

Output fields are available downstream as {{steps.STEP_ID.output.field}}.

Records — Write

Write steps modify Run a Call data.

ActionWhat it does
Create customerCreate a new customer (name, phone, email, address, company). Useful with an inbound webhook.
Update customerModify an existing customer's name, contact, address, company.
Add tag to customerAttach a tag. Creates the tag if it doesn't exist.
Remove tag from customerDetach a tag. No-op if the tag isn't attached.
Create jobSchedule a new job for a customer.
Update jobModify job title, customer, description, location.
Update job statusMove a job to a new status (Scheduled, En route, In progress, Completed, Cancelled, etc.).
Create invoice from jobAuto-generate an invoice from a job's line items.
Create membershipEnroll a customer in a plan.
Update membershipModify status, plan, or pricing.
Add noteAttach a note to a customer record. Note is visible in the customer's Notes tab.

Operations

ActionWhat it does
Assign technician to jobCreates a new appointment and assigns the given tech. Useful for auto-dispatch flows.

Integrations

ActionWhat it does
Send / fetch via webhookPOST or GET to any external URL. Response body is parsed as JSON and made available downstream as {{steps.STEP_ID.output.field}}.

Use this to fan-out to Slack, push to a Google Sheet via Zapier, hit a Google Maps distance API, or call your own tool.

Logic

ActionWhat it does
FilterContinue only if a condition is true; otherwise, stop the flow silently.
PathsSplit into multiple branches. Each branch has its own condition and its own downstream steps.
DelayWait a fixed amount of time (seconds, minutes, hours, days) before the next step.

Full guide: Filters, paths, and delays.

What's not a step today

  • Update invoice — no direct action. You can Create invoice from job and cancel the old one manually, but you can't rewrite an existing invoice from an automation.
  • Send push notification — no in-app push step; use Send SMS.
  • Create a task / to-do for a team member — not exposed as an action yet.
  • Read a webhook on an event (i.e., outbound webhook) — you can call Send / fetch via webhook from an automation, which is a workaround; a dedicated outbound-event webhook feature isn't part of Automations today (see Integrations & API for org-wide webhook subscriptions).
  • Wait until a condition is true — no polling action. Use Delay + a Get step + a Filter as a workaround.

Rate limits and safety

  • Each automation is capped at 100 steps per run to protect against runaway loops. Reaching the cap stops the run and shows an error in the timeline.
  • Message steps count against your Messaging plan's SMS bucket and Voice bucket the same way manual sends do.
  • Webhook fetch steps have a per-run timeout; long-running third-party calls will error.