agentcyTry free
Docs. Start to finish in 10 minutes

Everything you need to ship today.

Quick-start through subdomains. Skip around with the section list — or read it top to bottom over coffee.

From signup to first deliverable in 5 minutes.

  1. Sign up at /signup. Magic-link email. No card.
  2. Create your first workspace — one workspace per client. Pick a slug (it becomes {slug}.openagentcy.com) and check the compliance attestation box.
  3. Pick agents. Either browse by category, or skip to the “Describe your client” box at the top — Haiku will suggest 5–8 agents tuned to that client’s needs and pre-toggle them.
  4. Set up the brand kit. Voice paragraph, adjectives, words to avoid, reading level cap. The critic uses this on every output.
  5. Load knowledge (optional) — onboarding briefs, brand bibles, transcripts. Up to 30k tokens of context per agent call.
  6. Open the chat. Ask any agent for any deliverable. Save the good ones, send your client the magic link, ship.

One workspace per client. Always.

Agentcy enforces a 1-workspace-per-client model. It’s the foundation of brand grounding (a workspace has exactly one active brand kit), of metering (usage rolls up per workspace), and of the client portal (the deliverable URL is keyed to the workspace).

Workspaces have members (people with access — agency team, optionally end-client viewers), agents (which specialists are enabled), brand kit (versioned), and knowledge documents (versioned, scoped to the workspace).

You can save a workspace as a preset — its agents, brand kit, and knowledge starter — then clone it for every new client. This is how production agencies onboard new accounts in 10 minutes.

How a single message becomes a deliverable.

Every chat message goes through three stages:

  1. Router — Haiku 4.5 with a prompt-cached system prompt containing the workspace’s enabled agents. Picks one agent via tool-use. ~150ms warm.
  2. Agent — Sonnet 4.6 streams the response. System prompt includes the brand kit, knowledge docs, and the agent’s definition. Responses stream over SSE.
  3. Critic — only runs if the chosen agent has requires_critic = true. Checks voice match, reading level, brand prohibitions, and generic safety.

You can @-mention any enabled agent to override the router. Useful when you know exactly who you want — “@conversion-auditor look at this landing page”.

Save → send → approve.

When an agent output is good, hit Save as deliverable. Agentcy:

  1. Snapshots the message text into a deliverables row.
  2. Mints a single-use review token (24h expiry).
  3. Returns a clean URL on your subdomain ({slug}.openagentcy.com/r/{token}) plus a pre-filled mailto link so your existing email client opens with a draft.

The client clicks through, reads the work on a clean review page (your branding), and either approves or asks for changes. You get a Resend email when they decide.

Credits, meters, markup tiers.

Pricing is $97/month platform fee + $0.01 per Agentcy credit. Credits are computed at rollup time from the raw token cost of every LLM call (router + agent + critic), times your current rolling-30d markup tier.

Tiers come from the rolling-30d total billed: 2.5× under $500/mo, dropping to 1.8× past $10k/mo. The tier is recomputed daily — no upgrade requests, no support tickets.

Usage is reported to Stripe Billing Meters daily with idempotency keys, so retries can’t double-bill. See /pricing for the full tier table.

How tenant separation works.

Every table that holds tenant data has an agency_id column. We use Postgres row-level security with a custom JWT claim hook — auth.jwt()->agency_id is set at login and every query is scoped automatically.

The Supabase service-role key is only used in trusted server-side code (cron jobs, webhooks, server actions that have already authenticated the caller). Browser code uses the publishable key, which can’t bypass RLS.

Knowledge documents and chat history live in tenant-scoped tables. Brand kits are immutable per version — when you update one, a new row is inserted and old chat messages keep their original brand_kit_id.

Every agency gets one.

Sign up and claim {slug}.openagentcy.com. That’s your home — your dashboard, your client review pages, your agency directory listing all live there. Pick something short.

Custom domains (like app.your-agency.com) aren’t in V1. The subdomain story works fine for client review pages — the URL your client sees is yours, not Agentcy’s.

Got it. Build something.