| title | Quickstart |
|---|---|
| description | Sign up, run your first zombie, verify credits in under ten minutes. |
This walks you from a fresh browser tab to your first executed zombie run. You need a terminal with curl, a GitHub or Google account for sign-in, and the zombiectl CLI installed. No database, no Docker, no ngrok.
Open app.usezombie.com and sign up with GitHub, Google, or email. Clerk runs the auth flow — nothing to redeem, no gates to clear.
Prefer a GUI? The same workflow is available in **Mission Control** at [app.usezombie.com](https://app.usezombie.com) — overview page, zombies list with search, install form, detail page with kill switch. The CLI and Mission Control stay in sync.Your tenant is created on first sign-in with a $10 (1000¢) balance seeded automatically. Credits are tenant-scoped, shared across every workspace under the tenant — you can create as many workspaces as you like without fragmenting the balance.
The dashboard header shows the live balance in the top right. Keep the tab open; you'll watch it tick down after Step 4.
npm install -g @usezombie/zombiectl
zombiectl --version
zombiectl loginzombiectl login opens a browser tab, completes the Clerk flow, and writes an authenticated session to ~/.config/usezombie/credentials.json.
Check that the CLI is wired to your tenant:
zombiectl workspace listIf the list is empty, create your first workspace by binding a GitHub repository:
zombiectl workspace add https://github.com/your-user/your-repoThis opens the UseZombie GitHub App install flow in your browser, finishes the binding, and sets the new workspace as current. See the workspaces guide for the full reference.
If you manage more than one workspace, pick the one you want the CLI pointed at:
zombiectl workspace use ws_abc123 # make it active
zombiectl workspace show # confirmworkspace use persists the choice to ~/.config/zombiectl/workspaces.json; every later command that accepts --workspace-id defaults to it when the flag is omitted. Mission Control's own workspace switcher is backed by a cookie and stays independent — you can point the CLI at staging while the browser watches production.
Scaffold a zombie from a bundled template. The slack-bug-fixer template is the smallest happy-path starter:
zombiectl install slack-bug-fixer
cd slack-bug-fixerTwo files land in the new directory:
slack-bug-fixer/
├── SKILL.md # agent instructions (natural language)
└── TRIGGER.md # trigger, skills, credentials, budget
Open TRIGGER.md and tighten the budget if you want — the default is $5/day, $29/month, which is plenty for the smoke test.
If you want to explore other starting points, see the flagship Homelab Zombie or the full zombies index.
zombiectl upYou'll see output like:
✓ zombie created id=zm_019abc12-8d3a-7f13-8abc-2b3e1e0a6f11
✓ webhook live POST https://hooks.usezombie.com/v1/webhooks/019abc12-8d3a-7f13-8abc-2b3e1e0a6f11
✓ agent running status=alive
In the dashboard, the new zombie appears under Zombies → click in to see its detail page (logs tail, recent runs, skill calls). The webhook URL is also copyable from the detail page header.
Export the zombie id for the next step:
export ZOMBIE_ID=<paste the id from the output above>Fire a synthetic webhook event at your zombie:
curl -X POST https://hooks.usezombie.com/v1/webhooks/$ZOMBIE_ID \
-H "Content-Type: application/json" \
-d '{
"event_id": "demo-001",
"type": "message.received",
"data": {"from": "alice@example.com", "subject": "Smoke test"}
}'The HTTP response comes back in milliseconds with {"accepted": true} — ingestion is fast because execution happens in the background. Watch the dashboard detail page: within a few seconds the new event appears in the activity stream, the agent reasons, and the run completes.
Read logs from the CLI if you prefer:
zombiectl logs --zombie $ZOMBIE_ID --limit 50The output is paginated — re-run with --cursor <next_cursor> to see older events.
Refresh the dashboard header. Your tenant balance has dropped by the cost of the run — typically a few cents. The Billing page (app.usezombie.com/billing) shows the debit line-item, linked back to the run ID you just triggered.
Or via CLI:
zombiectl workspace billingYou now have a live zombie, a completed run, and a verifiable credit deduction. Kill the zombie when you're done:
zombiectl kill slack-bug-fixer