# Automations

> Send a saved reply, a product or an AI answer automatically when a customer messages for the first time, uses a keyword, arrives from an ad or comments on a post.

Source: https://docs.message24.net/owners/ai/automations/

An automation is a rule: when something happens, do these things. Use automations for replies that should be exactly the same every time, such as a welcome message, the answer to a common keyword, a campaign's offer for customers who tap an ad, or a public reply under a post comment. You can also hand a specific situation to the AI with your own instruction.

:::note
Automations are enabled per business. If you don't see **Automations** in the top navigation or under **Settings**, ask Message24 support to switch them on. Creating and editing automations requires permission to manage shortcuts.
:::

## How automations and the AI share a message

For every incoming message, Message24 picks exactly one responder:

1. If an active automation matches, the automation answers. This applies whether the conversation is being handled by the AI or by your team, and it works even if you have never turned the AI on.
2. If no automation matches, the conversation's mode decides: the AI answers, unless the conversation is set to **Human**.

If a matching automation ends up sending nothing (for example it has no message in the customer's language, or the platform blocks it), the AI answers instead, unless the conversation is set to **Human**. Comments on posts are only ever answered by automations; the AI doesn't reply to comments.

Only one automation runs per event. When several could match, the first one in the list wins.

## Create an automation

1. Open **Automations** and select **New automation** (or **New**).
2. Type a name at the top, for example "Welcome message".
3. Under **When this happens**, pick a trigger.
4. Under **Runs on**, select the channels it should run on. Channels that can't receive this trigger's events are crossed out.
5. For comment and ad triggers, choose which posts or ads it covers.
6. Optionally add conditions under **Only if the message...** (or **Only if the comment...**).
7. Under **Do this**, add one or more actions. They run in order, top to bottom.
8. Leave the switch next to the name on **Active**, or set it to **Paused** to save without running.
9. Select **Save**.

If an automation can't work on one of the selected channels, for example an action the platform doesn't allow for that trigger, an amber warning explains why and **Save** stays disabled until you fix it.

## Triggers

| Trigger | Fires when | Platforms |
| --- | --- | --- |
| **First message** | A brand-new customer sends their very first message. Fires once per conversation, never again. | Facebook, Instagram, WhatsApp, TikTok, Telegram, website chat |
| **New session** | A message opens a new session, including a customer's very first one. | Facebook, Instagram, WhatsApp, TikTok, Telegram, website chat |
| **Message received** | Any incoming message. Add conditions, or it runs on every message. | Facebook, Instagram, WhatsApp, TikTok, Telegram, website chat |
| **Ad click** | A customer opens the chat from one of your ads. | Facebook, Instagram, WhatsApp |
| **Post comment** | Someone comments on a post. | Facebook, Instagram |

New **First message** and **New session** automations start with two conditions: **Carries a photo or file** is **no** and **Is about one of our posts** is **no**. A customer whose first message is a screenshot or a shared post usually has a specific question, so by default those messages skip the welcome and go to whoever can answer them. Delete the conditions if you want the welcome to go out regardless.

## Choose posts

For **Post comment**, set **Which posts**:

- **All posts**. Open **Skip some posts** to exclude a few.
- **Only the posts I pick**. Select the posts from a grid of your posts, with search. Only posts from the channels under **Runs on** are shown.
- **The next post I publish**. Nothing runs until you publish. The first post after that becomes this automation's post and stays it.

The post doesn't need to be linked to a product. See [Posts](/owners/daily/posts/) for linking posts to products.

## Choose ads

For **Ad click**, set **Which ads**:

- **Only the ads I pick** (the default). Pick a channel under **Runs on** first, then select ads from the list. Each ad shows how many conversations it has started and whether it is paused, not running, rejected by Meta or pending review.
- **Any ad**. Open **Skip some ads** to exclude some.

The list shows the ads customers have actually messaged you from. A campaign you launched today appears once its first customer writes in.

## Conditions

Conditions narrow down when the automation runs. Select **Add condition** and choose what to check:

| Condition | Options |
| --- | --- |
| **Message text** | **contains**, **doesn't contain**, **is exactly** or **is not**, followed by words |
| **Carries a photo or file** | yes or no |
| **Is about one of our posts** | yes or no |
| **Came from an ad click** | yes or no |
| **Post (shared or screenshotted)** | **is exactly** or **is not** a post you pick from the gallery. Matches whether the customer shared the post or sent a screenshot of it. |
| **Ad** | **is exactly** or **is not** an ad you pick from the list |

For **Message text**, separate words with commas; any one of them matches. Spelling is matched loosely, so "نرخ", "Nrx!?" and "nrx" count as the same word. Include the words in every language and spelling your customers use, for example `price, نرخ, nrx, سعر`.

With more than one condition, choose **Match all of these** or **Match any of these**.

### Don't run again within

For **New session**, **Message received** and **Ad click**, set **Don't run again within** a number of hours or days. It counts from the last time this automation actually sent something in that conversation. **0** means it runs every time it matches.

## Actions

For message triggers (**First message**, **New session**, **Message received**, **Ad click**):

- **Send a direct message**: sends one of your saved replies. Pick it from the list, select the pencil to edit it, or select **+** to write a new one without leaving the automation. A preview of the message, including any image or voice note, is shown below. See [Shortcuts](/owners/daily/shortcuts/).
- **Send a specific product**: search your catalog and pick a product to send as a product card.
- **Let the AI reply with your instruction**: the AI writes the reply itself, following your instruction, for example "quote the promo price; it ends Friday; offer reservation". This action always runs last, and an automation can only have one.

For **Post comment**:

- **Reply publicly under the comment**: type the public reply. Public replies carry text only, on every platform.
- **Send the post's product**: sends the product linked to the post as a direct message. Pick a fallback message to send when the post has no linked product; without one, those commenters get nothing.
- **Send a specific product**: sends a product you pick.
- **Send a direct message**: sends one of your saved replies privately.

New comment automations start with a public reply followed by a direct message, the most common pairing.

A saved reply is sent in the customer's language. If it has no version in that language, the automation has nothing to send. Each platform limits how many actions of each kind can run for a trigger and whether attachments are allowed; when you reach the limit, Message24 stops offering that action and shows "That's everything these channels allow for this trigger."

If one action fails, the rest still run.

:::caution
**Let the AI reply with your instruction** follows the same rules as any AI reply: the channel needs a schedule, your balance must be above $0, the reply waits for the channel's AI delay, and the AI won't reply in a conversation set to **Human**. See [AI settings](/owners/ai/ai-settings/). Your instruction outranks the AI's general guidance for that reply, but the AI still checks prices and stock against your catalog.
:::

## Run order

The **Run order** list is the order automations are checked in. Each event runs one automation, the first match from the top. Drag the handle on the left of a row to reorder. Put narrow automations (a specific ad, a keyword) above broad ones (every message).

Each row shows the trigger, the number of actions, its channels, and how many times it has run. A **Paused** tag marks inactive automations. A row with no channels selected is flagged in amber and never runs.

## Check that it works

- A **Just fired** badge appears on an automation for a minute after it sends something.
- Select the history icon on a row to see its **Last 50 runs**, each with an outcome and details:

| Outcome | Meaning |
| --- | --- |
| **Sent** | At least one action reached the customer. |
| **Nothing to send** | It matched, but there was nothing it could send: no version of the message in the customer's language, a voice note the channel can't carry, a message already sent in this conversation, or a post with no product and no fallback. |
| **Blocked by platform** | The platform wouldn't deliver it, for example because another app connected to your account currently controls the conversation. |
| **Failed** | Something else went wrong. |

- In the inbox, messages sent by an automation carry an **Auto** badge. Select it to open that automation.

To delete an automation, select the bin icon. It stops running immediately and its run history is deleted with it.
