CRM
Automations
When something happens (a form is sent, someone books, a tag is added, a call is missed, a deal is won), do these steps for that contact: send an email or a text, wait, check something, tag them, move their opportunity, tell you. Like HighLevel's workflows.
Your workflows
- 1New workflow: build one here, or ask the assistant to make it.
- 2Each workflow: what starts it and how many steps it has.
- 3On, Paused or Draft. Only workflows that are on start for new contacts.
- 4How many contacts are part-way through it, and how many have finished.
- 5Ready-made workflows, made as drafts so you can check the wording first.
Automations in the side menu lists your workflows: what starts each one, whether it's On, Paused or a Draft, how many contacts are part-way through and how many have finished.
The quickest start is a template: New lead follow-up, Booked call: prepare and follow up, Missed call text back or Won deal: welcome a new client. A template is made as a draft, so you can check its wording before you turn it on.
Building a workflow
- 1What starts it: click it to choose and narrow it down.
- 2Add another trigger: whichever happens first starts it.
- 3A + on every line: add a step there.
- 4Click to change it on the right; drag it to move it.
- 5The flowchart, or a plain list.
- 6Pause it (contacts in it wait) or turn it back on.
The Builder draws the workflow as a flowchart, like HighLevel's: the triggers at the top, then each step joined by a line.
- Click New workflow (or a template), and give it a name on the right.
- Click the Trigger card and choose what starts it, then narrow it down if you like: only this form, this calendar, this tag, this pipeline stage and so on. Add trigger adds another: whichever happens first starts the workflow.
- Click a + on a line to add a step there. The action picker groups them (Communication, Contact, Opportunities, Wait and logic, Workflows) and has a search.
- Click a step to change it in the panel on the right, where you can also duplicate or delete it. Drag a step to move it: dashed boxes show where it can go, including into another branch. A step with branches moves with everything in them.
- Save, then Turn on. From then on it starts for every contact it applies to.
Zoom with the buttons in the corner (or Ctrl/⌘ and the scroll wheel), and drag the dotted background to move around. Delete removes the selected step. Prefer a plain list? Switch to List above the builder.
What starts a workflow
| When | Narrow it down by |
|---|---|
| A contact is created | |
| A tag is added, or removed | The tag |
| A website form is sent | The form |
| An appointment is booked, or cancelled | The calendar |
| An opportunity moves to a stage | The pipeline and stage |
| An opportunity is won or lost | The pipeline, and won, lost or abandoned |
| A text or email comes in | Texts or emails |
| A call is missed (or goes to voicemail) | |
| A Voice AI call ends | |
| A payment is received | Through your Stripe: a payment link, checkout, invoice or subscription |
| A contact field changes | Which field (yours too), and optionally the value it changes to |
| An appointment's status changes | Showed, no-show or confirmed |
| An invoice is paid, or is overdue | |
| An email is opened, clicked or bounces | Which of the three |
| Birthday or a date, each year | Birthday or one of your date fields; on the day or days before or after; at a time, in a time zone |
| An opportunity sits in a stage too long | The pipeline and stage, and how many days |
| A task comes due | |
| Inbound webhook | Another tool (a form builder, Zapier, Make, your website) posts to the workflow's own address. See Inbound webhook. |
| A Facebook lead form is submitted | Any connected page, one page, or one of its forms. See Facebook lead ads. |
| Only when I add a contact | You add contacts by hand, or from another workflow |
The steps
- Send an email or Send a text: from your email set-up or number, into their conversation, so their replies land in Conversations.
- Wait: for minutes, hours or days, or until a time on the days you choose (like "9:00 on a weekday", in your time zone).
- If / else: two paths, depending on the contact: they have a tag, a field equals or contains something (or is empty), they have an email or phone number, they've replied since the workflow started, or they have an appointment coming up. Paths can hold more if/elses, five levels deep.
- Add a tag, Remove a tag, Update a contact field (yours too, like Budget).
- Create an opportunity, or Move an opportunity to another stage or to won or lost.
- Notify me: an email to you, like "New lead: Dana Cruz".
- Send a webhook: the contact's details to another system (Zapier, Make, your own app). See Webhooks.
- Add to another workflow, Remove from a workflow, and End.
- Send internal notification: an email or a text to you, the contact's owner or someone in your team. Texts go to the phone in Settings → Team.
- Create a task: a to-do on the contact, due in a number of days, for the contact's owner or someone else. See Tasks.
- Add a note, Do not disturb on or off, and Update an opportunity (its value or owner).
- Wait for event: until they reply, open an email, click a link, book or pay, with a time limit. It has two sides: It happened (the moment it does, without waiting out the time) and Time's up.
- Goal: a checkpoint, like "has the tag Booked" or "paid". Whenever a contact meets it, wherever they are before it, they jump straight to it and skip the rest, so nobody gets "book a call" emails after booking. If they reach it without meeting it: go on, wait until they do, or end.
- Math on a field: add to or subtract from a number field, or set a date field to today plus some days.
- Send review request: your Google review link by text or email.
- A/B split: two paths, A and B, with a share of contacts each (50/50, or 80/20…), chosen at random. Use it to test two messages.
- Google Sheets: add a row: the contact's details (any placeholders) as a new row in one of your spreadsheets. See Google Calendar and Sheets.
- Go to: jump to another step of the workflow, earlier (to repeat) or later (to skip). A contact takes at most 500 steps, so a loop can't run forever.
An If / else or a Goal can check several conditions at once: click And / or another condition, then choose All of these (AND) or Any of these (OR).
- 1Goes on the moment they reply (or open, click, book, pay).
- 2Or this side, when the time runs out.
- 3The selected step's settings: what to wait for, and how long.
Placeholders
Emails, texts, notes and field values can use the contact's details: {{first_name}}, {{name}}, {{email}}, {{phone}}, {{company}}, {{business_name}}, {{custom.budget}} (your own fields), and what started it: {{form.name}}, {{appointment.time}}, {{opportunity.name}}, {{message.body}}, {{payment.amount}}, {{invoice.number}}, {{invoice.amount}}, {{task.title}}, {{review_link}} and an inbound webhook's {{webhook.field}}. Add a fallback after a bar for when it's empty: Hi {{first_name|there}} says "Hi there" to a contact with no first name. The full list is beside the steps.
Drafts, testing and statistics
- When a workflow is on, your changes are saved as a draft: contacts keep going through the published steps until you click Publish. Discard them drops the draft.
- Test shows what the workflow (or its draft) would do for a contact you pick, step by step, from what we know about them now. Nothing is sent or changed.
- Each step shows how many contacts went through it, how many are waiting on it, and how many failed there.
- Put workflows in folders (on the right of the editor), search them, and Duplicate one to start a similar one.
Inbound webhook
Choose Inbound webhook under When and save: the workflow gets its own address. Paste it into the other tool (Typeform, Jotform, Zapier, Make, your website's form) and turn the workflow on. Each POST, as JSON or a form:
- finds the contact by an
emailorphonefield (any spelling: Email, email_address, Phone Number…), or makes a new one with the name and company if there are any; - starts the workflow, with every field available as
{{webhook.field}}, including one level of nesting ({{webhook.lead.source}}).
The address is the only key, so keep it to yourself. New address replaces it, and the old one stops working. Up to 1,000 posts an hour, 64 KB each.
Tasks
Tasks in the sidebar lists your to-dos (yours, or everyone's), and each contact's page has a Tasks card. Add one with a due time and who it's for, and tick it when it's done. Automations add them with Create a task, and A task comes due can start a workflow, for example to text you a reminder. Someone in your team limited to their own contacts sees only those contacts' tasks and the ones given to them.
Who's in a workflow
- 1Add a contact by hand (the workflow has to be on).
- 2Running, Waiting (with when the next step is), Done or Stopped.
- 3Every step it took for them: sent, skipped (and why), or waiting.
- 4Take them out: no more steps for them.
The Contacts tab shows everyone who has been through it: Running, Waiting (and when the next step is), Done, Stopped or Failed. Click a name to see every step it took for them: sent, skipped (and why: no email address, Do Not Disturb, unsubscribed…) or waiting.
- Add puts a contact in by hand (the workflow has to be on). Take out stops it for them.
- Each contact's page has an Automations card too: the workflows they're in, adding them to one, and taking them out.
- Pause holds everyone where they are; they carry on when you turn it back on. You can change the steps while contacts are in it: each one carries on from where they are, so someone in a wait gets whatever now comes after that wait.
The rules it follows
- Once at a time: a contact is in a workflow once. With A contact can go through it again switched on, they can start it again after finishing, but never twice within 10 minutes.
- Your contacts' choices win: Do Not Disturb, unsubscribes and STOP replies are respected; that step is skipped and the workflow goes on.
- Your allowance: emails and texts count towards the same daily allowance as everything else you send.
- HighLevel's sync: contacts and changes that come in from HighLevel don't start workflows, so connecting HighLevel doesn't email your whole list. Switch on Also for changes from HighLevel's sync on a workflow if you want them to.
- Loops stop themselves: a run stops after 500 steps, and an account starts at most 2,000 runs an hour.
Webhooks
A Send a webhook step posts the contact's details (name, email, phone, company, tags, your fields) and what started the workflow, as JSON, to the address you give. It tries again after 1 and 5 minutes if the other system doesn't answer.
Each one is signed, so the other system can check it came from you: the workflow shows a signing secret (whsec_…), and every webhook carries x-vision-timestamp and x-vision-signature: sha256=…, an HMAC-SHA256 of timestamp.body with that secret.
Voice AI
Two more Voice AI actions work with this: Trigger a Workflow starts one of your workflows for the caller when the condition you write happens ("the caller wants us to follow up"), and Custom Action sends the caller's name and the conversation so far to a webhook address.
By chatting
| Say | What happens |
|---|---|
| "When someone books a discovery call, send them a short questionnaire and tag them Booked" | A workflow is made as a draft, for you to check |
| "Use the missed call text back template" | Made from the template, as a draft |
| "Turn on the new lead follow-up" | It's on |
| "What automations do I have?" | A list, with what each one does |
The assistant builds and changes workflows; adding or taking out a particular contact is done on the workflow's or the contact's page.