What you'll be able to do after this guide: connect your CRM to Claude, set sensible permissions for each CRM tool, and prove the connection works with a test you can repeat.
We use Attio throughout this library. If you use a different CRM, the steps are the same in spirit: find its connector (or the web address of its MCP server), sign in, and set tool permissions. Any CRM will work if it offers an MCP connection and supports custom attributes.
In Claude, open Customize from the sidebar and choose Connectors.
Switch to Discover and search for Attio.
Click the Attio card to open its details.

If your CRM isn't in the directory but publishes an MCP server address (a web address the vendor gives you for connecting AI tools), use Add, then Add custom connector, and paste the server URL. On Team and Enterprise plans, only an owner can add a custom connector for the organisation. Each member then connects their own account.
Click Connect. You'll be sent to Attio to sign in and approve access. There are no API keys to copy: the connector uses your own Attio login, so Claude can only see and change what you can see and change.
Once connected, the details page shows Connected and lists the tools Attio provides.

The tools you will use most in this library are:
| Tool | Used for |
|---|---|
| search-records, list-records | Checking whether a company is already in the CRM; building an agent's work queue |
| get-records-by-ids | Reading a full record before acting on it |
| create-record, update-record, upsert-record | Adding companies and people; writing scores, dates and statuses (upsert means "create it, or update it if it already exists") |
| list-attribute-definitions | Reading your field definitions, including their descriptions |
| create-note, search-notes-by-metadata | Writing research notes and finding earlier ones |
| create-comment | Adding a summary comment to a deal |
| search-emails-by-metadata | Checking for email replies, if your mailbox is synced to Attio |
| create-task, list-tasks | Creating outreach tasks and checking for open ones |
| whoami, list-workspace-members | Finding the person tasks should be assigned to |
Open Your tool permissions on the connector page. Each tool can be set to one of three options: Always allow, Needs approval, or Blocked.

A sensible starting point:
Read-only tools (search, list, get): Always allow. Agents read constantly, and asking each time would stall a scheduled run.
Write tools (create, update, upsert, create-note, create-comment, create-task): Always allow, for the agents that need them, once you have tested those agents in a supervised run.
Destructive tools (anything that deletes or merges records): Blocked. None of the agents in this library need them, and a deletion can't be undone.
Remember that scheduled tasks run while you're not watching. A tool set to Needs approval will pause an unattended run until someone approves it. Block what you never want used, and allow what the agent needs.
Start a normal chat in Claude and try this:
"Using Attio, tell me who I'm signed in as, list the objects in my workspace, and show me the attribute definitions for Companies, including each attribute's type and description."
A healthy connection returns your name, objects such as Companies, People and Deals, and a list of fields. Keep this prompt: it's a quick health check whenever a scheduled run reports a CRM error.
Scheduled tasks use the connectors connected to your account, with the tool permissions you set above. So the permissions page is where you control what an unattended run can do: block any tool you never want a scheduled run to use, and disconnect connectors you don't need. Fewer tools means fewer ways for an unattended run to go wrong.
| Symptom | Likely cause | Fix |
|---|---|---|
| A scheduled run stops and waits | A write tool is set to Needs approval | Change that tool to allow, or run the task once supervised and approve it |
| "Attribute not found" errors | The instructions use a field name that doesn't exist | Run the health-check prompt and compare the real field names |
| The agent says a field doesn't exist when it does | The instructions told it so | Correct the instructions; always check the live schema before trusting a document |
| Records created without some fields | The agent hit an error part-way through | Ask for a run summary that names every failed write (see Logging and Run Summaries) |
Next: Design Your CRM for Agents.