Skip to main content
A step is one box on the canvas of an automation, after the trigger. In Automations, open an automation. To add a step, drag it from the step list next to the canvas, or click the + on a line between two steps and pick the step. The step list has three groups: Messages, Control and Actions. Click a step on the canvas to set it up in the panel on the right. Each step has an optional Internal name that only your team sees. Each section below explains one step.

Send Message step: send a WhatsApp message

Send Message sends a WhatsApp message to the contact. In Automations, add Send Message from the Messages group of the step list. Write the text in Message (1,024 characters at most). You can add variables, an image, video or PDF, buttons, a discount code and a STOP button. Choose Template category and Language. When you publish, each Send Message step goes to Meta for review as a WhatsApp template. The automation sends nothing until Meta approves it. If the contact has no phone number, the step fails. When the contact has an email and a later Send Email step can reach them, TextYess skips the step instead. For every field, read WhatsApp messages in automations.

AI Message step: let AI write each WhatsApp message

AI Message writes a new WhatsApp message for each contact when the step runs. It uses the store data and the event of the trigger, for example the cart or the order. In Automations, add AI Message from the Messages group. Write your instructions in Custom rules. Click Generate Preview to see an example. AI Message works only with the triggers Abandoned Checkout, Order Created, Order Fulfilled, Purchase Intent, Product Viewed and Product Added to Cart. With other triggers it shows as not available. Use Send Message there. See AI Message.

Send Email step: send an email in an automation

Send Email sends an email that you design to the contact. In Automations, add Send Email from the Messages group. Set the Subject, From name and Preview text. Then open Design the email to build the email in the editor, or pick a saved template. The step shows when email is on for your store. Email is available for Shopify stores and needs a sending setup. See Email setup. If the contact has no email address, the step fails. The automation then stops, unless the step has an alternative path under Error handling. To show products picked for each contact, add a Recommended products block to the email. See Show products picked for each customer.

Time Delay step: wait before the next step

Time Delay makes the automation wait before the next step. In Automations, add Time Delay from the Control group. In Wait Duration, enter a number and pick seconds, minutes, hours or days. A new Time Delay waits 1 minute. The wait continues even when nothing happens in your store. For example, wait 30 minutes after an abandoned checkout, or 14 days after an order. In a test, delays are 60 seconds at most. To continue at a time of day or only on some weekdays, read the next section.

Send at a time of day or on weekdays with Time Delay

When the unit of a Time Delay is days, you can choose when the automation continues. In Time, set the hour. In On these days, pick the weekdays, or click Weekdays or Every day. When you pick days, TextYess fills in Monday to Friday at 09:00. With a time set, “1 day” means the next day at that time, not 24 hours later. The wait never gets shorter. It moves forward to the next allowed day and time. The panel shows examples of when contacts enter and continue. The timezone shows next to the time. To go back to a plain wait, clear the time.

Conditional Split step: send contacts down a Yes or No path

Conditional Split checks a condition and sends each contact down one of two paths. In Automations, add Conditional Split from the Control group. On the Presets tab, pick a ready-made condition, for example Orders placed or Cart value. On the Custom tab, build your own rules. The two paths show as Yes and No, or with a clearer name, for example “No orders” and “1+ orders”. A path with no steps ends the automation for those contacts. See Conditions.

A/B Test step: split contacts at random between paths

A/B Test sends each contact down one path at random, so you can compare two messages, two delays or two offers. In Automations, add A/B Test from the Control group. A new A/B Test has paths A and B at 50% each. Click Add path to add up to 4 paths. Set the share of each path. The shares must add up to 100%. Click Split evenly to share them equally. A path at 0% is paused: it gets no contacts but keeps its steps. Later steps can use the path letter in conditions and messages.

A/B Test results: which path wins

The Results of an A/B Test step show Contacts, Sent, Orders and Revenue for each path. In Automations, open the automation and click the A/B Test step. TextYess compares the paths by orders. It names a winner only after the smallest path has 100 contacts or more, and only when the difference is larger than chance. Until then, it shows “Collecting” or “Too close to call”. If two paths lead to the same step, their numbers cannot be told apart. Orders count for the last message a contact got before buying, within the attribution window.

Wait for Reply step: wait for the contact to answer

Wait for Reply pauses the automation until the contact sends a text reply, or until the Timeout ends. In Automations, add Wait for Reply from the Control group, after a Send Message step without buttons. It has two paths: Replied and Timeout. A new Wait for Reply waits 1 hour. When the contact replies, the AI agent does not answer that reply. The automation continues. If your Send Message step has quick-reply buttons, do not add Wait for Reply. Set Fallback timeout on the Send Message step.

Quick-reply buttons: one path for each button

A Send Message step with quick-reply buttons waits for the contact to tap a button. Each button gets its own path on the canvas. The Fallback path runs when the contact taps no button before the Fallback timeout, or writes a text message instead. The default timeout is 24 hours. In Automations, open the Send Message step, turn on Enable reply / URL buttons, and add Quick Reply buttons. A message can have 3 buttons at most. When the contact taps a button, the AI agent does not answer the tap.

