Browse documentation
Automations & insights

Workflows

Run record-based automations, publish changes deliberately, and inspect real run results.

On this page

A workflow responds to an event and runs a series of actions. Use one to update records, create tasks or notes, start fulfillment, enroll a contact in a sequence, post to a Slack channel when Slack is connected, or—when Quo or Dialpad is connected—send a text. Workflows execute real changes; the editor is not just a diagram.

Choose a precise trigger#

  1. Open Workflows and choose New workflow. Enter a name and, optionally, a description, choose Save, then open the new workflow from the list. A name can be up to 120 characters and a description up to 400.
  2. In Editor, choose Start from scratch and pick a trigger: Record created, Record updated, Field value changed, Task created, or Note created. When Quo or Dialpad is connected, a group named after the connected phone app (Quo or Dialpad) also offers Text received, Call completed, Call summary ready, and Contact opted out.
  3. Choose the required object and field. For record updates, selecting a field limits which changes trigger a run; leaving it blank listens for any supported field update. Text received, Call completed, and Call summary ready can limit to one line (or keep Any line for every line, including ones added to Quo or Dialpad later), and Text received can require the first text from that number.
TriggerStarts a run whenSettings
Record createdA contact or deal is created.Object: Contacts or Deals.
Record updatedAn existing contact or deal changes. With a field chosen, only a change to that field counts.Object; Field (optional).
Field value changedThe chosen field changes, including when a new record is created with it filled in.Object and Field.
Task createdAny task is created.None.
Note createdA note is added to a contact or deal.Object (optional; blank means every note).
Text received (Quo or Dialpad)A contact texts one of your lines. A STOP reply does not count.Line (optional); Only when: Any text or It’s the first text from this number.
Call completed (Quo or Dialpad)A call with a contact on one of your lines ends.Line (optional).
Call summary ready (Quo or Dialpad)The phone app’s AI summary of a call with a contact arrives.Line (optional).
Contact opted out (Quo or Dialpad)A contact’s Text consent changes to Opted out, for example after a STOP reply.None.

To act when a deal is won, use Field value changed on Deals with the Stage field, then add a Filter that the stage is your won stage (Closed won in a new workspace).

Scope the trigger before importing or updating many records. A broad trigger can start work for each affected record, not just once for the whole operation. Texts and calls from blocklisted numbers or from contacts who opted out do not start a Text received, Call completed, or Call summary ready run; each text or call runs once. Phone triggers only see what the Quo or Dialpad app brings in: Text received needs Texts, the call triggers need Calls, and Call summary ready also needs AI call summaries (see Quo or Dialpad).

On Lead strength, Field value changed works on it like any other field—when Lead strength becomes Very strong, create a task to call them (add a Filter for Very strong after the trigger). Ari writes that label itself, so no workflow can set it. Some label changes update the label without starting workflows, such as each contact’s first label; see when Lead strength changes start workflows.

Add actions and conditions#

Use a block’s plus control, or Add block in the canvas toolbar, to add the next block and fill its required inputs. A Filter stops nonmatching runs; If creates true and false paths. Delay and Delay until wait before continuing. Check the workflow timezone in the workflow’s Settings tab when scheduling a specific time; new workflows start in UTC. To change the trigger later, select it and choose Replace trigger from its menu; this clears the conditions in every Filter and If block, as does changing the trigger’s object, so set them again before publishing. Replacing a Task created trigger with any other trigger also clears the task in Update task and Complete task blocks that used the task that started the run.

GroupBlockWhat it does
RecordsCreate recordAdds a contact or deal. A contact needs a name; a deal needs a name and a stage.
RecordsCreate or update recordUpdates the record whose Matching field matches, or creates one when none does. Contacts match on an email field (Email or a custom email field); deals on Name or Contact. The run fails if the matching value is empty or matches more than one record, or if a new record would have no name (and, for a deal, no stage).
RecordsUpdate recordSets Fields to set on one contact or deal, such as the one that started the run.
SequencesEnroll in sequenceEnrolls the Recipient with the chosen Sender. On a deal trigger, the deal’s contact is enrolled.
SequencesExit from sequenceTakes the contact out of the sequence.
Quo or DialpadSend a textTexts a contact from one of your phone lines, when Quo or Dialpad is connected. See below.
SlackSend Slack messagePosts a message to a Slack Channel, when Slack is connected. See Slack.
FulfillmentStart fulfillmentStarts a checklist from a Template on a Deal.
TasksComplete taskMarks a task done.
TasksCreate taskAdds a task, with optional Due, Assignee, and Linked record.
TasksUpdate taskChanges a task’s text, due date, or assignee.
NotesCreate noteAdds a note with a Title and Content to a contact or deal.
FlowFilterContinues only when the conditions hold.
FlowIfSends the run down its True or False path.
FlowDelayWaits a number of minutes, hours, or days.
FlowDelay untilWaits until a date and time in the workflow timezone.

Choose Create or update record with an appropriate matching field when repeated events should update an existing record instead of creating duplicates. Start fulfillment needs a deal and template; a contact trigger cannot infer which deal you intend. If the deal already has an active fulfillment, the block uses it rather than starting another.

Most inputs have a Use a variable control that fills the value from the trigger when the run happens—for example, set a new deal’s Contact to the contact that started the run. Replace existing values is off by default, so custom Multiple select and Person fields keep their values and gain the new ones; turn it on to overwrite them. Lookup fields are not available anywhere in a workflow.

The variables on offer depend on the trigger. Record triggers offer the record’s fields, with a person field split into First name, Last name, Name, and Email. Task created offers Created by and Created at; Note created adds the note’s Parent record. Quo and Dialpad triggers offer the contact plus message or call details such as Message body, Sender phone, Line name, Call duration, Call direction, Call status, and Call summary.

