Builder guide
Use Slab5 as a headless CRM for beta requests
Beta signups deserve more than a Google Form. Here is the smallest setup that captures them in a real CRM, deduplicates them, schedules follow-ups, and tracks conversion — all without standing up a CRM SaaS.
The pipeline
1. Beta-request form posts to your backend. 2. Backend calls POST /v1/leads on Slab5 with email, name, intended use case, and source. 3. A webhook on lead.created fans the event out to Slack so the team sees it in real time. 4. A scoped MCP agent dedupes the lead against existing companies and posts an enrichment summary. 5. POST /v1/tasks schedules a 24-hour follow-up for the on-call founder. 6. When the beta call happens, POST /v1/leads/{lead_id}/convert promotes the lead into a contact, a company, and a deal stage on the onboarding pipeline.
What you get
A single workspace contains the lead, the company, the contact, the deal stage, the activity log of every interaction, and the tasks scheduled around it. Nothing falls through.
Why not a CRM SaaS
Most CRM SaaS products charge per seat for an editorial UI you do not actually need. Slab5 charges for workspace usage — not seats. Your CRM is reachable from your website, your internal dashboard, your MCP agents, and any other app you build in the same workspace.
Watch out for: the agent and conversion
Slab5's current CRM scopes are coarse: crm:read and crm:write. With crm:write, an agent can create leads, update them, and convert them — there is no separate crm:write:convert scope today.
If you want a triage agent that dedupes and enriches inbound leads without converting them on its own, you have two practical options:
1. Run the agent with `crm:read` plus `activity:write` and `tasks:write` only. It cannot convert, cannot create leads, cannot edit them. It can read everything, write enrichment notes to the Activity Log, and schedule follow-up tasks for a human to handle the conversion. 2. Run the agent with `crm:write` and supervise. It can dedupe, enrich, and convert. Every conversion is recorded against the agent identity in the audit log. If you see one you didn't intend, revoke the credential and adjust the prompt.
Conversion is a meaningful state change. Keeping a human in that loop for the first few months — either by scope or by convention — is the right default.
Finer-grained CRM scopes are on the roadmap. When they ship, you'll be able to grant crm:write for create and update while withholding conversion as a separate scope.
Agent workflow
Triage agent with the agent workspace role. For supervised dedupe + enrich + convert: crm:read, crm:write, tasks:write, activity:write. For a hard "no conversion" guarantee today: crm:read, activity:write, tasks:write only.
API workflow
POST /v1/leads from form backend. Webhook on lead.created. POST /v1/tasks for follow-up. POST /v1/leads/{lead_id}/convert on beta acceptance.
