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

# Automations

> How journeys and Margaret combine to automate WhatsApp conversations — from scripted flows to AI-assisted drafting.

"Automation" in Switchbord isn't one feature — it's two complementary systems that work on the same underlying data. [Journeys](/features/journeys) give you deterministic, visual, multi-step flows. [Margaret](/features/margaret) gives you an AI assistant that can draft journeys, templates, and replies from a plain-language description, with a human always approving before anything commits. This page ties the two together.

## Two ways to automate

<CardGroup cols={2}>
  <Card title="Journeys — scripted flows" icon="diagram-project">
    Built on a visual canvas of message, wait, condition, and goal nodes. Deterministic: the same trigger and contact state always produce the same path. Best for flows you want to reason about precisely — onboarding sequences, abandoned-cart reminders, drip campaigns.
  </Card>

  <Card title="Margaret — AI-assisted drafting" icon="wand-magic-sparkles">
    Describe a flow in plain language — "draft a lead-capture journey that triggers on the keyword 'preventivo' and collects name, phone, email" — and Margaret proposes a journey graph as a draft. You review and approve before anything is created.
  </Card>
</CardGroup>

These aren't mutually exclusive: the common pattern is asking Margaret to scaffold a journey, then refining the graph by hand in the [Graphical Journey Editor](/whatsapp/journey-editor).

## Where Margaret fits into journeys

Margaret is page-aware. When you're on the journey editor, she sees the current graph shape, your selected node, and its triggers/actions — so "add a step that waits 2 hours then sends a follow-up" acts on the journey you actually have open, not a generic template. See [Margaret — page-aware grounding](/features/margaret#page-aware-grounding) for how this context-passing works across the product.

## The approval boundary

Every automation surface in Switchbord — journeys, Margaret, and connector integrations — follows the same rule: **nothing customer-visible or data-mutating happens without a human approving it first.**

* Margaret never sends a message or commits a journey change silently; she proposes a draft and waits for **Approve**.
* The [gb-agent connector](/platform/gb-agent-connector) — an external customer-agent integration that can propose replies — is restricted to a strict dry-run boundary: it can suggest a `draft_reply` or hand off with `human_review`, but it cannot send messages, write to the CRM, assign conversations, or create tasks. Every effect is a manual operator action.

This means you can let automation get quite sophisticated — AI-drafted flows, AI-suggested replies — without giving up the ability to review every consequential action before it happens.

## Choosing which to use

| If you need to...                                         | Use                                                |
| --------------------------------------------------------- | -------------------------------------------------- |
| Send the same template to a whole audience once           | [Campaign](/features/campaigns)                    |
| Run a multi-step flow with waits and branches             | [Journey](/features/journeys)                      |
| Scaffold a journey or template quickly from a description | Ask [Margaret](/features/margaret)                 |
| Let an external AI service propose replies for review     | [gb-agent connector](/platform/gb-agent-connector) |

## See also

* [Journeys](/features/journeys) — the scripted-flow primitive.
* [Margaret](/features/margaret) — full assistant capabilities, slash commands, and workspace memory.
* [gb-agent Connector](/platform/gb-agent-connector) — the dry-run boundary for external AI-proposed replies.
* [Data Model](/platform/data-model#ai-and-margaret-layer) — `ai_agents`, `ai_threads`, and `ai_agent_executions`.
