> ## Documentation Index
> Fetch the complete documentation index at: https://boundbot.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Keyword rules

> Create predictable auto-replies for common patterns and trigger phrases.

export const BrowserWrapper = ({src, alt, title, description, height = '280px', caption, imgStyle = {}, children, imagePadding = '0px'}) => {
  const legacyDocsImagePrefix = '/images/';
  const productionDocsImagePrefix = '/docs/images';
  const rawSrc = typeof src === 'string' ? src : src && (src.src || src.default) || '';
  const imageSrc = rawSrc.startsWith(legacyDocsImagePrefix) ? `${productionDocsImagePrefix}/${rawSrc.slice(legacyDocsImagePrefix.length)}` : rawSrc;
  return <Frame caption={caption || alt || title} width="100%">
      <div style={{
    border: '1px solid #e2e8f0',
    borderRadius: '12px',
    overflow: 'hidden',
    boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
    width: '100%'
  }}>
        <div style={{
    backgroundColor: '#f8fafc',
    padding: '10px 15px',
    borderBottom: '1px solid #e2e8f0',
    display: 'flex',
    gap: '6px'
  }}>
          <div style={{
    width: '10px',
    height: '10px',
    borderRadius: '50%',
    backgroundColor: '#ff5f56'
  }} />
          <div style={{
    width: '10px',
    height: '10px',
    borderRadius: '50%',
    backgroundColor: '#ffbd2e'
  }} />
          <div style={{
    width: '10px',
    height: '10px',
    borderRadius: '50%',
    backgroundColor: '#27c93f'
  }} />
        </div>
        <div style={{
    overflow: 'hidden',
    background: '#ffffff',
    width: '100%',
    padding: imagePadding
  }}>
          {src ? <img src={imageSrc} alt={alt || ''} data-docs-screenshot style={{
    ...imgStyle,
    width: '100%',
    minWidth: '100%',
    height: 'auto',
    display: 'block',
    borderRadius: '0px'
  }} /> : children ? children : null}
        </div>
      </div>
    </Frame>;
};

<a href="https://www.boundbot.com/dashboard/automations/keyword-rules" target="_blank" rel="noopener noreferrer">Keyword rules</a> are lightweight automations that respond when a message matches a pattern. They are useful when you want a fast, deterministic reply without building a full workflow.

## Management overview

From the keyword rules list you can see the **associated bot**, the **specific pattern** (e.g. "refund", "pricing"), and the **toggle for enabled/disabled** state at a glance. Use this view to turn rules on or off and confirm which bot handles each pattern.

<BrowserWrapper src="../images/keyword-rules-list.png" alt="Keyword rules management list showing bot, pattern, and status toggle." caption="Keyword rules list: view the associated bot, pattern, and enabled/disabled toggle for each rule." />

## What a rule includes

Each rule is tied to a bot and includes:

* a pattern
* a match type
* a response
* an enabled or disabled state

### Rule configuration

The **creation drawer** (or edit form) lets you set up a rule in one place:

* **Select the target bot** — Choose which bot will run this rule so the right agent responds when the pattern matches.
* **Define the pattern and match type** — Enter the trigger phrase (e.g. "refund", "pricing") and choose **Contains**, **Exact**, or **Regex** so BoundBot knows how to match incoming messages.
* **Set the response message** — Enter the text the user will receive when the rule fires. Keep it short and actionable.

<BrowserWrapper src="../images/keyword-rule-setup.png" alt="Keyword rule creation drawer with bot, pattern, match type, and response fields." caption="Rule setup drawer: select the bot, define pattern and match type, and set the response message." />

## Match types

BoundBot supports:

* **Contains**
* **Exact**
* **Regex**

On the Free plan, only **Contains** is available. Paid tiers unlock **Exact** and **Regex**.

## When to use keyword rules

Use keyword rules when:

* the same phrase appears often
* the reply should always be the same
* you want a simple first layer before AI reasoning

Good examples:

* office hours
* refund policy
* shipping cutoff
* emergency contact instructions

## When not to use them

Do not use keyword rules when you need:

* follow-up questions
* branching logic
* API calls
* lead capture
* event-driven automation

For those cases, move to <a href="/automation/workflows">Workflows</a>.

## Rule design tips

* Keep patterns narrow enough to avoid false positives.
* Write short response text with one clear next step.
* Disable or delete rules that overlap with each other.
* Test rules against real customer phrasing, not idealized examples.

## Related pages

<CardGroup cols={2}>
  <Card title="Workflows" icon="workflow" href="/automation/workflows">
    Switch to workflows when the reply needs multiple steps or branching logic.
  </Card>

  <Card title="Actions" icon="zap" href="/automation/actions">
    Reuse buttons, lead capture, booking, and API actions inside your automation design.
  </Card>

  <Card title="Inbox" icon="inbox" href="/guides/inbox">
    Review real conversations to see which trigger phrases appear most often.
  </Card>

  <Card title="Plans and limits" icon="badge-dollar-sign" href="/reference/plans-and-limits">
    Check which match types are available on your current tier.
  </Card>
</CardGroup>
