> ## 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.

# Workflows

> Build multi-step automation workflows in BoundBot with templates, AI generation, and a visual editor.

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/workflows" target="_blank" rel="noopener noreferrer">Workflows</a> let you automate conversations beyond a single reply. You can start from a template, generate a workflow with AI, or build one from scratch in the visual editor.

## Management overview

From the workflows list you can monitor **workflow status** (Active or Inactive), **trigger types**, and **node counts** at a glance. Use this view to see which workflows are live and how complex each one is before opening the editor.

<BrowserWrapper src="../images/workflow-dashboard.png" alt="Workflow management dashboard showing workflow list, status, trigger types, and node counts." caption="Workflow Management — Oversee your automated processes from one central dashboard. Track execution status, trigger types, and node complexity for every workflow." />

## Ways to start

When you create a workflow, the creation modal offers three options:

* **Write with AI** — Describe the workflow in plain language.
* **Blank workflow** — Start from scratch with an empty canvas.
* **Pre-built templates** — Start from ready-made flows such as **Lead Capture Fast** or **Demo Booking**.

<BrowserWrapper src="../images/workflow-creation-modal.png" alt="Workflow creation modal with Write with AI, Blank workflow, and template options." caption="Starting a Workflow — Choose your starting point: generate with AI, build from a blank canvas, or use pre-built templates like Lead Capture or Demo Booking." />

## Trigger types

Every workflow starts with one trigger:

* **New message**
* **Keyword match**
* **Event**

## Available node types

| Node           | What it does                       |
| -------------- | ---------------------------------- |
| Trigger        | starts the workflow                |
| Send message   | sends a fixed or templated message |
| AI response    | generates a reply with AI          |
| Wait for input | pauses until the user replies      |
| Condition      | branches based on logic            |
| API call       | sends an HTTP request              |
| Delay          | waits for a period of time         |
| Set variable   | stores a value for later nodes     |
| Lead capture   | saves lead information             |
| End            | ends the workflow                  |

## Save, activate, and review

From the editor, you can:

* rename the workflow
* change the trigger type
* save changes
* activate or deactivate the workflow
* open <a href="https://www.boundbot.com/dashboard/automations/workflows" target="_blank" rel="noopener noreferrer"><b>Executions</b></a> to review run history

## Best practices

* Start with one clear use case instead of a giant all-purpose workflow.
* Keep the first version short enough to test end to end.
* Use templates for speed, then refine the copy and branching.

<Tip>
  If you know the desired business outcome but not the exact structure, start with AI generation. It is often the fastest way to get a first draft on the canvas.
</Tip>

## Related pages

<CardGroup cols={2}>
  <Card title="Actions" icon="zap" href="/automation/actions">
    Reuse booking, lead capture, button, and API actions inside larger automation flows.
  </Card>

  <Card title="Keyword rules" icon="filter" href="/automation/keyword-rules">
    Keep lightweight deterministic replies separate from multi-step workflows.
  </Card>

  <Card title="Leads and orders" icon="shopping-cart" href="/sales/leads-orders">
    Review the lead and order records your workflows help collect or route.
  </Card>

  <Card title="Inbox" icon="inbox" href="/guides/inbox">
    Confirm workflow-driven conversations still land in the shared inbox as expected.
  </Card>
</CardGroup>
