CRM tools
Contacts, companies, deals, tasks, notes and activities — search, CRUD, and associations.
57 tools. Each is callable over MCP with a Bearer agx_ key that holds the required scope. The catalog is public (tools/list isn't scope-filtered); the scope below is enforced when the tool is called (tools/call) — a key without it is refused (default-deny).
search_activities
Search/list activities. Free-text q searches all fields; filters (+ optional match) and groups (+ group_match) do precise AND/OR field filtering. Paginated (limit, offset, sort, order).
Required scope: activities:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, activity_type, activity_subtype, title, description, entity_type, entity_id, contact_id, company_id, deal_id, performed_by_email, performed_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_activities",
"arguments": {
"q": "acme"
}
}
}
search_companies
Search/list companies. Free-text q searches all fields; filters (+ optional match) and groups (+ group_match) do precise AND/OR field filtering. Paginated (limit, offset, sort, order).
Required scope: companies:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, name, domain, website, industry, company_type, size, annual_revenue, description, city, state, country, phone, email, linkedin_url, source, status, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_companies",
"arguments": {
"q": "acme"
}
}
}
search_contacts
Search/list contacts. Free-text q searches all fields; filters (+ optional match) and groups (+ group_match) do precise AND/OR field filtering. Paginated (limit, offset, sort, order).
Required scope: contacts:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, email, first_name, last_name, phone, mobile, job_title, department, lead_status, lead_score, source, city, state, country, linkedin_url, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_contacts",
"arguments": {
"q": "acme"
}
}
}
search_deals
Search/list deals. Free-text q searches all fields; filters (+ optional match) and groups (+ group_match) do precise AND/OR field filtering. Paginated (limit, offset, sort, order).
Required scope: deals:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, name, value, currency, stage_name, probability, deal_type, expected_close_date, description, next_step, source, is_won, is_lost, deal_status, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_deals",
"arguments": {
"q": "acme"
}
}
}
search_notes
Search/list notes. Free-text q searches all fields; filters (+ optional match) and groups (+ group_match) do precise AND/OR field filtering. Paginated (limit, offset, sort, order).
Required scope: notes:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, content, entity_type, entity_id, is_pinned, created_by_email, created_at, updated_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_notes",
"arguments": {
"q": "acme"
}
}
}
search_tasks
Search/list tasks. Free-text q searches all fields; filters (+ optional match) and groups (+ group_match) do precise AND/OR field filtering. Paginated (limit, offset, sort, order).
Required scope: tasks:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, title, description, type, priority, status, contact_id, company_id, deal_id, due_date, reminder_date, completed_at, assigned_to_email, assigned_by_email, created_by_email, entity_type, entity_id, labels, source, task_number, created_at, updated_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_tasks",
"arguments": {
"q": "acme"
}
}
}
get_activity
Get a single activity by id.
Required scope: activities:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_activity",
"arguments": {
"id": "\u2026"
}
}
}
get_company
Get a single company by id.
Required scope: companies:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_company",
"arguments": {
"id": "\u2026"
}
}
}
get_contact
Get a single contact by id.
Required scope: contacts:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_contact",
"arguments": {
"id": "\u2026"
}
}
}
get_deal
Get a single deal by id.
Required scope: deals:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_deal",
"arguments": {
"id": "\u2026"
}
}
}
get_note
Get a single note by id.
Required scope: notes:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_note",
"arguments": {
"id": "\u2026"
}
}
}
get_task
Get a single task by id.
Required scope: tasks:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_task",
"arguments": {
"id": "\u2026"
}
}
}
create_activity
Create a activity. Requires the activities:write scope.
Required scope: activities:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
activity_type | string | ✓ | e.g. call, email, note (required). |
entity_type | string | ✓ | contact|company|deal (required). |
entity_id | string | ✓ | Linked record id (required). |
activity_subtype | any | ||
title | any | ||
description | any | ||
contact_id | any | ||
company_id | any | ||
deal_id | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_activity",
"arguments": {
"activity_type": "\u2026",
"entity_type": "\u2026",
"entity_id": "\u2026"
}
}
}
create_company
Create a company. Requires the companies:write scope.
Required scope: companies:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | ✓ | Company name (required). |
domain | any | ||
website | any | ||
industry | any | ||
company_type | any | ||
size | any | ||
annual_revenue | any | ||
description | any | ||
city | any | ||
state | any | ||
country | any | ||
phone | any | ||
email | any | ||
linkedin_url | any | ||
source | any | ||
status | any | ||
owner_email | any | ||
tags | any | ||
custom_fields | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_company",
"arguments": {
"name": "\u2026"
}
}
}
create_contact
Create a contact. Requires the contacts:write scope.
Required scope: contacts:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
email | any | Primary email (recommended; used for dedup). | |
first_name | any | ||
last_name | any | ||
phone | any | ||
mobile | any | ||
job_title | any | ||
department | any | ||
lead_status | any | ||
lead_score | any | ||
source | any | ||
city | any | ||
state | any | ||
country | any | ||
linkedin_url | any | ||
owner_email | any | Assign an owner; omit to leave unassigned. | |
tags | any | ||
custom_fields | any | Org-defined fields; auto-registered. |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_contact",
"arguments": {}
}
}
create_deal
Create a deal. Requires the deals:write scope.
Required scope: deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | ✓ | Deal name (required). |
value | any | ||
currency | any | ||
stage_name | any | ||
probability | any | ||
deal_type | any | ||
expected_close_date | any | ISO date (YYYY-MM-DD). | |
description | any | ||
next_step | any | ||
source | any | ||
owner_email | any | ||
tags | any | ||
custom_fields | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_deal",
"arguments": {
"name": "\u2026"
}
}
}
create_note
Create a note. Requires the notes:write scope.
Required scope: notes:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | ✓ | Note body (required). |
entity_type | string | ✓ | Linked entity: contact|company|deal (required). |
entity_id | string | ✓ | Linked record id (required). |
is_pinned | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_note",
"arguments": {
"content": "\u2026",
"entity_type": "\u2026",
"entity_id": "\u2026"
}
}
}
create_task
Create a task. Requires the tasks:write scope.
Required scope: tasks:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | ✓ | Task title (required). |
description | any | ||
type | any | ||
priority | any | ||
status | any | ||
contact_id | any | ||
company_id | any | ||
deal_id | any | ||
due_date | any | ISO timestamp. | |
reminder_date | any | ||
assigned_to_email | any | ||
entity_type | any | ||
entity_id | any | ||
labels | any | ||
source | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_task",
"arguments": {
"title": "\u2026"
}
}
}
update_activity
Update a activity by id (partial). Requires the activities:write scope.
Required scope: activities:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
activity_subtype | any | ||
title | any | ||
description | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_activity",
"arguments": {
"id": "\u2026"
}
}
}
update_company
Update a company by id (partial). Requires the companies:write scope.
Required scope: companies:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
name | any | ||
domain | any | ||
website | any | ||
industry | any | ||
company_type | any | ||
size | any | ||
annual_revenue | any | ||
description | any | ||
city | any | ||
state | any | ||
country | any | ||
phone | any | ||
email | any | ||
linkedin_url | any | ||
source | any | ||
status | any | ||
owner_email | any | ||
tags | any | ||
custom_fields | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_company",
"arguments": {
"id": "\u2026"
}
}
}
update_contact
Update a contact by id (partial). Requires the contacts:write scope.
Required scope: contacts:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
email | any | ||
first_name | any | ||
last_name | any | ||
phone | any | ||
mobile | any | ||
job_title | any | ||
department | any | ||
lead_status | any | ||
lead_score | any | ||
source | any | ||
city | any | ||
state | any | ||
country | any | ||
linkedin_url | any | ||
owner_email | any | ||
tags | any | ||
custom_fields | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_contact",
"arguments": {
"id": "\u2026"
}
}
}
update_deal
Update a deal by id (partial). Requires the deals:write scope.
Required scope: deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
name | any | ||
value | any | ||
currency | any | ||
stage_name | any | ||
probability | any | ||
deal_type | any | ||
expected_close_date | any | ||
description | any | ||
next_step | any | ||
source | any | ||
owner_email | any | ||
tags | any | ||
custom_fields | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_deal",
"arguments": {
"id": "\u2026"
}
}
}
update_note
Update a note by id (partial). Requires the notes:write scope.
Required scope: notes:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
content | any | ||
is_pinned | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_note",
"arguments": {
"id": "\u2026"
}
}
}
update_task
Update a task by id (partial). Requires the tasks:write scope.
Required scope: tasks:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
title | any | ||
description | any | ||
type | any | ||
priority | any | ||
status | any | ||
contact_id | any | ||
company_id | any | ||
deal_id | any | ||
due_date | any | ||
reminder_date | any | ||
assigned_to_email | any | ||
labels | any |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_task",
"arguments": {
"id": "\u2026"
}
}
}
delete_activity
Delete a activity by id. Requires the activities:write scope.
Required scope: activities:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_activity",
"arguments": {
"id": "\u2026"
}
}
}
delete_company
Delete a company by id. Requires the companies:write scope.
Required scope: companies:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_company",
"arguments": {
"id": "\u2026"
}
}
}
delete_contact
Delete a contact by id. Requires the contacts:write scope.
Required scope: contacts:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_contact",
"arguments": {
"id": "\u2026"
}
}
}
delete_deal
Delete a deal by id. Requires the deals:write scope.
Required scope: deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_deal",
"arguments": {
"id": "\u2026"
}
}
}
delete_note
Delete a note by id. Requires the notes:write scope.
Required scope: notes:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_note",
"arguments": {
"id": "\u2026"
}
}
}
delete_task
Delete a task by id. Requires the tasks:write scope.
Required scope: tasks:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | Record id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_task",
"arguments": {
"id": "\u2026"
}
}
}
list_company_activities
List the activities associated with a company (by the company's id). Same filters/q/paging as search_activities. Requires companies:read and activities:read.
Required scope: activities:read + companies:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, activity_type, activity_subtype, title, description, entity_type, entity_id, contact_id, company_id, deal_id, performed_by_email, performed_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_company_activities",
"arguments": {
"id": "\u2026"
}
}
}
list_company_contacts
List the contacts associated with a company (by the company's id). Same filters/q/paging as search_contacts. Requires companies:read and contacts:read.
Required scope: companies:read + contacts:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, email, first_name, last_name, phone, mobile, job_title, department, lead_status, lead_score, source, city, state, country, linkedin_url, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_company_contacts",
"arguments": {
"id": "\u2026"
}
}
}
list_company_deals
List the deals associated with a company (by the company's id). Same filters/q/paging as search_deals. Requires companies:read and deals:read.
Required scope: companies:read + deals:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, name, value, currency, stage_name, probability, deal_type, expected_close_date, description, next_step, source, is_won, is_lost, deal_status, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_company_deals",
"arguments": {
"id": "\u2026"
}
}
}
list_company_notes
List the notes associated with a company (by the company's id). Same filters/q/paging as search_notes. Requires companies:read and notes:read.
Required scope: companies:read + notes:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, content, entity_type, entity_id, is_pinned, created_by_email, created_at, updated_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_company_notes",
"arguments": {
"id": "\u2026"
}
}
}
list_company_tasks
List the tasks associated with a company (by the company's id). Same filters/q/paging as search_tasks. Requires companies:read and tasks:read.
Required scope: companies:read + tasks:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, title, description, type, priority, status, contact_id, company_id, deal_id, due_date, reminder_date, completed_at, assigned_to_email, assigned_by_email, created_by_email, entity_type, entity_id, labels, source, task_number, created_at, updated_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_company_tasks",
"arguments": {
"id": "\u2026"
}
}
}
list_contact_activities
List the activities associated with a contact (by the contact's id). Same filters/q/paging as search_activities. Requires contacts:read and activities:read.
Required scope: activities:read + contacts:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, activity_type, activity_subtype, title, description, entity_type, entity_id, contact_id, company_id, deal_id, performed_by_email, performed_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_contact_activities",
"arguments": {
"id": "\u2026"
}
}
}
list_contact_companies
List the companies associated with a contact (by the contact's id). Same filters/q/paging as search_companies. Requires contacts:read and companies:read.
Required scope: companies:read + contacts:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, name, domain, website, industry, company_type, size, annual_revenue, description, city, state, country, phone, email, linkedin_url, source, status, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_contact_companies",
"arguments": {
"id": "\u2026"
}
}
}
list_contact_deals
List the deals associated with a contact (by the contact's id). Same filters/q/paging as search_deals. Requires contacts:read and deals:read.
Required scope: contacts:read + deals:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, name, value, currency, stage_name, probability, deal_type, expected_close_date, description, next_step, source, is_won, is_lost, deal_status, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_contact_deals",
"arguments": {
"id": "\u2026"
}
}
}
list_contact_notes
List the notes associated with a contact (by the contact's id). Same filters/q/paging as search_notes. Requires contacts:read and notes:read.
Required scope: contacts:read + notes:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, content, entity_type, entity_id, is_pinned, created_by_email, created_at, updated_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_contact_notes",
"arguments": {
"id": "\u2026"
}
}
}
list_contact_tasks
List the tasks associated with a contact (by the contact's id). Same filters/q/paging as search_tasks. Requires contacts:read and tasks:read.
Required scope: contacts:read + tasks:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, title, description, type, priority, status, contact_id, company_id, deal_id, due_date, reminder_date, completed_at, assigned_to_email, assigned_by_email, created_by_email, entity_type, entity_id, labels, source, task_number, created_at, updated_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_contact_tasks",
"arguments": {
"id": "\u2026"
}
}
}
list_deal_activities
List the activities associated with a deal (by the deal's id). Same filters/q/paging as search_activities. Requires deals:read and activities:read.
Required scope: activities:read + deals:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, activity_type, activity_subtype, title, description, entity_type, entity_id, contact_id, company_id, deal_id, performed_by_email, performed_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_deal_activities",
"arguments": {
"id": "\u2026"
}
}
}
list_deal_companies
List the companies associated with a deal (by the deal's id). Same filters/q/paging as search_companies. Requires deals:read and companies:read.
Required scope: companies:read + deals:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, name, domain, website, industry, company_type, size, annual_revenue, description, city, state, country, phone, email, linkedin_url, source, status, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_deal_companies",
"arguments": {
"id": "\u2026"
}
}
}
list_deal_contacts
List the contacts associated with a deal (by the deal's id). Same filters/q/paging as search_contacts. Requires deals:read and contacts:read.
Required scope: contacts:read + deals:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, email, first_name, last_name, phone, mobile, job_title, department, lead_status, lead_score, source, city, state, country, linkedin_url, owner_email, created_by_email, created_at, updated_at. Custom fields via cf.<key>. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_deal_contacts",
"arguments": {
"id": "\u2026"
}
}
}
list_deal_notes
List the notes associated with a deal (by the deal's id). Same filters/q/paging as search_notes. Requires deals:read and notes:read.
Required scope: deals:read + notes:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, content, entity_type, entity_id, is_pinned, created_by_email, created_at, updated_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_deal_notes",
"arguments": {
"id": "\u2026"
}
}
}
list_deal_tasks
List the tasks associated with a deal (by the deal's id). Same filters/q/paging as search_tasks. Requires deals:read and tasks:read.
Required scope: deals:read + tasks:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The parent record's id (UUID). |
q | string | Free-text search across ALL text fields of the record (names, email, phone, etc.) and custom field values. | |
filters | array<object> | Field filters, AND-ed by default (set match='any' to OR). Filterable: id, title, description, type, priority, status, contact_id, company_id, deal_id, due_date, reminder_date, completed_at, assigned_to_email, assigned_by_email, created_by_email, entity_type, entity_id, labels, source, task_number, created_at, updated_at. | |
match | enum(all, any) | Combine filters with AND (all) or OR (any). Default all. | |
groups | array<object> | Advanced: nested AND/OR. Each group = {conditions:[...], match:'all'|'any'}; combine groups with group_match. Use for '(A AND B) OR (C AND D)'. | |
group_match | enum(all, any) | Combine groups with AND (all) or OR (any). Default all. | |
limit | integer | ||
offset | integer | ||
sort | string | ||
order | enum(asc, desc) |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_deal_tasks",
"arguments": {
"id": "\u2026"
}
}
}
link_company_to_contact
Link a company to a contact (idempotent; optional link metadata such as role/is_primary). Requires companies:write and contacts:write.
Required scope: companies:write + contacts:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The record to link to (UUID). |
role | string | ||
department | string | ||
job_title | string | ||
is_primary | boolean | Mark this the primary link for the parent (made exclusive). | |
start_date | string | ISO date (YYYY-MM-DD). | |
end_date | string | ISO date (YYYY-MM-DD). | |
notes | string |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "link_company_to_contact",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
link_company_to_deal
Link a company to a deal (idempotent; optional link metadata such as role/is_primary). Requires companies:write and deals:write.
Required scope: companies:write + deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The record to link to (UUID). |
role | string | ||
is_primary | boolean | Mark this the primary link for the parent (made exclusive). | |
ownership_percentage | number | ||
revenue_share | number | ||
notes | string |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "link_company_to_deal",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
link_contact_to_company
Link a contact to a company (idempotent; optional link metadata such as role/is_primary). Requires contacts:write and companies:write.
Required scope: companies:write + contacts:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The record to link to (UUID). |
role | string | ||
department | string | ||
job_title | string | ||
is_primary | boolean | Mark this the primary link for the parent (made exclusive). | |
start_date | string | ISO date (YYYY-MM-DD). | |
end_date | string | ISO date (YYYY-MM-DD). | |
notes | string |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "link_contact_to_company",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
link_contact_to_deal
Link a contact to a deal (idempotent; optional link metadata such as role/is_primary). Requires contacts:write and deals:write.
Required scope: contacts:write + deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The record to link to (UUID). |
role | string | ||
is_primary | boolean | Mark this the primary link for the parent (made exclusive). | |
notes | string |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "link_contact_to_deal",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
link_deal_to_company
Link a deal to a company (idempotent; optional link metadata such as role/is_primary). Requires deals:write and companies:write.
Required scope: companies:write + deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The record to link to (UUID). |
role | string | ||
is_primary | boolean | Mark this the primary link for the parent (made exclusive). | |
ownership_percentage | number | ||
revenue_share | number | ||
notes | string |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "link_deal_to_company",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
link_deal_to_contact
Link a deal to a contact (idempotent; optional link metadata such as role/is_primary). Requires deals:write and contacts:write.
Required scope: contacts:write + deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The record to link to (UUID). |
role | string | ||
is_primary | boolean | Mark this the primary link for the parent (made exclusive). | |
notes | string |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "link_deal_to_contact",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
unlink_company_from_contact
Remove the link between a company and a contact. Requires companies:write and contacts:write.
Required scope: companies:write + contacts:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The linked record's id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "unlink_company_from_contact",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
unlink_company_from_deal
Remove the link between a company and a deal. Requires companies:write and deals:write.
Required scope: companies:write + deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The linked record's id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "unlink_company_from_deal",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
unlink_contact_from_company
Remove the link between a contact and a company. Requires contacts:write and companies:write.
Required scope: companies:write + contacts:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The linked record's id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "unlink_contact_from_company",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
unlink_contact_from_deal
Remove the link between a contact and a deal. Requires contacts:write and deals:write.
Required scope: contacts:write + deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The linked record's id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "unlink_contact_from_deal",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
unlink_deal_from_company
Remove the link between a deal and a company. Requires deals:write and companies:write.
Required scope: companies:write + deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The linked record's id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "unlink_deal_from_company",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}
unlink_deal_from_contact
Remove the link between a deal and a contact. Requires deals:write and contacts:write.
Required scope: contacts:write + deals:write
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | ✓ | The source record's id (UUID). |
target_id | string | ✓ | The linked record's id (UUID). |
Example
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "unlink_deal_from_contact",
"arguments": {
"id": "\u2026",
"target_id": "\u2026"
}
}
}