# Let AI build your CRM. Workspace369 is the back office it plugs into.

> Build a CRM with Claude Code or Cursor. Workspace369 gives your AI agent clients, proposals, e-signatures, invoices and payments through one MCP connection.

Canonical: https://workspace369.com/build-a-crm-with-ai/
Last updated: 2026-11-04

It holds the clients, pipeline, proposals, e-sign and invoices your agent reads and writes, over MCP or HTTP. Claude Code, Cursor, Lovable or ChatGPT builds the screens.

14-day free trial. Card required. After the trial: from $29/month. Renews automatically every month until you cancel. Cancel anytime in Settings → Billing.

[Run the sample CRM, no account](https://workspace369.com/build-a-crm-with-ai/#sample)

Simon Dziak, FounderUpdated November 6, 2026

Build prompt for a

**Build me a CRM for my design studio as a Next.js app.** Use the workspace369 MCP server as the backend for every record…

Demo build with sample data: the pipeline screen of a starter CRM an AI coding agent built on Workspace369.

## Key takeaways

- Workspace369 is the backend: clients, pipeline stages, custom fields, proposals, e-signatures and invoices. Your AI agent can set up your pipeline stages and custom fields too, then build the screens on top.
- MCP and personal access tokens work on every plan. The HTTP Builder API is on every plan too.
- In our four timed runs, Claude Code went from prompt to finished CRM code in 3.6 to 10.7 minutes; the latest, with the current docs prompt, worked with no fixes.
- You can run the starter CRM on sample data with no account and no card.
- Sending to a client waits for approval in the app, and every call is logged.
- Pick Supabase instead when the CRM is the product you sell.

## How do I build a CRM with AI?

Connect an AI coding agent such as Claude Code to the Workspace369 MCP server, paste a build prompt that says what your business does, and let the agent build the screens. Your clients, proposals, contracts and invoices stay in Workspace369, so the agent writes the front end, not the backend.

The same steps work in Cursor, Windsurf and other MCP clients. In Claude on the web, add Workspace369 as a connector instead of step 1.

### Try it first with sample data, no account

The [CRM starter](https://github.com/Workspace369-LLC/crm-starter#quick-start-with-sample-data) ships with a mock server: a sample company with 12 clients, proposals and invoices. It resets on restart. Run the mock in one shell window and the app in a second, then open localhost:3000.

```
git clone https://github.com/Workspace369-LLC/crm-starter
cd crm-starter && npm install
npm run mock

# second shell window, same folder
printf 'W369_TOKEN=mock-token\nW369_MCP_URL=http://localhost:4010/mcp\n' > .env.local
npm run dev
```

1. 1 Connect Claude Code to your workspace If you started the trial, you are the owner. Open Settings, then AI, then AI connections, and turn on Allow AI connections. Then add the server and run /mcp in Claude Code to sign in. Sign in with Google or with your Workspace369 email and password. If you signed up with Apple, choose a password first: Settings → your account → Reset password by email. `claude mcp add --transport http workspace369 https://mcp.workspace369.com/mcp` Using Cursor or VS Code? Add the core CRM toolset in one click:[Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=workspace369&config=eyJ1cmwiOiJodHRwczovL21jcC53b3Jrc3BhY2UzNjkuY29tL21jcC9jcm0ifQ%3D%3D)[Add to VS Code](https://vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522workspace369%2522%252C%2522type%2522%253A%2522http%2522%252C%2522url%2522%253A%2522https%253A%252F%252Fmcp.workspace369.com%252Fmcp%252Fcrm%2522%257D)
2. 2 Paste the build prompt Tell the agent what your business does. It reads your real clients, proposals and invoices and builds around them. `Build me a CRM for my design studio as a Next.js app. Use the workspace369 MCP server as the backend for every record: clients, requests (new leads), proposals, contracts, invoices, payments, projects and tasks. Do not create your own tables for these. First call workspace_get_context and workspace_schema to learn my workspace. Before any code, propose the pipeline stages and client fields my business needs, call crm_apply_blueprint with dry_run true and show me the preview. Apply it only after I say yes. Then build: 1. A leads inbox from requests_search, with a button that runs requests_convert_to_client. 2. A client list split into prospects and clients (clients_search), with a header from pipeline_summary: clients per stage. 3. A client page with that client's proposals and invoices, and its next follow-up from follow_ups_list. 4. A "draft proposal" button that uses proposals_create_draft. Sending stays with me in Workspace369. 5. A delivery board from task_boards_list and tasks_search. Keep every key on the server. Never expose the token in the browser.`
3. 3 Call the same backend from your app's server Your deployed app's server calls the same tools over HTTPS with a personal access token (Settings → AI → AI connections → Personal access tokens; pick only the scopes your app needs). Tokens belong to the person who made them, so create it from an account that will stay with the business. `curl https://mcp.workspace369.com/mcp \ -H "Authorization: Bearer $W369_TOKEN" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"clients_search","arguments":{"query":"acme"}}}'`

Step-by-step guide with Node and Python examples: [Build a custom CRM with an AI coding agent](https://docs.workspace369.com/v/2026.3/build-with-ai/build-a-custom-crm-with-an-ai-coding-agent/). On every plan, your app can also call plain HTTP endpoints: [Call Workspace369 over HTTP (Builder API)](https://docs.workspace369.com/v/2026.3/build-with-ai/call-workspace369-over-http-builder-api/). Starter code on GitHub: the [CRM starter template](https://github.com/Workspace369-LLC/crm-starter) and the [Workspace369 MCP server](https://github.com/Workspace369-LLC/workspace369-mcp).

Core CRM toolset: for a focused tool list, connect to `https://mcp.workspace369.com/mcp/crm` instead. It has 33 core CRM tools and no send tools, and it uses the same sign-in and token as `/mcp`. Use `/mcp` for everything else.

## How long does it take?

In our four timed runs, Claude Code took 3.6 to 10.7 minutes from pasting the prompt to finished code, against a demo workspace. The latest run, with the current docs prompt, took 10.7 minutes because the agent also installed, tested and built the app itself, and the app then worked with no fixes. The table shows what broke in earlier runs.

**Four timed runs of an AI agent building a CRM on Workspace369**

| Measure | Run 4 · October 25, 2026 Measured by us, one run | Run 3 · October 24, 2026 Measured by us, one run | Run 2 · October 24, 2026 Measured by us, one run | Run 1 · October 22, 2026 Measured by us, one run |
| --- | --- | --- | --- | --- |
| Prompt and address | Current docs prompt, full /mcp address | Docs prompt as published that day, /mcp/crm | Tutorial prompt, core CRM /mcp/crm address | Tutorial prompt, full /mcp address |
| Prompt to finished code | 10.7 min, 89 agent turns | 4.6 min, 32 agent turns | 3.6 min, 18 agent turns | 8.2 min, 49 agent turns |
| Agent's own tests | 33 passed | 11 passed | 20 passed | 27 passed |
| Type check and build | Agent ran the type check and build itself; both passed | No build step: the agent chose plain Node.js | Failed on one wrong type, then passed after a one-word fix | Type check and build passed |
| What broke | Nothing blocking: one Next.js warning in the server log, pages loaded live data | It read a different token variable than the docs set; one rename fixed it | The agent was told not to run the build, so it missed the type error | Nothing |

1. Run 4 · October 25, 2026 Measured by us, one run Prompt and address Current docs prompt, full /mcp address Prompt to finished code 10.7 min, 89 agent turns Agent's own tests 33 passed Type check and build Agent ran the type check and build itself; both passed What broke Nothing blocking: one Next.js warning in the server log, pages loaded live data
2. Run 3 · October 24, 2026 Measured by us, one run Prompt and address Docs prompt as published that day, /mcp/crm Prompt to finished code 4.6 min, 32 agent turns Agent's own tests 11 passed Type check and build No build step: the agent chose plain Node.js What broke It read a different token variable than the docs set; one rename fixed it
3. Run 2 · October 24, 2026 Measured by us, one run Prompt and address Tutorial prompt, core CRM /mcp/crm address Prompt to finished code 3.6 min, 18 agent turns Agent's own tests 20 passed Type check and build Failed on one wrong type, then passed after a one-word fix What broke The agent was told not to run the build, so it missed the type error
4. Run 1 · October 22, 2026 Measured by us, one run Prompt and address Tutorial prompt, full /mcp address Prompt to finished code 8.2 min, 49 agent turns Agent's own tests 27 passed Type check and build Type check and build passed What broke Nothing

Claude Code, headless, on a Workspace369 demo workspace with sample data and a read-only token, October 22 to 25, 2026. One run each, so these are examples, not a benchmark. Earlier runs used older prompts; the October 25 run uses the prompt in the docs today.

## What does an AI-built CRM still need a backend for?

For everything that holds client records and money: the database and sign-in, the pipeline, proposals, e-signatures, invoices and payments, plus an approval step before anything is sent to a client. On Workspace369 those parts are already built, behind one connection.

We asked ChatGPT and Claude, once each, what to build a CRM for a consulting business on with Claude Code. Both named Supabase first, and each also named other services to connect. Each of those is a separate service to set up and pay for.

### The stack they suggested

ChatGPT (logged out, web search on) and Claude.ai (web search on), one run each, October 18, 2026

**Database and auth**Supabase (both)

**App framework**Next.js (ChatGPT)

**Payments**Stripe (both)

**Signatures**DocuSign or Documenso (Claude)

4 parts to set up and connect

Single runs, not a ranking: answers vary between runs and engines. ChatGPT named Supabase, Next.js and Stripe; Claude named Supabase, Stripe and DocuSign or Documenso.

### Your AI-built CRM on Workspace369

Your agent builds the screens and the workflow you want

**Clients, leads and notes**Included

**Proposals with signing and deposits**Included

**Contracts clients sign online**Included

**Invoices, retainers, payments**Included

**Calendar and reminders**Included

**Inbox, tasks, time, automations**Included

**Permissions, approvals, audit log**Included

1 connection, from $29/month

Online booking pages start on Specialist. Custom fields are on every plan, and every request records whether it came from a form, funnel or page; lead-source tagging on clients starts on Voyager. Cadet allows one seat and 20 services, with unlimited projects.

## More than 100 tools your agent can call

Each call runs as the person who connected, with that person's permissions. Sending to a client waits for approval in the app unless that person turns on “send without asking” for the connection.

### Clients and leads

Search, create and update clients with custom fields, move them between stages, convert requests, follow-ups, lead sources.

### Proposals

Drafts, design, sections, templates, and sending for signature and deposit.

### Contracts

Templates, sending for e-signature, reminders, voiding.

### Invoices and payments

Drafts, sending, retainers, recurring plans, recording payments.

### Calendar and booking

Events, availability, booking pages, reminders.

### Projects and tasks

Boards, subtasks, comments, board schemas.

### Inbox

Sending messages and searching conversations.

### Automations

List and test workflows, read their runs, switch them off.

### Workspace schema

Record types, fields and client stages, so an agent learns your data model before it builds screens.

Full list in the [MCP tools reference](https://docs.workspace369.com/v/2026.3/ai-connections/mcp-tools-reference/). Setup details: [MCP integration](https://workspace369.com/integrations/mcp/) and [API workflows](https://workspace369.com/integrations/api-workflows/).

## Safe enough to point at real client data

### Off until an admin turns it on

MCP is off for every workspace by default. Admins can allow only the apps they choose.

### Real permissions on every call

A team member’s agent sees only what that member can see, checked live on each call.

### Approvals before anything goes out

Sending a proposal, contract, invoice or message waits for a person to approve it in the app, unless the person who connected turns on “send without asking”.

### A logged trail

Each call is written to the workspace’s audit log with who made it, which tool, when, and whether it succeeded.

## Send email from your own domain

Your CRM can send its own transactional email, such as booking confirmations, invoice reminders and welcome emails, through the Workspace369 email API. Each email goes out from an inbox on your own verified domain, with no Workspace369 branding added, and replies go to that inbox.

```
curl https://mcp.workspace369.com/v1/email/messages \
  -H "Authorization: Bearer $W369_SEND_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: booking-123-confirm" \
  -d '{
    "from": { "inbox_id": "inb_AbCdEfGhIjKlMnOpQrSt", "name": "Fade Lab" },
    "to": [{ "email": "guest@example.com" }],
    "subject": "Your booking is confirmed",
    "text": "See you Friday at 3 pm.",
    "tracking": { "opens": false, "clicks": false }
  }'
```

### A send-only key

The key can send email from your verified inboxes, or only the ones you pick, and nothing else: it can’t read clients, messages or invoices. Keep it on your server and revoke it any time.

### No duplicate sends

Give each email a stable Idempotency-Key, such as the booking id. A retry with the same key never sends the email twice.

### Limits you can plan around

120 requests a minute per key, and up to 1,500 emails a day per workspace (400 a day in its first 30 days). Over a limit, the API says how many seconds to wait.

### Bounces handled for you

After a hard bounce or a spam complaint, Workspace369 stops emailing that address from every inbox in the workspace, and the refused send uses no credits.

API emails use 1 email credit per recipient plus a little AI usage. Email credits come in packs: 1,000 for $9, 5,000 for $29 or 20,000 for $99. Setup, limits and every error code: [Send email with the Workspace369 API](https://docs.workspace369.com/v/2026.3/build-with-ai/send-email-with-the-workspace369-api/).

## Pricing

MCP and personal access tokens are on every plan once an admin turns on AI connections. Calls draw on your plan's monthly AI usage allowance: reads cost the least, sends the most, and failed calls are free. Cache lists in your app instead of reloading them on every screen, and the allowance goes much further.

**$29**Cadet, per month, with a monthly AI usage allowance

Webhooks are on every plan; the Builder API is on every plan too. See [all plans](https://workspace369.com/pricing/).

## Questions builders ask

**Can I build my own CRM on Workspace369?**

Yes. Connect an AI agent such as Claude Code or Cursor to the Workspace369 MCP server and ask it to build the screens you want. Your clients, proposals, contracts, invoices and payments stay in Workspace369, so the parts that handle money and signatures are already built and tested.

**Do I still need Supabase or Firebase?**

Not for client records, proposals, contracts, invoices, payments or bookings. You only need your own database for data Workspace369 doesn’t hold.

**Should my AI-built CRM use Supabase or a CRM backend like Workspace369?**

Supabase gives you a database, sign-in and storage. You then build the pipeline, proposals, e-signatures, invoices, payments and the approval step for client emails yourself. Workspace369 already has those, and your agent reaches them through the MCP server. Pick Supabase when the CRM is the product you sell or your data looks nothing like clients and deals. Pick Workspace369 when you run a service business and want your own screens on top of real client records, proposals, contracts and invoices. You can use both: keep app-only tables in Supabase and the client and money records in Workspace369.

**Is Workspace369 a headless CRM?**

It can be used as one. Your own app or agent reads and writes clients, pipeline stages, custom fields, proposals, contracts, invoices and projects through the MCP server, with a personal access token on your server. Your team can keep using the Workspace369 app on the same data, so you don’t have to build an admin screen for everything.

**Is there a REST API?**

Yes, on every plan, trials included. The Builder API at mcp.workspace369.com/v1 gives clients, proposals, invoices, contracts, projects, tasks, requests and calendar events their own URLs, with a public OpenAPI spec, so an app built with Lovable, v0, Bolt or Replit can call it from its server with a personal access token. It runs the same tools, permissions and approvals as MCP. On every plan, your app’s server can call the MCP endpoint over HTTPS instead, as in step 3. Webhooks notify your app when proposals, contracts, invoices or leads change (every plan).

**Can I try this during the free trial, and what does it cost?**

Yes. The MCP server and personal access tokens work on every plan, so you can connect Claude Code or Cursor during the trial. The 14-day free trial starts when you save a card, and nothing is charged for 14 days. Your agent’s calls use your plan’s monthly AI usage. The REST Builder API (/v1) is included on every plan, Cadet and up, trials included.

**Can my CRM send email from my own domain?**

Yes. Create a send-only key in Workspace369 and call the email API from your server: each email goes out from an inbox on your own verified domain, one recipient per call, with an Idempotency-Key so retries never send twice. Each email uses 1 email credit per recipient plus a little AI usage; email credits come in packs from $9 for 1,000.

**What can’t my agent do through Workspace369?**

It can’t delete clients, projects or invoices, or manage team members and their permissions. Do those in the app.

**Which AI tools work?**

Claude Code, Cursor, Windsurf and VS Code with Copilot, plus Claude on the web as a custom connector. ChatGPT can connect it as a custom connector on plans that offer developer mode. Any app that supports remote MCP servers with OAuth can connect.

**Will the agent email my clients by itself?**

No. Sends wait for approval in the app unless the person who connected turns on “send without asking” for that connection.

**What if my agent gets stuck?**

Paste the exact error back to the agent and ask it to list the Workspace369 tools before it tries again. In our earlier timed runs, the two problems were a wrong environment variable name and a type error the agent had been told not to check; each took one small fix. If you would rather hand it over, App369, the studio run by Workspace369’s founder, reviews AI-built apps in a $450 Launch Check that is credited to its Rescue Sprint, and sets up Workspace369 for you from $450.

## Rather not build it? App369 builds it for you at a fixed price

App369 is the fixed-price studio run by Workspace369's founder. It builds a custom CRM on the Workspace369 backend or fully on your own stack. Every build starts with a $450 written scope that ends in a fixed quote, and the scope is yours to keep.

- [**Get it built for you**See App369's fixed prices](https://app369.com/fixed-price/custom-crm-build/?utm_source=workspace369&utm_medium=referral&utm_campaign=ai-builders-crm&utm_content=build_page_built_for_you)
- [**Agent stuck halfway?**$450 Launch Check, credited to the Rescue Sprint](https://app369.com/fixed-price/ai-app-rescue/?utm_source=workspace369&utm_medium=referral&utm_campaign=ai-builders-crm&utm_content=build_page_rescue)

## See where Workspace369 fits into your client-work flow.

Start with the modules you need today, then turn on AI, automations, accounting, inventory, requests, and reporting as the operation grows.

[Request a demo](https://workspace369.com/contact-sales/)
