Keywords or AI? Choosing the Right Trigger for Instagram DMs
If your customers always use the same words, keywords are enough. If you want to catch the different ways people phrase things, the AI Intent Detector works better. Here is how to choose and how to use both.

In this post
If your customers tend to write the same words, Manual Trigger is enough and it never uses AI credits. If they ask the same thing in many different ways, the AI Intent Detector catches more messages. For most businesses the best results come from using both together.
In this post we explain how the two triggers work, when credits are used and how to write a good intent description. If you haven't built your first flow yet, start with our first message automation guide.
How the two triggers work
When you add a new trigger to the Trigger step in the flow editor, the Select trigger type window opens. There are two options:
- Manual Trigger: matches on keywords and conditions.
- AI Intent Detector: uses AI to understand the intent of the message.
Manual Trigger
You pick a condition and type the words. The conditions are:
- Message equals: the message must be exactly one of the words. If you entered "price", "price" matches and "what's the price" doesn't.
- Message contains: matches if one of the words appears anywhere in the message. "price" is caught in "what's the price" too.
- Message contains words together: every word you entered has to appear in the message.
- Message begins with: the message has to start with one of the words.
- Message does not contain: none of the words can appear in the message.
With Add Condition you can put more than one condition on a trigger and join them with AND or OR. For example, "Message contains: price" AND "Message does not contain: shipping" keeps messages asking about the shipping price out of this trigger.
Case doesn't matter. Accented letters do: if you entered "café", a message that says "cafe" won't match. Add both spellings if your customers type both ways.
AI Intent Detector
Instead of a word list, you write a Label Name and a Description. For example, the label could be "price" and the description "Messages asking about a product's price, discount or promotion".
The incoming message is sent to the AI along with these labels. The AI decides which label the message fits, and the branch connected to that label runs. If the message doesn't fit any label, the flow doesn't start.
The description field isn't required, but as the panel itself says, adding a description improves classification accuracy.
Which one, and when?
| Manual Trigger | AI Intent Detector | |
|---|---|---|
| What it looks at | The words you entered | The meaning of the message |
| Different wording | You have to add every variation | Catches "how much", "what's the price", "cost?" on its own |
| AI credits | None | Each check comes out of your monthly credits |
| Predictability | Total. You know exactly which word triggers what | High, but the AI decides borderline messages |
| Best for | Campaign codes, fixed words, short replies | Free-form questions, requests people phrase in many ways |
In short:
- If your story says "reply SALE and we'll send you the code", keywords are ideal. The customer knows what to type.
- For questions like "size chart", "how does it fit" or "would an M fit me", which describe the same need in different sentences, AI catches more messages.
- With emotional, longer messages such as complaints or return requests, a word list falls short quickly. Intent detection is the safer choice here too.
When are AI credits used?
When a message comes in, this is the order:
- The message is compared with the keyword triggers of the active message automations on your account.
- If a keyword matches, that flow runs. The AI isn't asked at all and no credit is used.
- If no keyword matches and your flows have AI labels, the message is sent to the AI. That check comes out of your monthly AI credits.
One detail matters here: the credit is used the moment the AI is asked. Even if the AI decides the message doesn't fit any label, the check has still happened.
When your credits run out, AI Intent Detector triggers stop working until the next period starts. Keyword triggers keep running. Your monthly credit amount depends on your plan.
How to write a good intent description
The AI only sees the label name and description you wrote. A vague description leads to vague decisions. A few rules make it easier:
- Keep the label name short with one meaning. Something like "price", "shipping" or "returns". A broad name like "general questions" tries to pull in every message.
- Describe what the customer wants. Instead of "Price", write "The customer is asking for the price or sale price of a product."
- Add example phrases. "For example: how much, what does it cost, can I get a price, price?"
- Separate labels that could overlap. If you have both a "price" and a "shipping" label, add "Shipping costs don't belong here" to the price description.
- Don't create near-duplicate labels. Two separate labels called "price" and "cost" leave the AI unsure. Combine them into one.
A good example:
Label: returns Description: The customer wants to send back, exchange or get a refund for something they bought. For example: I want to return this, can I exchange it, it didn't fit.
Using both together
In practice the most efficient setup is to answer your most frequent, clear-cut messages with keywords and leave the rest to AI.
An example store flow:
- Manual Trigger, "Message equals": "hello", "hi". Sends the welcome menu.
- Manual Trigger, "Message contains": "discount code". Sends the campaign message.
- AI Intent Detector, label "size". Sends the size chart.
- AI Intent Detector, label "returns". Explains the return policy.
With this setup, "hello" and "discount code" messages get answered without using credits. The AI only steps in for questions people type in their own words.
What the customer sees:
The shirt I bought doesn't fit, can I swap it?
No keyword matched. The AI matched the message to the "returns" label.
You can return or exchange an item within 14 days of delivery. Just keep the tags on.
Before you go live, try the flow with Preview in the editor. The AI step doesn't run live in the preview. You choose which AI label matched and see how that branch plays out.
Common mistakes
- A keyword that's too broad. With "Message contains", words like "info" or "what" catch almost every message. The AI never gets a turn and the wrong branch runs.
- Answering the same question in two places. If "price" is both a keyword and an AI label, the keyword always runs first. The AI label sits unused for those messages.
- A label with no description. A label that just says "info" tells the AI very little. Even one sentence of description makes it clear what the AI should look for.
- Too many labels. Opening a label for every small difference makes them blur together. Start with five or six main topics and split them later if you need to.
The same logic works for comments
The Comment Trigger in comment automation offers the same two types. For short comments like "price?", keywords are usually enough. If people write their comments more freely, the AI Intent Detector catches more of them. For more on comment automation, see our Instagram comment automation page.
Frequently asked questions
Does my automation stop if I run out of AI credits?
No. When your credits run out, AI Intent Detector triggers stop working for that period, while keyword triggers keep running. That's why answering your most common questions with keywords is a safe choice.
Can I use keywords and AI in the same flow?
Yes. You can add several triggers to the Trigger step and pick the type of each one separately. A message is checked against the keywords first, and the AI is asked only if none of them match.
What happens if a customer only sends a photo?
Both keywords and AI look at text. A message with no text won't match either trigger.


