Email, Calendar and Meeting Sync
The sync tool, crm_sync, is the part of PRIMA CRM meant to turn email, calendar events and video meetings into interactions. In version 1.6.1 it reads which services your workspace has connected and reports on them. It does not fetch anything from any service, so no email, event or meeting reaches the CRM automatically.
What Works Today
Section titled “What Works Today”| Action | What it does in 1.6.1 |
|---|---|
status |
Reads your connector settings and reports the state of email, calendar and meetings. Makes no network calls and writes nothing |
review |
Lists items waiting for your approval. Nothing in 1.6.1 adds items to this list, so it reports that nothing is staged |
accept |
Approves an item from the review list |
discard |
Rejects an item from the review list |
Because the review list stays empty, accept and discard have nothing to act on in a new 1.6.1 install. The Tools Reference describes their parameters.
Where the CRM Looks
Section titled “Where the CRM Looks”AI Business OS keeps a connector registry at .claude/config/integrations.json in your workspace. It records which provider your workspace uses for email, calendar and meetings. The CRM reads three keys in each of those three sections.
| Key | What the CRM reads from it |
|---|---|
provider |
The service, such as proton, google-calendar or zoom |
mcp |
The name of the MCP server that reads that service |
enabled |
Whether you want the CRM to use it. Only true counts |
AI Business OS ships this file with each field holding a list of options, such as gmail | outlook | apple-mail | proton | none. The CRM reads any value that still holds a |, that starts with [ or <, or that says none or null, as a question nobody has answered. An untouched file therefore reports all three as not connected.
Checking Status
Section titled “Checking Status”Ask Claude for the sync status.
What's the CRM sync status?Claude calls crm_sync with the status action. Each of email, calendar and meetings lands in one of four states.
| State | When | What it means for you |
|---|---|---|
| Not built yet | A provider is set, enabled and has an MCP server named, but no fetch code exists for it | Nothing syncs, and there is nothing for you to fix |
| Needs repair | A provider is enabled but no MCP server is named | Name the MCP server in integrations.json if you want it ready for a later release |
| Not connected | No provider is set, enabled is not true, or the registry is missing |
Nothing is set up for this service |
| Active | A provider has working fetch code | No provider reaches this state in 1.6.1 |
Here is the start of the report you see for a workspace with Proton Mail connected and nothing else. Below the summary line, the report lists each service again with what you can do about it.
## CRM Sync Sources
Registry: /Users/you/Example Consulting/.claude/config/integrations.json
| Surface | Provider | MCP | State | Detail ||----------|----------|--------|---------------|-----------------------------------------------------------|| email | proton | proton | Not built yet | proton is connected via proton, but its fetch adapter ... || calendar | - | - | Not connected | No provider set in integrations.json. || meetings | - | - | Not connected | No provider set in integrations.json. |
**Nothing syncs yet.** email (proton) is connected, but its fetch adapter is not built in this release.The fetch code planned first covers proton for email, google-calendar for calendar and zoom for meetings. A provider outside that list, such as outlook, also reports Not built yet, and the detail names the planned providers.
A missing or broken integrations.json is a normal state. The status report shows every service as not connected, and the rest of the CRM keeps working.
Recording Contact in the Meantime
Section titled “Recording Contact in the Meantime”Until a release fetches from your services, the CRM knows about contact only when you tell Claude. A short sentence after each call, meeting or important email keeps the record current.
Had a video call with Aoife Brennan this morning about the May dates.Emailed Northfield Print yesterday to confirm the print run.Give the date the contact happened when it was not today, so the stale reading stays accurate.
On the Dashboard
Section titled “On the Dashboard”The CRM dashboard has a Sync tab with two tables, items waiting for approval and recent sync runs. In version 1.6.1 both tables stay empty.