Ask a question step: ask, wait for the answer and save it

Ask a question sends a question, waits for the reply and saves the answer on the contact. Use it to collect a birthday, an email, a size or any other detail in chat. In Automations, add it from the Messages group.
  1. In What do you want to ask?, write the message. You can add variables. The question is a WhatsApp template, so Meta reviews it like any other message.
  2. In Save the answer to, pick a contact field, for example Birthday. The field decides what counts as an answer: a date, an email, a number or any text. Choose Don’t save to use the answer only in the automation, and pick the type of answer. The other settings are in Advanced settings. They start with good defaults, so most automations do not need them.
  3. For a date, turn on The year is required to refuse a date without a year. When it is off, a reply like “25 aprile” saves only the day and the month, which is enough to send birthday messages.
  4. In Example answer, write an example, like 25/04/1990. The customer sees it when the step asks again.
  5. Use Try an answer to see what a reply would save before you publish.
  6. Choose how many times to ask again (0 to 3) and the message to send. {{example}} in that message shows your example. Choose how long to wait for an answer.
TextYess reads replies the way people write them. A date can be 25/04/1990, 25.04.1990, 25 April 1990 or “I was born on 25/04/1990”. A reply with two different answers, like two dates, is not an answer. The step has three exits:
  • Answered: a reply was a valid answer. It is saved to the field you picked.
  • Didn’t understand: the replies were not answers and the step asked again as many times as you set. The step also takes this exit when it cannot ask again: no outbound messages are left, or 24 hours passed since the customer last wrote.
  • No answer: no reply came within the wait time. The wait starts again after each new question. The step also takes this exit when the question could not be sent (for example a frequency limit, or a contact who opted out), or when the customer sends STOP.
While the step waits, the customer’s replies go to this step and the AI assistant does not answer them. Connect Didn’t understand to a message or to your team, so the customer’s last reply gets an answer. Each message that asks again uses one outbound message from your plan, like any message an automation sends. If an answer cannot be saved, the step fails and follows Error handling.

Go to step: send a contact back or on to another step

Go to step sends the contact to another step of the same automation. In Automations, add it from the Control group of the step list. You can add it only at the end of a path. Choose the target in Step to go to. A Go to step has no next step. There are two kinds of jump:
  • Back to an earlier step. The contact repeats the steps from the target to the Go to step. Use it to remind a contact again, or to ask again. This kind is a loop.
  • On to a step in another path. The contact joins that path. Use it when two paths must end with the same steps. This kind is not a loop.
For a loop, set How many times can a contact be sent back? The choices are 1 to 5 times. The default is 2. A contact goes back up to that number of times. After the last time, the contact leaves the automation at the Go to step. Each contact has its own count. A jump to another path has no limit. Every way back through the loop must pass a Time Delay of at least 1 hour. A delay on only one path of a split inside the loop is not enough. Set the delay to a fixed time, for example 1 hour or 2 days. A delay of 1 day that sends at a set time counts: the contact moves on the next day at that time. A delay that uses a variable does not count. If a way back has no such delay, TextYess does not publish the automation. It shows a message on the canvas. If the loop sends a WhatsApp message, the contact receives that message again on each lap. TextYess does not hold the repeated message as a duplicate. All other rules still apply. Frequency caps, quiet hours and opt-outs can still stop the message. A contact who opted out gets nothing. One run of an automation sends at most 10 WhatsApp messages to a contact. A long loop can reach this limit, and TextYess then skips the later WhatsApp messages of that run. On the canvas, a dashed line shows the jump from the Go to step to its target. Click the Back to or Go to text on the Go to step to select the target and show it in the middle of the canvas. After the automation runs, the Go to step shows how many contacts were sent back, for example “12 contacts sent back”. The steps in the loop count each contact one time, even if the contact passed through them more than once.

Add Tag step: tag a contact, a Shopify customer or an order

Add Tag adds a tag. In Automations, add Add Tag from the Actions group. Enter the tag in Tag to use. In Apply tag to, choose TextYess contact (the contact in TextYess), Shopify customer (the customer in your Shopify store, found by phone number) or Shopify order (the order of the trigger). Shopify order needs an order trigger, like Order Created. On stores that are not on Shopify, the Shopify options do nothing. Use tags to build segments.

Remove Tag step: take a tag off a contact, a Shopify customer or an order

Remove Tag removes a tag. In Automations, add Remove Tag from the Actions group. Enter the tag in Tag to remove. In Remove tag from, choose TextYess contact, Shopify customer (found by phone number) or Shopify order (the order of the trigger). If the tag is not there, the step does nothing and the automation continues. When you remove a tag from a TextYess contact, the contact leaves the segments that use that tag. Later, the contact can enter them again. For example, add a tag to start a “Contact enters segment” automation, then remove the tag at the end, so the contact can start it again another time. When you remove a tag on Shopify, other apps connected to your store do not see the tag any more either.

Add Note to Order on Shopify step

