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

# Vibefollow

> AI follow-ups that convert SaaS signups into customers.

Vibefollow is an autonomous Revenue Manager for SaaS. You stream user events from your backend; we ground every follow-up in your product knowledge base and send personalized lifecycle emails from your own domain.

Three primitives is all you need:

<Steps>
  <Step title="Identify a user">
    Upsert a user with traits — plan, signup date, role, anything that audience filters and the AI writer should know about.
  </Step>

  <Step title="Track the events that matter">
    Emit lifecycle events — signup, trial started, feature used, subscription changed. The 10 canonical events have typed helpers; custom events are accepted as-is.
  </Step>

  <Step title="Verify the signed webhooks">
    When emails are opened, clicked, replied to, or bounced, Vibefollow signs and POSTs the event back to your endpoint. Verify in one SDK call.
  </Step>
</Steps>

The TypeScript SDK wraps all of it. You can also call the REST endpoints directly — both produce the same outcome.

<Tip>
  Already on Stripe? Skip the historical backfill entirely. Connect a read-only restricted key in the dashboard and Vibefollow imports your existing customers and their billing history as lifecycle events in one click. See [Import existing users from Stripe](/integrations/stripe-import).
</Tip>

<CardGroup cols={3}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Identify a user and emit your first event in under a minute.
  </Card>

  <Card title="SDK reference" icon="cube" href="/sdk/overview">
    The `VibeFollow` class, resource methods, error hierarchy.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/webhooks/overview">
    Signed deliveries for opens, clicks, replies, bounces, unsubscribes.
  </Card>
</CardGroup>

## How it fits together

```mermaid theme={null}
flowchart LR
    A[Your backend] -->|POST /api/v1/users<br/>POST /api/v1/events| B[Vibefollow ingest]
    B --> C[Audience matching]
    C --> D[Claude-grounded drafting]
    D --> E[Email send via your verified domain]
    E --> F[Postmark events]
    F -->|signed POST| G[Your webhook endpoint]
    G -.->|opens, clicks, replies,<br/>bounces, unsubscribes| A
```

Drafts default to autopilot — they auto-send at deadline unless you approve, edit, postpone, or skip first. Quiet hours, throttle, and DKIM verification gates are all on by default.

## What you'll need

<CardGroup cols={3}>
  <Card title="An API key" icon="key">
    Issued in **Settings → Developers → API keys**.
  </Card>

  <Card title="A server-side runtime" icon="server">
    Node 20+, Cloudflare Workers (with `nodejs_compat`), Vercel Edge, or Deno. The browser is not supported — your key must stay server-side.
  </Card>

  <Card title="An HTTPS endpoint" icon="webhook">
    Optional — only needed if you want to consume signed webhook deliveries.
  </Card>
</CardGroup>

Pick a path and head to the [Quickstart](/quickstart).
