Tools Reference
PRIMA CRM gives Claude nine tools, and you never need to call them yourself. You talk to Claude, and Claude chooses the tool and fills in the parameters. This page lists what each tool can do, so you know what to ask for.
Most tools take an action parameter that selects the operation. IDs are long strings the CRM creates, and Claude looks them up for you from names. When a call fails, the tool usually returns a message that starts with Error: and says what was wrong. A few actions that find nothing to change, such as unlinking a project that was never linked, say so in a plain message instead.
| Tool | Actions |
|---|---|
crm_company |
add, update, search, get, stale, link, unlink, for_project, merge |
crm_contact |
add, update, search, get, stale |
crm_interaction |
log, complete, due |
crm_engagement |
add, update, pipeline |
crm_project_relation |
relate, unrelate, get, for_company |
crm_segment |
create, list, run |
crm_sync |
status, review, accept, discard |
crm_summary |
none |
crm_setup |
none |
crm_company
Section titled “crm_company”This tool manages company records and their project links, and it merges duplicates. Companies and Projects and Relations explain the records.
| Action | What it does | Parameters |
|---|---|---|
add |
Creates a company. Status defaults to lead |
name (required), industry, website, status, relationship, contact_cadence_days, tags, notes |
update |
Changes any field. Setting relationship or contact_cadence_days to null returns it to the derived value or the default |
id (required), then any field to change |
search |
Finds companies by name, industry or notes | query, status, tag, limit (default 20) |
get |
Shows the full profile, including live project state | id (required) |
stale |
Lists active companies past their contact cadence | relationship, limit (default 20) |
link |
Links the company to a project, or updates an existing link | id (required), project_id (required), relationship, department, link_notes |
unlink |
Removes a project link | id (required), project_id (required) |
for_project |
Lists the companies linked to a project | project_id (required) |
merge |
Merges a duplicate into the company you keep | id (required, the company you keep), source_id (required, the duplicate), confirm |
The parameters below take the values listed.
status:lead,activeorpast.addandupdatereject the legacy valuedormant, andsearchstill accepts it.relationship:client,supplier,partner,internalorother.contact_cadence_days: a whole number of days greater than zero, or null.
Without confirm set to true, merge runs as a dry run that reports what would move and changes nothing.
crm_contact
Section titled “crm_contact”This tool manages contact records, as described in Contacts.
| Action | What it does | Parameters |
|---|---|---|
add |
Creates a contact. A company_name the CRM does not know creates that company at status lead |
name (required), email, phone, role, company_name, company_id, source_category, source_detail, source_date, preferred_channel, tags, notes |
update |
Changes any field, including the company | id (required), then any field to change |
search |
Finds contacts by name, email, company name or notes | query, tag, company_id, status (the company’s status), limit (default 20) |
get |
Shows the profile with recent interactions, open follow-ups and engagements | id (required) |
stale |
Lists contacts whose last interaction is older than their company’s cadence | relationship, limit (default 20) |
The parameters below take the values listed.
source_category:tiktok,linkedin,youtube,website,email-inbound,referral,event,podcast,cold-outbound,substackorother. When you set a category without asource_date, the date defaults to today.preferred_channel:email,phone,whatsapp,video,in-personorother.
crm_interaction
Section titled “crm_interaction”This tool logs contact and manages follow-ups, as described in Interactions.
| Action | What it does | Parameters |
|---|---|---|
log |
Records an interaction with a contact | contact_id (required), type (required), summary (required), date (default today), follow_up_date, follow_up_action, external_id, source_system |
complete |
Marks a follow-up done | interaction_id (required) |
due |
Lists open follow-ups due soon | days_ahead (default 7), include_overdue (default true) |
The type is one of call, email, meeting, note or proposal. The external_id is the identifier the source system gave the event, such as an email’s Message-ID, and source_system names that system. When an interaction with the same external_id already exists, log returns it and writes nothing new. Leave both out for contact you log by hand.
crm_engagement
Section titled “crm_engagement”This tool records engagements and reports the sales pipeline, as described in Engagements.
| Action | What it does | Parameters |
|---|---|---|
add |
Creates an engagement. Without a type, the type follows the company’s relationship |
company_id (required), name (required), type, contact_id, stage, value, currency (default EUR), probability, expected_close, won_date, lost_date, project_id, notes, source_category, source_detail, source_date |
update |
Changes any field or moves the stage | id (required), then any field to change, including lost_reason |
pipeline |
Reports the sales pipeline, sales only | include_lost (default false) |
The parameters below take the values listed.
type:sale,purchase,partnershiporother.stage:lead,proposal,negotiation,wonorlost, and a new engagement starts atlead.probability: a number from 0 to 100.
Moving to won or lost, or adding at either stage, sets the matching date to today unless you supply one. The pipeline action also accepts a currency parameter, but version 1.6.1 does not use it. Every figure shows with the euro sign, whatever the currency of each engagement.
crm_project_relation
Section titled “crm_project_relation”This tool records how projects connect to each other, as described in Projects and Relations.
| Action | What it does | Parameters |
|---|---|---|
relate |
Creates a relation, or updates the note on an existing one | from_project (required), to_project (required), relation (required), notes |
unrelate |
Removes relations from one project to another, in that direction only | from_project (required), to_project (required), relation (leave out to remove every type) |
get |
Lists every relation touching a project, in both directions, with live project state | project_id (required) |
for_company |
Shows the relation graph across one company’s linked projects | company_id (required) |
The relation takes one of four values, informs, supersedes, shares-scope or part-of, and a project cannot relate to itself.
crm_segment
Section titled “crm_segment”This tool saves filters as segments and runs them again, as described in Segments.
| Action | What it does | Parameters |
|---|---|---|
create |
Saves a segment | name (required), filters (required) |
list |
Lists every segment with its filters | none |
run |
Returns the contacts and companies that match | id (required), limit (default 50) |
The filters object takes any of status, tag, source_category, dormant_days, preferred_channel and company_id.
crm_sync
Section titled “crm_sync”This tool reports on the services your workspace has connected and handles items waiting for approval. Version 1.6.1 fetches nothing from any service, as Email, Calendar and Meeting Sync explains.
| Action | What it does | Parameters |
|---|---|---|
status |
Reads .claude/config/integrations.json and reports the state of each service |
none |
review |
Lists items waiting for approval | kind (contact or lead), limit (default 50) |
accept |
Approves an item, writing its interaction | staged_id (required), then either contact_id, or create_name and create_company with optional create_role and create_source |
discard |
Rejects an item and keeps it on file as discarded | staged_id (required) |
The staged_id takes the full ID or the eight-character ID that review shows. Any prefix of at least eight characters works when it matches exactly one waiting item, ignoring case. A prefix that is too short, matches nothing or matches more than one item returns an error and changes nothing. In version 1.6.1 nothing adds items to the review list.
crm_summary
Section titled “crm_summary”This tool takes no parameters and returns a table of headline figures.
| Figure | What it counts |
|---|---|
| Total contacts and total companies | Every contact and company |
| Active companies | Companies at status active |
| Open sales | Sales not yet won or lost |
| Pipeline value and weighted pipeline | The value of open sales, and that value weighted by probability |
| Won this month, quarter and year | Sales won since the start of each period, with the year’s total value |
| Open commitments | The value of purchases not lost, including purchases already agreed |
| Follow-ups due this week | Open follow-ups dated from Monday of this week to the following Sunday |
| Stale companies | Active companies past their contact cadence |
crm_setup
Section titled “crm_setup”Seeds the CRM from the projects in .claude/state/state.json. It takes no parameters, and running it again is safe. See Setting Up the CRM.