Add Note to Order on Shopify adds a note to the Shopify order of the trigger. In Automations, add it from the Actions group and write the note in Note to use. You can add variables. It works only with Shopify stores and with an order trigger, like Order Created or Order Fulfilled. Without an order, the step fails. Use it to tell your team about a request, for example “Customer confirmed cash on delivery”.

Add Note to Contact step

Add Note to Contact adds a note to the WhatsApp conversation of the contact. Your team sees the note in the contact details of the Inbox. In Automations, add it from the Actions group and write the text in Note. You can add variables. If the contact has no phone number, the step fails. If the contact has no WhatsApp conversation with you, the step does nothing.

Add to Blacklist step: stop all WhatsApp messages to a contact

Add to Blacklist puts the contact on the blacklist. A blacklisted contact gets no more automation messages on WhatsApp, of any type. TextYess also records a WhatsApp opt-out for the contact. In Automations, add it from the Actions group. If the contact is already blacklisted, the step does nothing. To remove a contact from the blacklist, use Remove from Blacklist.

Remove from Blacklist step: let a contact receive messages again

Remove from Blacklist takes the contact off the blacklist, so automations can send WhatsApp messages to them again. TextYess also records a WhatsApp marketing opt-in for the contact. Use it only when the contact clearly asked to get your messages again, for example after they wrote a keyword. In Automations, add it from the Actions group. If the contact is not blacklisted, the step does nothing.

Suppress Email step: stop marketing emails to a contact

Suppress Email stops future marketing emails to the contact. The contact profile and consent settings do not change. WhatsApp messages are not affected. You can undo it on the contact page. In Automations, add it from the Actions group. If the contact has no email address, the step does nothing. The ready-made template Sunset unengaged subscribers uses this step. The step shows when email is on for your store.

Update List step: add or remove a contact from a list

Update List adds the contact to a list, or removes the contact from a list. In Automations, add it from the Actions group. In Operation, choose Add to list or Remove from list, then pick the List. You can pick lists that you made in TextYess or imported from a CSV file. A change can start other automations that use Contact Entered List or Contact Exited List. You can use the list as the audience of a campaign. See Lists and segments.

Update contact attribute step: change a field on the contact

Update contact attribute writes a value into a field of the contact, for example a name, an email or a custom attribute. In Automations, add it from the Actions group. Pick the field in Attribute to update. For a field with several values, choose Set (replace list), Add or Remove in Operation. In New value, choose Static to type a value, Flow value to use data from the automation, or Condition for a Yes or No value. Segments and conditions see the new value. The next steps of the automation also see the new value in the variables that start with CRM > Contact. For example, a message after this step shows the saved value. To ask for a date in chat and save it, use the Ask a question step: it reads the reply and asks again by itself. To save a date from a reply you already have, choose Flow value and pick the reply. TextYess reads dates the way people write them, for example 25/04/1990, 25.04.1990, 25-04-1990, 25/04/90 or 25 April 1990. Month names can be in English, Italian, Spanish, French, German, Portuguese or Dutch. The date can be inside a sentence, like “I was born on 25/04/1990”. The day comes first. If your store is in the United States, the month comes first. A date with no year, like 25/04, saves only the day and the month. A message that uses the saved date shows it as year-month-day, for example 1990-04-25. A date with no year shows as month-day, for example 04-25. If the reply has no date, for example a photo or “I don’t remember”, the step fails and the saved date does not change. To ask again, open the step, go to Error handling, choose Follow an alternative path, and pick a message that asks for the date again. Ask for the full date in one message: the step reads only one reply. Update marketing consent subscribes the contact to marketing messages, or unsubscribes them. In Automations, add it from the Actions group. In Channel, choose WhatsApp or Email. In Action, choose Subscribe or Unsubscribe. TextYess records the change in the consent history of the contact. On Shopify stores, it also updates the customer in Shopify. If the contact has no phone number (for WhatsApp) or no email (for email), the step is skipped.

Send Webhook step: send data to another system

Send Webhook sends an HTTP request to a URL of your choice, for example your CRM or Slack. In Automations, add it from the Actions group. Enter the Destination URL. Pick the Method: GET, POST, PUT, PATCH or DELETE. Add Headers if your system needs them, and a Body (JSON) for POST, PUT and PATCH. You can add variables. If your system does not answer within 30 seconds, or answers with an error, the step fails. Then the automation follows Error handling.

Error handling: what happens when a step fails

When a step fails, the automation stops for that contact and the run shows as Failed. To continue instead, set an alternative path. In Automations, open the step and go to Error handling. Choose Follow an alternative path, then pick a step in Go to step. The default is Stop the flow. A step can fail when a message cannot be delivered, a webhook gets an error, an order is missing, or a reply has no date to save. A held message, for example to a contact who opted out, is not a failure. The automation continues with the next step.

When an automation ends for a contact

An automation ends for a contact when it reaches a path with no more steps. You do not need to add an end step. An empty path of a Conditional Split, an A/B Test or a button also ends the automation for that contact. Each contact who starts the automation gets their own run. Two contacts never share data. To see each run, open the Runs tab of the automation. See Publish and test automations.