To delete a block or the trigger, open its ⋮ menu and choose Delete block or Delete trigger. You can also select one or more blocks (drag a box around several) and press Delete or Backspace. An empty block is deleted right away; one with content asks first: confirm with Delete block (or Delete 2 blocks and so on); it can’t be undone.

Deleting a block joins the blocks after it to the block before it. Deleting an If also deletes every block on both of its paths, and deleting the trigger empties the whole workflow.

Filter and If check the trigger’s contact or deal with the same condition builder as filters, so they need a trigger with an object; they are not available after Task created or a Quo or Dialpad trigger. Update task and Complete task work on the task that started a Task created run or on one a Create task made earlier in the same workflow.

If the contact is already in the sequence, or their email address is suppressed or blocklisted, Enroll in sequence shows Enrolment refused and the run continues; a sequence that has never been published fails the run. A wait can last at most 90 days: a longer Delay or Delay until fails the run at that block, and a Delay until moment that has already passed continues straight away. If the record that started the run is deleted while it waits, the run ends as Record deleted.

Send texts with Quo or Dialpad#

When Quo or Dialpad is connected, the action catalog includes a group named after the connected app (Quo or Dialpad) with Send a text, which sends through that app. Choose the Recipient contact (filled in with the contact the run is about, or the deal’s contact, when the trigger has one), Send from (the record owner’s matched line—or, when the owner has no personal line, a shared line—or one fixed line for every run), an optional fallback line under If the owner has no line for when neither is found, and the Message, up to 1,600 characters. Insert contact or deal fields—and on Quo or Dialpad triggers, details of the text or call—into the message with the Use a variable control. Only between 8 AM and 8 PM, workflow timezone is on by default, so sends outside that window are skipped, not held for later; set the workflow timezone first, because new workflows use UTC.

Text consent is mandatory: the contact’s Text consent field must be Yes, with no override in the editor. Contacts who replied STOP, lack consent, or fall outside the sending window are skipped, as are contacts with no phone number or a blocklisted number, sends with no active line to send from, and messages that are empty or over 1,600 characters once fields fill in; a skipped text does not fail the run, and later blocks can still run. If Quo or Dialpad returns an error or doesn’t answer, the text may already have gone out, so the step fails the run instead of retrying; only a rate limit from the phone app is retried, up to 12 times in a row over roughly 25 minutes to an hour, before the step fails. Connect a phone app and manage consent on the Quo or Dialpad guide. Publishing or switching on a workflow with Quo or Dialpad blocks waits until a phone app is connected, though a live workflow can still be switched off. Live workflows with these blocks stay enabled after a disconnect: their phone triggers receive no events, Send a text steps are skipped with Texting is not enabled for this workspace, and other steps still run; after reconnecting, they send texts again without republishing.

Publish, enable, and exercise#

An owner or admin publishes the configured draft, then uses Enable workflow to allow new runs. Publishing and enabling are separate: edits do not change the running version until published, and publishing does not turn an off workflow on.

Any member can build and edit a draft. Whenever the draft differs from the published version, the canvas shows This workflow has unpublished changes with Publish changes, plus Discard changes to go back to the published version once there is one. Publishing is refused until there is a trigger and every required input is filled in, and the block to fix is selected. New workflows start switched off.

On an enabled, published workflow, Trigger workflow lets you select a record and queue a real run. Use a record appropriate for the actions: this is not a dry run. It is for owners and admins, works with every trigger except the Quo and Dialpad triggers, and opens Runs on the new run. Switching off stops new runs; queued texts (including those waiting behind a Delay) are not sent and show as skipped because the workflow is not live or enabled; other work already in flight continues on its original snapshot. Switch the workflow back on before a waiting run resumes and its text still goes.

Manage workflows#

The Workflows page has search (matching a workflow’s name or description), a sort menu (Newest first, Oldest first, Name A–Z), and a list or grid layout; sort and layout are remembered in this browser. List view shows Runs, Status (Live, Paused when published but switched off, or Draft before the first publish), Created by, and Last published. Each workflow’s menu offers Edit for its name and description, Duplicate for an unpublished, switched-off copy with “(copy)” after its name, and Delete, which removes the workflow and its run history—including runs still waiting—for everyone and cannot be undone.

Read outcomes and boundaries#

Open Runs, select a run, then inspect its blocks for outcomes, inputs, and errors. A completed run may have stopped at a filter without performing later actions. A Send a text step can show Skipped with a reason (for example missing consent) while the overall run still succeeds. A failed run does not automatically retry, and earlier successful changes remain.

The Runs tab shows how many runs the workflow has (99+ past 99). Run history lists each run by number with a check once it finishes, an in-progress mark (a waiting run says when it resumes), or Failed; a run that ended because its record was deleted reads Record deleted, and a skipped run reads Skipped; Overview (last 7 days) counts completed and failed runs. Block outcomes read Completed, Stopped by filter, Waiting, Skipped, Enrolment refused, Failed, or Did not run. Finished runs are kept for 90 days. A failure email’s link to a run that has since been removed opens the newest run instead, with That run could not be found. Showing the newest run instead.

There is no retry button: fix the workflow, publish, and the next event runs it. With Get notified when this workflow fails on (the default, in the workflow’s Settings tab), the person who created the workflow gets an email naming the failed block, with a link to the run—at most one per failing block and reason every 24 hours. It is email-only, and nobody else is notified.

There is no send-email action: use Enroll in sequence for email follow-up. Workflow-made changes do not trigger other workflows, so put dependent actions in the same workflow rather than expecting a chain between workflows.

Still have a question?Talk to us

Search documentation

Search all guides, or pick a place to start.