# Keywords and triggers (/docs/keywords-and-triggers)



The Trigger panel decides when Send Link To Me starts the private reply. Title: Trigger. Lede: Choose when Send Link To Me sends the private reply.

## Two modes [#two-modes]

**Keywords (default).** Send DM to all comments is off. Field: Keywords. Description: Case insensitive. Any listed keyword can trigger the DM. On story compose: Matched against the story reply text (case insensitive).

**Every comment.** Switch: Send DM to all comments. Description: Every non-empty comment gets the DM. Keyword matching is skipped. When on: Every comment on this post gets the DM (still subject to follower gating and send limits).

You must use one of those. Error if keywords are empty and the switch is off: Add at least one keyword.

There is **no** exact vs contains control in the dashboard. New rules store exact match. Do not look for a match-mode dropdown.

## Add and remove keywords [#add-and-remove-keywords]

<Steps>
  <Step>
    Leave Send DM to all comments off.
  </Step>

  <Step>
    Type in Add a keyword. You can paste several words separated by commas or new lines.
  </Step>

  <Step>
    Press Enter or choose Add. Values are trimmed and lowercased. Duplicates disappear.
  </Step>

  <Step>
    Remove a pill with the X. The control label is Remove followed by that keyword.
  </Step>
</Steps>

Empty values and the internal `__all__` token are dropped.

Create defaults: `link`, `links`, `dm`, `send`, `product`, `price`. Edit those before you save if they are not the words you will print on the post.

## What actually matches [#what-actually-matches]

* Comparison is **case insensitive**. `LINK` and `link` are the same.
* **Any** listed keyword can fire the rule (OR).
* Only **top-level** comments on posts, Reels, and live. A reply under someone else's comment is skipped (`reply_comment`).
* Your own comments are skipped (`own_comment`).
* Empty comment text is skipped (`empty_text`).
* On stories, the matcher uses the **reply text**.

When two enabled rules could match the same comment, the first matching in-window rule wins. On stories, a This story rule beats an All stories window rule. The UI says: Specific story rules take priority when both match.

## Keyword overlap [#keyword-overlap]

Create and save fail when a sibling rule already uses one of your keywords.

| Surface                   | Compared against                                                   |
| ------------------------- | ------------------------------------------------------------------ |
| Post, Reel, or This story | Same Instagram **and** the same media                              |
| Live                      | All other live comment rules on that Instagram (not window-scoped) |
| All stories window        | Other **window** story rules on that Instagram                     |

This story and All stories window are not overlap-checked against each other. Send DM to all comments **skips** the overlap check.

Error examples:

* Keyword "link" is already used by another automation on this post.
* Keywords already used by another automation on this post: link, price

The wording says this post for live and story too. The message lands on the Keywords field.

## After they match [#after-they-match]

A match does not mean the offer lands immediately. The welcome confirm always goes first. Then follow gate, then optional leads, then the offer. See [DM funnel and audience](/docs/dm-and-audience).

If a comment never becomes a send, open [Events](/docs/events-and-skips) and read Status and Detail.

## Related [#related]

* [Post and Reel automations](/docs/post-reel)
* [Story automations](/docs/story)
* [Live automations](/docs/live)
* [Edit an automation](/docs/edit-automation)
