For Claude
Give Claude a CRM and it will build you one
Connect Claude to an Indraft workspace and it can set the whole thing up and keep it current. You authorize through WorkOS AuthKit, so there is no key to paste, and you can revoke it from the workspace whenever you want.
Two steps
The onboarding is the product
A new workspace already holds the canonical model and a pipeline that can actually close a deal, so there is no schema builder and no sample-data wizard to get through first.
Add the endpoint
In the Claude apps, add this as an MCP connector and approve the authorization.
https://api.indraft.io/mcp In Claude Code, one command does it, and it takes you through the browser exactly as the apps do:
claude mcp add --transport http indraft https://api.indraft.io/mcp For something that runs with nobody present, a CI job or a server, use a token from Settings instead. It is the same server with the authorization supplied rather than asked for:
claude mcp add --transport http indraft https://api.indraft.io/mcp \
--header "Authorization: Bearer $INDRAFT_TOKEN"
To share it with a repository rather than yourself, the same server
goes in .mcp.json beside your code:
{
"mcpServers": {
"indraft": {
"type": "http",
"url": "https://api.indraft.io/mcp",
"headers": { "Authorization": "Bearer ${INDRAFT_TOKEN}" }
}
}
} Paste this
Then watch the activity view fill in.
Set up Indraft for my business. Read its CRM schema first, then tell me what you think we do and how you plan to model it, and wait for my answer before you write anything. Configure the pipeline to match how we actually sell, add the custom fields that earn their place, and if something we run on is not a company, contact, opportunity, interaction or task, define an object type for it rather than forcing it into a field. Then populate what you already know from our conversations. Do not create duplicate people or companies: if an upsert comes back ambiguous, tell me rather than picking one.
This is the same instruction the product shows you inside the workspace. It is versioned with the code rather than written fresh for this page, so the two cannot drift apart.
The measure
You should not create a single field by hand
Not the pipeline, not the stages, not a custom field, not a contact. Claude reads what the workspace supports and builds the rest, and the first time you open Indraft it is already shaped around how you sell.
Every change stays attributable
Each credential is its own actor, so authorizing two clients gives you two identities in the history, and revoking one does not rewrite what it did. A caller can also label a run, which Indraft displays as something the caller asserted rather than something it verified.
Other clients
Nothing here is Claude-specific
The MCP server is standard, so ChatGPT or any other MCP client connects the same way. Anything that cannot speak MCP can use the REST API over the same objects.
What your agent can and cannot reach
Everything about your customer data, including the configuration. Four things stay with a person on purpose: authorizing an agent, adding a teammate, paying, and destroying something permanently. Creating a workspace and taking a copy of everything out are both reachable by a credential now, each behind a scope of its own.