Automations
What it is
An automation is a rule you write once and Threadline then follows by itself:
When this happens, then do these steps for that contact.
For example: when someone writes to you for the first time, send a welcome message. Or: when a shopper leaves a cart, remind them an hour later with a link back. Or: when a lead form is completed, tag the person, open a deal, and send a follow-up the next day.
It is an Admin area, reached from Automations in the navigation, and needs a plan that includes Automation.
The problem it solves
A lot of support and sales work is the same small task repeated: greeting new people, tagging leads, assigning conversations, following up, asking a customer for their order number. Done by hand, these tasks are slow and easy to forget, especially the follow-up that should happen tomorrow.
Automations do these tasks every time, at the right moment, without anyone remembering. Your team spends its time on conversations that need a person.
How is this different from the AI? The AI answers questions from your knowledge base. An automation does things: sends a set message, asks a question, adds a tag, waits a day, opens a deal. They work side by side. (For very simple "if the message contains X, reply Y" rules, see Auto Replies.)
How it works
Every automation has two parts.
- When (the trigger). The event that starts it, with optional filters that narrow it down.
- Then (the steps). What happens, one step after another.
Each time the trigger happens for a contact, Threadline starts a run. A run is one journey of one contact through the steps. If a step says "wait one day", the run pauses and carries on a day later. If a step asks a question, the run waits for the answer.
1. Building an automation
- Go to Automations and click New automation.
- Start in one of three ways:
- Describe it, we draft it. Type what you want in plain words and press Generate with AI. See Let the AI draft it.
- Pick a ready-made one.
- Choose Start from scratch.
- You land on the canvas, the one screen where you build everything (see The canvas).
- Type a name at the top.
- Click the When box at the top of the canvas and choose the trigger. Under Only for contacts who match (optional) you can narrow it to certain channels, tags or groups.
- Add steps from the list on the left, by dragging them in or by clicking them, and join them with lines.
- Turn Active on and click Save.
You can turn an automation off at any time with the switch on the list. That stops new runs. Runs already going will finish.
Ready-made automations
| Name | What it does |
|---|---|
| Welcome new contact | Greets everyone who messages you for the first time. |
| Keyword reply | Answers a specific word or phrase with a fixed message, without the AI. |
| Lead form, tag, deal and follow-up | Tags the lead, opens a deal, and sends a template a day later. |
| Abandoned cart recovery | An hour after a shopper leaves a cart, reminds them with a link straight back. Stops mattering the moment they buy. |
| Order shipped message | Tells the customer when their order is on its way, with the tracking link. |
| Escalation, assign to sales | When a conversation needs a person, hands it to a team member and lets the customer know. |
Let the AI draft it
What it is. A box on the New automation page where you describe the workflow, for example: "When someone writes 'price', ask which plan they want, then tell them our pricing page. Outside opening hours, say we reply tomorrow."
How it works. Press Generate with AI. Threadline turns your description into a draft and opens it on the canvas with a notice to check every step. Nothing is saved or switched on until you save. The AI is limited to safe building blocks: triggers like a message received, a new contact, an escalation or a close, and steps that need nothing special in your workspace, such as sending, waiting, conditions, stopping, pausing the AI, asking questions, quick replies and updating the contact. If the answer is not usable, it is thrown away with a plain message. It counts towards your plan's AI usage.
Test before you switch on
In the editor, Test runs your saved automation as a dry run for a contact you choose. It lists what each step would do: nothing is sent or changed, but conditions are really checked. Use it to catch mistakes safely.
2. Triggers: what can start an automation
| Trigger | Starts when… |
|---|---|
| A message is received | Someone writes to you. You can limit it to messages that are exactly, contain, or match a pattern for your keywords. Capital letters do not matter. Separate several keywords with commas. |
| Someone messages you for the first time | A new contact appears because they wrote to you. People you add or import yourself do not start it. |
| A lead form is completed | Someone finishes a lead form. You can pick one specific form. |
| A conversation is escalated to a human | The AI hands a conversation to a person. |
| A conversation is closed | Someone closes a conversation. |
| A tag is added to a contact | A contact gets a particular tag, by hand, in bulk, or from another automation. |
| A tag is removed from a contact | A tag is taken off. |
| A deal moves to another stage | A deal changes stage. You can pick one specific stage. |
| A deal is won / A deal is lost | A deal reaches a Won or Lost stage. |
| A lead becomes qualified | A deal's lead score reaches Warm or Hot (you choose which, Hot by default). It starts once, when the score first reaches that level. |
| At a set date and time | Once, at the time you choose, in your workspace's time zone. It runs for every opted-in contact that matches the filters. |
| A Meta lead ad form is filled in | Someone fills in a Facebook or Instagram lead ad. See Meta Lead Ads. |
| A campaign message is sent to a contact | A campaign message goes to a person. You can choose a particular campaign or any. |
| Another system calls a webhook URL | A program of yours sends a request to a private address that belongs to this automation. See Webhook trigger. |
| A store order is placed / shipped or fulfilled / cancelled | An order in your connected online store changes. Optionally limit to one store. |
| A shopper leaves a cart without buying | A cart sits idle for the number of minutes you choose (15 to 10,080; default 60). Starts once per cart, never for a cart that was paid for. |
| A new customer appears in a store | A customer is found in your store after its first full copy. |
| An appointment is booked / cancelled / completed, or a reminder is sent | A booking changes or is reminded. Optionally limit to one service. |
Store triggers only announce news: an order placed in the last few hours, a fulfilment that just changed. The thousands of old orders copied when you first connect never start anything. A shopper who is not in Threadline (no matching phone or email) has no one to message, so they are skipped.
Webhook trigger
The trigger gives you a private address like …/webhooks/automations/12/secret. Your own system sends a POST with {"phone": "+15551234567", "data": {"order_id": "A-1001"}}. The person must already be a contact in the workspace. Whatever you put in data becomes available in steps as {{context.order_id}}. The secret in the address is the password, so keep it private; it is only shown in the editor.
3. Steps: what an automation can do
Pick a step from the Add a step menu. The menu is searchable and grouped.
Send
| Step | What it does |
|---|---|
| Send a message | Sends text into the conversation. |
| Send a WhatsApp template | Sends an approved template, with its own blank-filling choices. Only to people who have opted in. |
| Send an SMS | Texts the contact's phone number through one of your SMS channels. Skipped (not failed) if they have no phone, no SMS consent, or wrote STOP. |
| Send an email | Emails the contact through one of your email channels, with the unsubscribe footer. Skipped if they have no address, no email consent, or unsubscribed. |
| Send an image | Sends a picture from your media library with an optional caption. |
| Send a message with a link button | Sends text with a labelled link in it. |
| Send a location | Sends a place name and address with a map link. |
| Send several messages | Two to five messages with a pause between them (you choose the seconds). |
| Send a product | Sends one product from your store: picture, name, price and link, with an optional line above. |
| Send a product list | Sends the newest in-stock products (up to eight) as one message. |
Text, image, link and location steps can name a fallback template. It is used if the 24-hour window has already closed. Without one, the step fails with a clear message.
Listen: ask the customer something
| Step | What it does |
|---|---|
| Ask a question | Sends your question and waits. The customer's next message is the answer. It is saved as a variable (for example {{context.size}}) and, if you wish, into a contact field. You can give up after N minutes, which sends the run down a separate "no answer" path. |
| Quick replies | Sends a message with two or three choices. On WhatsApp, Telegram, Messenger, Instagram and the website chat they are tappable buttons. On SMS, email and WeChat they are written as 1, 2, 3. The answer can be a tap, the number or the words. Each choice, Other and No answer can lead to a different next step. |
| List of choices | Sends two to ten options, as a list on WhatsApp and as buttons elsewhere, or numbered text where there are no buttons. The chosen one is saved as a variable and the run moves on. |
| Book an appointment | Walks the customer through booking: the service (or a fixed one), the day, the part of the day, the time and a confirmation, with lists and buttons where the channel has them. Ways out: Booked, Nothing free, Gave up and No answer. See Appointment Booking. |
Buttons and their limits. WhatsApp cuts a button to 20 characters, a list row to 24 (its description to 72) and the list button to 20, so keep titles short. A header and footer (60 characters each) are optional. Buttons only work inside WhatsApp's 24-hour window; after it, the step uses its fallback template, like a plain message. Telegram, Messenger and Instagram show the choices as buttons under the message (Instagram: up to 13 quick replies).
An answer goes only to the waiting automation: it never reaches the AI and never starts another automation. If a person has several runs waiting, one message answers only the oldest.
Logic
| Step | What it does |
|---|---|
| Wait | Pauses for a length of time, or until a time of day. |
| Continue only if… | Checks something about the contact. See below. |
| Run another automation | Starts a different automation for the same contact. It never starts itself or one that is switched off. |
| Stop | Ends the automation. |
Contact
| Step | What it does |
|---|---|
| Add a tag / Remove a tag | Changes the contact's tags. |
| Add to a group | Puts the contact in a group. |
| Set a contact field | Saves a value in one of your contact fields. The field must already exist. |
| Update the contact | Changes the name, email, country or language. The value may use a saved answer, for example {{context.email}}. |
| Add to a scheduled campaign | Adds the contact to a campaign that has not started yet, if they are opted in on its channel. Once only. |
AI and team
| Step | What it does |
|---|---|
| Assign to a team member | Gives the conversation to a person. |
| Pause the AI / Resume the AI | Stops the AI answering that conversation for a while, or lets it answer again. |
| Answer with an assistant | Lets one of your assistants answer the message that started the run, using its own knowledge and tone. If it cannot answer, its fallback reply is sent. It refuses when the plan's AI budget is used up. |
Sales and integrations
| Step | What it does |
|---|---|
| Create a deal | Opens a deal for the contact. |
| Move the contact's deal | Moves their open deal to a stage you choose. |
| Call a webhook | Sends the contact's details to a web address of yours. Addresses on a private network are refused. |
| Add a row to Google Sheets | Adds a row to a spreadsheet. See Google Sheets. |
Using details in your messages (tokens)
Every step that writes text shows the tokens it can use. The common ones:
| Token | Becomes |
|---|---|
{{contact.name}}, {{contact.phone}}, {{contact.email}} |
The person's details |
{{message.body}} |
What they wrote to start the run |
{{context.name}} |
An answer saved earlier (or data from a webhook) |
{{context.store}}, {{context.order_number}}, {{context.order_total}}, {{context.order_url}}, {{context.tracking_url}} |
Order details from a store trigger |
{{context.cart_total}}, {{context.recovery_url}} |
Cart details from the cart trigger |
The condition step: "Continue only if…"
This step asks a yes-or-no question about the contact. It can check:
- whether they have a tag;
- whether they are in a group or in a segment;
- the value of a contact field, or whether they gave a saved answer;
- which channel they are on;
- whether it is inside your business hours;
- whether they replied since the automation started.
On the canvas the step has a Yes path and a No path, so you can do different things for each. A path you leave empty simply ends there.
The 24-hour rule. On WhatsApp, Instagram and Messenger you can only send a free-form message within 24 hours of the person's last message. A Send a message step that runs later than that fails unless you gave it a fallback template, and the run's log says why. For anything that may come later, such as a follow-up the next day, use Send a WhatsApp template. The editor warns you when a step looks like it will be late.
Google Sheets
What it is. A step that adds a row to your own Google spreadsheet, for example every new lead.
How to set it up. Open Automations, Google. Press Connect Google and sign in. (The person who runs your Threadline installation must first have set up the Google connection; the page shows the address their Google app must allow.) Then add the step: give the spreadsheet ID (the long code in its web address), the tab name, and one value per column, using tokens.
Only spreadsheets that the connected Google account can edit are reachable. If a row cannot be added, the run says why: not connected, sheet not found, or not shared with the connected account. You can Disconnect at any time.
4. The canvas: one screen for the whole automation
What it is. The canvas draws the automation as boxes joined by lines. The first box, at the top, is the trigger. Every other box is a step. You build, set up, test and save from this one screen.
The problem it solves. Real rules split: "if the customer is a VIP, assign to Sara. If not, send the standard message." A plain list can only describe a straight line. On the canvas you draw both paths, and you see the whole flow at a glance.
What is on the screen.
| Part | What it does |
|---|---|
| Name, status and Runs (top) | The name you type, whether it is Draft, Active or Paused, and a link to the run history. It also tells you when you have unsaved changes. |
| Add step (left) | Every step, grouped by what it does (Send, Listen, Logic, Contact, AI and team, Sales, Integrations), with a search box. |
| The canvas (middle) | Your boxes and lines. Drag the background to move around, zoom with the buttons in the corner. A small map in the corner shows the whole flow. |
| Set up panel (right) | Opens when you click a box and holds that step's settings. |
| Toolbar (top right of the canvas) | Undo, Redo, AI, Test, the Active switch and Save. |
How to use it.
- Add a step by dragging it from the left onto the canvas, or by clicking it. A click adds it right after the box you have selected and joins it for you.
- Connect steps by dragging from the dot under one box to the dot on top of the box that comes next. Drag the dot of a Continue only if… box's Yes or No to choose each path.
- Set up a step by clicking its box. Its settings open on the right.
- Click the trigger box to change what starts the automation and its filters.
- Duplicate a step with the copy icon on the box, the Duplicate button in the panel, or Ctrl+D. Its settings are copied; join it where you want it.
- Delete a step with the bin icon on the box, the Delete button in the panel, or by selecting it and pressing Delete. To remove just a line, click the line and press Delete.
- Undo and Redo with the arrows in the toolbar, or Ctrl+Z and Ctrl+Shift+Z. They cover adding, moving, connecting, deleting and editing settings.
- Save with the Save button or Ctrl+S. Nothing is changed in your workspace until you save.
The lines. Lines are drawn with arrows. A Yes line is green and a No line is red. The dashed line from the trigger to the first step is drawn for you: it always goes to the one box that nothing else points to.
Rules of the canvas.
- A Continue only if… box has two dots, Yes and No. Connect each to a different next step. A path you leave empty simply ends there.
- A question step with several answers has one way out per answer, plus Other and No answer.
- Every other step has one way out. A step with nothing after it ends the automation.
- Everything must be reachable from the trigger: you cannot have loose boxes, and there is one starting point. If something is wrong, a message appears on the canvas when you save, and the boxes with problems get a red border.
- A loop is only allowed if it passes through a Wait step.
- An automation can have at most 50 steps.
On a phone. The step list hides to save room. Use the button at the top left of the canvas to show it.
5. The AI and your automations
Automations and the AI are designed not to answer the same message twice.
- If an automation triggered by a message starts by sending a message, the AI does not also answer that message.
- If the automation only tags, assigns or does something silent, the AI answers as usual.
- Use Pause the AI when you want the AI to stay quiet for a while, for example during a sales follow-up.
- Use Answer with an assistant when you want the AI to answer inside an automation.
A person is never talked over. If a team member has taken over a conversation, send steps are skipped for it.
6. Run history
What it is. A log of every time an automation ran.
Why it matters. When something does not happen as expected, the log shows exactly which step ran and what it did.
On the Automations list, click the history icon of an automation. Each row shows the contact, the status, when it started and when it finished. Click a row to see what every step did.
| Status | Meaning |
|---|---|
| Running | Steps are being carried out now. |
| Waiting | Paused on a Wait step, or waiting for an answer. |
| Completed | Finished. |
| Failed | A step could not be done. The reason is shown. |
| Cancelled | Someone stopped it. |
Cancel run stops a run that is running or waiting. A cancelled run never continues. For totals and common errors across all automations, see Reports, Automations in Reports.
7. Safety limits
These limits stop an automation from running out of control:
- The same automation starts at most 5 runs for the same contact per hour.
- An automation does not start itself through its own steps, for example by adding the tag that triggers it. Two automations calling each other are stopped by the same hourly limit.
- A run stops after 100 steps.
- A loop of steps must include a Wait, or it cannot be saved.
- A scheduled automation reaches at most 5,000 contacts.
- If an automation fails, the Admins are notified, at most once an hour per automation.
Your plan may limit how many automations can be active at once. Turned-off ones do not count.
Examples to copy
Welcome message
- When: Someone messages you for the first time
- Then: Send a message → "Hi {{contact.name}}, thanks for getting in touch! How can we help?"
Ask for an order number
- When: A message is received, containing
where is my order - Then: Ask a question "What is your order number?" (save as
order) → Send a message "Thanks, checking order {{context.order}} now." → Assign to a team member
Lead follow-up with a branch
- When: A lead form is completed
- Then: Create a deal → Wait 1 day → Continue only if… they replied since this started
- Yes: Stop
- No: Send a WhatsApp template with a reminder
Common questions
My automation did not run. Check that it is Active, that the contact matches the filters, and that the limit of 5 runs per hour was not reached. Then open the run history.
A send step failed. Most often the 24-hour rule. Use a template, or give the step a fallback template.
The customer got two replies. The automation probably does something silent first and sends a message later, so the AI also answered. Put the Send a message step first, or add Pause the AI.
Can I test an automation safely? Use Test in the editor for a dry run. You can also add a filter for a tag such as "Test", put that tag only on your own contact, and try it.
A store trigger never fires. The shopper must match a contact by phone or email, and the order or cart must be recent. See Online Stores.