Build a CRM with Claude Code in 15 minutes
By the end of this walkthrough you will have a CRM a small sales team can use today: contacts and companies, deals on a kanban by stage, a public lead form, an automation that nags about stale deals, and an endpoint your website posts new leads to. No server, no database setup, no admin to build. Every step is one prompt in Claude Code.
Before you start
- Claude Code installed and the TaskLite MCP server connected (see the one-prompt backend guide if not).
- A TaskLite account. The free trial is enough.
- Fifteen minutes. The agent does most of the typing.
Step 1: the data model (2 minutes)
In TaskLite, create a project "Sales CRM" with three boards. Companies: name, website, industry (dropdown: SaaS, agency, retail, other), size (number). Contacts: full name, email, phone, role, company (relation to Companies), source (dropdown: website, referral, event, outbound). Deals: title, contact (relation), company (lookup from contact), value (currency), stage (status: new, contacted, proposal, negotiation, won, lost), expected close (date), owner (people), last activity (date). Use proper types and make stage the status column.
What happens: create_project, three create_board calls, then create_column per field. Watch the types in the tool calls. If the agent tries to make phone a text column the server will answer with the suggested phone type and the agent retries. The relation and lookup columns are what make this a CRM rather than three spreadsheets.
Step 2: seed it with something real (1 minute)
Add three companies, five contacts linked to them, and six deals across different stages with realistic values, so I can see the pipeline.
The agent calls get_board_schema for each board first (it needs column ids to write cells), then create_item. Open app.tasklite.net: the Deals board already has a kanban view by stage. Drag a card to "proposal". That is the CRM.
Step 3: a lead form for the website (2 minutes)
Create a public form on the Contacts board with name, email, phone and a "what do you need" message field, so it can be embedded on our website. New submissions should get source = website.
Public forms are a product feature: the form gets its own URL and an embed snippet, no login required for the person filling it. If your MCP client version does not expose forms as a tool, create the form in the app (Forms, New) in under a minute; the agent will still reference it.
Step 4: the follow-up automation (3 minutes)
Add an automation on Deals: when a deal has been in "contacted" or "proposal" for more than 3 days without a change to "last activity", notify the owner and add a comment "Follow up needed".
Automations are configured in the app's automation builder (13 triggers, 28 actions). The agent can describe the exact trigger and actions to click, and in the hosted connector it can create them directly where the tool is available. Either way this is where most CRMs earn their keep: nobody forgets a warm lead.
Step 5: an endpoint for the landing page (3 minutes)
Create an app "website" over this project and expose the Contacts board as a POST-only endpoint "leads" with fields full name, email, phone, source. Create an API key for it and show me the curl.
curl -X POST https://api.tasklite.net/apps/website/api/leads \
-H "Authorization: Bearer <app key>" \
-H "Content-Type: application/json" \
-d '{"full_name":"Dana Levi","email":"[email protected]","phone":"+972501234567","source":"website"}'Keep the key on the server side of your site (a route handler, a serverless function, an environment variable). Restrict the endpoint to POST so a leaked key cannot read your pipeline. The exact base URL and field aliases come from get_app_spec; do not guess them.
Step 6: hand it to the team (4 minutes)
- Invite the salespeople as members. Each is $3 per month.
- Give them the kanban view of Deals as their home, and the Contacts table with the tap-to-call phone column.
- Turn on the "won" celebration: an automation that posts to the team channel when stage becomes won. Optional, but nobody has ever turned it off.
- Show them the mobile view once. That is the whole training.
What you did not have to do
Provision a database. Write migrations. Build an admin. Implement auth for the sales team. Design a kanban. Write a form handler. Host anything. The tradeoff is that this is a CRM shaped like TaskLite's boards; if you need deeply custom UI, use the endpoints and build your own on top, which is the other half of the backend guide.
Frequently asked questions
- Can I import my existing contacts?
- Yes, from CSV or Excel in the app, with column mapping. Or ask the agent to read your file and create the rows through the API.
- Does it do email sequences?
- Not built in. Automations can send emails on triggers, and most small teams in practice follow up by phone and WhatsApp, which the phone column opens with a tap.
- Is there a limit on deals or contacts?
- No row limits. Pricing is per user who logs in, not per record.