Skip to main content
This page explains WhatsApp messages in automations: the Send Message and AI Message steps. WhatsApp lets a business reply freely for 24 hours after the last message of the customer. Your team and the AI agent use this window in the Inbox. To write first, or after 24 hours, a business must use a template that Meta approved. Automations send every WhatsApp message as a template, so the message can go out at any time. To add these steps, open an automation in Automations.

Why automation messages need Meta approval

Each Send Message step is a WhatsApp template. When you publish an automation, TextYess sends one template for each Send Message step to Meta for review. The automation goes live when Meta approves all its templates. If you change a live automation, the changed templates go to review again. The live version keeps running until Meta approves the new one. AI Message gets a new template for each message: TextYess sends it to Meta when the step runs, and waits for approval for 24 hours at most. It sends the message 5 minutes after approval. If Meta does not approve it in time, the message is not sent. See Publish and test automations.

Template category: Marketing, Utility or Authentication

In a Send Message or AI Message step, choose Template category: Marketing, Utility or Authentication. New steps start as Utility. Use Utility for order updates, shipping and answers that the customer asked for. Use Marketing for offers, discounts, cart recovery and win-back. Meta checks the category and can change Utility to Marketing. TextYess then treats the message as Marketing. Marketing messages count toward the frequency cap and get a STOP button. They are held for contacts who ordered in the last 24 hours, wrote to you in the last 60 minutes, or are in a chat that your team handles. Utility and Authentication messages skip these checks. See Frequency cap.

Write the message text and add variables

In a Send Message step, write the text in Message, 1,024 characters at most. Use the Bold and Italic buttons to format it. To add personal details, open Variables and pick a value, for example the first name of the customer or the order number. The variables you see depend on the trigger. Each variable needs a Fallback text (required): TextYess sends it when the contact has no value, because WhatsApp rejects an empty variable. Then click Insert. When a Discount is set, the variables also show the discount Code and Label.

Add an image, video or PDF to an automation message

In a Send Message step, use Header media to add a file at the top of the message. Drag the file or click to upload it. You can add an image (JPEG or PNG, 5 MB at most), a video (MP4, 16 MB at most) or a PDF (64 MB at most). The dashboard converts videos so that WhatsApp plays them on all phones. Wait until the upload ends before you publish. The file goes to Meta with the template, so it is the same for every contact. A header image cannot change for each product or each contact. Other file types, like GIF, cannot be used as header media.

Add buttons to an automation message

In a Send Message step with Template type set to Generic, turn on Enable reply / URL buttons. Then click Add a button. A message can have 3 buttons. For each button, choose Button type. Quick Reply gives the contact an answer to tap, and the automation takes a different path for each button. URL opens a link. The end of the link can be a variable, for example the cart link. Copy code copies a code. Keep button text to 25 characters or less, or WhatsApp can reject it. With Quick Reply buttons, set Fallback timeout: the time to wait for a tap before the Fallback path. In a Send Message step, Template type adds ready-made buttons. Generic lets you choose your own buttons. Abandoned Checkout adds one URL button that opens the cart of the shopper. Cash on Delivery adds two quick-reply buttons to confirm or cancel the order. Opt-in adds two quick-reply buttons: the first subscribes the contact to your WhatsApp marketing, and the second unsubscribes them. On Shopify stores, the first button also adds the tag of Tag to use to the Shopify customer. Tracking Link adds one URL button that opens the tracking page of the order. Stop Message Response adds one quick-reply button.

Add a discount code to an automation message

In a Send Message or AI Message step, pick a discount in Discount. TextYess Discounts give each customer a unique code. Shopify Discounts give the same code to all customers. With the Incoming Webhook trigger, Use webhook discount uses the discount_code field of the request. Turn on discount_code in the trigger first. To make a new discount, click Create new discount code. Then show the code: add the discount Code variable to the text, or add a Copy code button. The Discount field shows when your store is on Shopify, or when the trigger is a webhook. See Discount codes.

Copy code button: Static code or Use discount code from this flow

A Copy code button lets the contact copy a code with one tap. WhatsApp shows the fixed text “Copy code” on the button, and only on mobile phones. In a Send Message step, add a button and set Button type to Copy code. In Code source, choose Static code and type the code, 15 characters at most. Or choose Use discount code from this flow to use the code of the Discount field. This option is available after you set a Discount. A copy code can have only letters and numbers. A code with other characters, like ”-”, does not work in the button, but it works in the message text.

STOP button in automation messages

Marketing messages in a Send Message step get a STOP button by default. The button text is always “STOP”, in every language. To remove it, clear Include STOP button in this message. Then write how to unsubscribe in your text, for example “Reply STOP to unsubscribe”. Utility and Authentication messages never get the STOP button. When a contact taps STOP, TextYess blacklists the contact, records the opt-out and starts your Stop Message automation. The opt-out adds no tag. See Stop Message trigger.

Message language and Send to all countries

In a Send Message step, Language is the language of the template for Meta. New steps use the language of your store, and Send to all countries is on. With Send to all countries on, the message goes to contacts in every country. With it off, TextYess sends the message only to phone numbers from countries that match the language. For example, English (US) reaches only US numbers, and English (UK) reaches only UK and Irish numbers. The other contacts are held with the reason Invalid number. The step warns you when the English variant does not match your store country.

AI Message: let AI write each WhatsApp message

AI Message writes a personal WhatsApp message for each contact, from your store data and the trigger event, like the cart, the order or the viewed product. In Custom rules, tell the AI what to do or not do, for example “Don’t mention product prices”. On Shopify stores, click Generate Preview to see an example. Choose the Template category. You can add a Discount and turn on Add discount code copy button. The AI writes in the language saved on the contact. If there is none, it uses the country of the phone number, then your store language. Purchase Intent messages use the language of the chat.

Contacts who never get automation messages on WhatsApp

A blacklisted contact gets no WhatsApp messages from automations, Utility messages included. The only exception is the reply of a Stop Message automation. A contact who blocked your number gets none either. A contact who unsubscribed from WhatsApp marketing gets no Marketing messages. When TextYess holds a message, the step on the canvas shows “N held”. Click it to see the contacts and the reasons. See Why an automation did not send a message.