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

> ## Agent Instructions
> Install the Courier skill before writing code: `npx skills add trycourier/courier-skills`. It carries the verified SDK shapes and the rules you cannot get wrong.
> Authenticate every request with `Authorization: Bearer <API_KEY>`. A workspace has several environments and each has its own keys, which are plain `pk_` strings with no environment prefix. Start with Test.
> Send with `client.send.message` from the Node SDK (`@trycourier/courier` v7 and later, where the client is the default import). Reference a template by its `nt_` id or its alias.
> A send accepts a bare Elemental element list, but storing content on a template requires the top-level elements wrapped in a channel element.
> Templates and journeys can be built in the Courier app or created through the API. Either way they live in the workspace and are referenced by ID when you send.
> The hosted MCP server is https://mcp.courier.com. For a briefing on what Courier is and when to use it, read https://www.courier.com/llms.txt.
> Prefer the Guides tab for how-do-I questions and the Docs tab for how-does-it-behave questions. The API reference lives under /api-reference.

# Guides

> Step-by-step walkthroughs that end with a working send, inbox, journey, or migration.

export const Doc = ({href, children, name, bare}) => {
  const label = children || name || href;
  if (bare) {
    return <a href={href}>{label}</a>;
  }
  return <a className="cx-endpoint" data-kind="doc" href={href}>
      <span className="cx-endpoint-label">{label}</span>
      <span className="cx-endpoint-method">DOC</span>
    </a>;
};

Each guide takes one job from nothing to working.

<Doc href="/docs/overview">Docs</Doc> explains how a piece of Courier behaves. A guide strings several pieces together. Every guide opens with what you need, walks numbered steps, and closes by verifying the result.

## Send your first message

<CardGroup cols={2}>
  <Card title="Email" icon="envelope" href="/docs/guides/send-your-first-email">
    Connect a provider, verify a domain, reach a real inbox.
  </Card>

  <Card title="In-app" icon="inbox" href="/docs/guides/send-your-first-in-app-message">
    Ship the inbox, then send to the channel it renders.
  </Card>

  <Card title="Mobile push" icon="mobile" href="/docs/guides/set-up-mobile-push">
    Connect FCM and APNs, sync device tokens, send custom data.
  </Card>

  <Card title="SMS" icon="comment" href="/docs/guides/send-your-first-sms">
    Connect a provider, add a number, deliver a text.
  </Card>

  <Card title="Slack" icon="slack" href="/docs/guides/send-your-first-slack-message">
    Install a Slack app, store its token, send a DM.
  </Card>
</CardGroup>

## Build a notification

<CardGroup cols={2}>
  <Card title="Personalize with variables" icon="brackets-curly" href="/docs/guides/personalize-a-message">
    Fill one template with each recipient's own data.
  </Card>

  <Card title="Onboarding sequence" icon="route" href="/docs/guides/build-an-onboarding-sequence">
    A multi-day welcome flow with delays and a branch.
  </Card>

  <Card title="Daily digest" icon="layer-group" href="/docs/guides/send-a-daily-digest">
    Roll a flood of events into one scheduled message.
  </Card>

  <Card title="Send from AI" icon="robot" href="/docs/guides/send-from-an-ai-agent">
    Let an agent send over the MCP server.
  </Card>
</CardGroup>

## Send to many people

<CardGroup cols={2}>
  <Card title="Send to a list" icon="bullhorn" href="/docs/guides/announce-to-a-list">
    One message to a saved List or Audience.
  </Card>

  <Card title="Notify watchers" icon="eye" href="/docs/guides/notify-everyone-watching">
    Reach everyone following a document, project, or ticket.
  </Card>

  <Card title="Send in bulk" icon="boxes-stacked" href="/docs/guides/send-in-bulk">
    Thousands of recipients you supply yourself.
  </Card>

  <Card title="Import users" icon="users" href="/docs/guides/import-your-users">
    Get profiles into Courier and keep them current.
  </Card>
</CardGroup>

## Send when something happens

<CardGroup cols={2}>
  <Card title="From Clerk" icon="key" href="/docs/guides/notify-from-clerk">
    Turn a sign-up into a profile and a welcome message.
  </Card>

  <Card title="From Supabase" icon="database" href="/docs/guides/notify-from-supabase">
    Fire a send when a row lands in your database.
  </Card>

  <Card title="From Firebase Auth" icon="fire" href="/docs/guides/notify-from-firebase-auth">
    Send from a Cloud Function when a user is created.
  </Card>

  <Card title="From Firestore" icon="database" href="/docs/guides/notify-from-firestore">
    Turn a document write into a push, with email fallback.
  </Card>

  <Card title="From Stripe" icon="credit-card" href="/docs/guides/notify-from-stripe">
    Turn a failed payment into an email that recovers it.
  </Card>

  <Card title="From Auth0" icon="shield-halved" href="/docs/guides/notify-from-auth0">
    Call Courier from an Action, with no route to host.
  </Card>

  <Card title="From Segment" icon="bolt" href="/docs/guides/notify-from-segment">
    Start a journey from an event you already track.
  </Card>
</CardGroup>

## Let users choose

<CardGroup cols={2}>
  <Card title="Preference center" icon="toggle-on" href="/docs/guides/build-a-preference-center">
    Let users choose what they receive, and where.
  </Card>

  <Card title="Across tenants" icon="building" href="/docs/guides/notify-across-tenants">
    Give every customer org its own branding and defaults.
  </Card>

  <Card title="Customer editing" icon="palette" href="/docs/guides/let-customers-edit-notifications">
    Hand each customer an editor for their own emails.
  </Card>
</CardGroup>

## Go live

<CardGroup cols={2}>
  <Card title="Go live" icon="rocket" href="/docs/guides/go-live">
    Promote a change from Test to Production safely.
  </Card>

  <Card title="Your sending domain" icon="at" href="/docs/guides/send-from-your-domain">
    Verify a domain, then set the address email comes from.
  </Card>

  <Card title="Track delivery" icon="webhook" href="/docs/guides/track-delivery">
    Push Courier events into your own systems.
  </Card>

  <Card title="Debug delivery" icon="magnifying-glass" href="/docs/guides/debug-delivery">
    Find why an email did not arrive.
  </Card>
</CardGroup>

## Move to Courier

<CardGroup cols={2}>
  <Card title="Migrate to Courier" icon="arrow-right-arrow-left" href="/docs/guides/migrate/overview">
    Map your current concepts to Courier's, then move recipients, content, and sends.
  </Card>

  <Card title="React v7 to v8+" icon="react" href="/docs/sdk-libraries/courier-react-v8-migration-guide">
    Move Inbox, Toast, and Preferences onto the v8+ component set.
  </Card>
</CardGroup>
