Skip to Content

Attio

Service domainCRM
Attio icon
Arcade Optimized

Arcade tools designed for LLMs to interact with Attio CRM

Author:Arcade
Version:1.1.3
Auth:User authorization via the Attio auth provider
20tools
PyPI VersionPython VersionsWheel StatusDownloadsLicense

Attio's Arcade toolkit enables LLMs to interact programmatically with Attio CRM, letting agents create, update, query, and manage records, lists, tasks, meetings, and call transcripts. It's optimized for workflow automation, idempotent upserts, and workspace-aware operations.

Capabilities

  • CRUD and idempotent upsert semantics for records and list entries, with schema-aware field handling.
  • Discover and query object schemas and records with pagination and nested-field filtering.
  • Manage lists, tasks, workspace members, and permissions to orchestrate assignments and automations.
  • Access meeting metadata and full call transcripts (speaker labels, segmented text, durations).

OAuth

  • Provider: attio
  • Scopes: call_recording:read, list_configuration:read-write, list_entry:read-write, meeting:read, note:read-write, object_configuration:read-write, record_permission:read-write, task:read-write, user_management:read

Available tools(20)

20 of 20 tools
Operations
Behavior
Tool nameDescriptionSecrets
Add a record to an Attio list. Optionally set list-specific attribute values via entry_values parameter.
Create or update (upsert) a record using Attio's assert endpoint. This is idempotent - safe to retry. If a record matching the attribute exists, it will be updated. Otherwise, a new record is created. IMPORTANT: The matching_attribute MUST be a unique attribute on the object. Common unique attributes: - people: 'email_addresses' - companies: 'domains' - deals: 'record_id' (name is NOT unique by default) To update a deal by name, first query to get the record_id, then use update_record.
Add a note to an Attio record. Notes are useful for logging activities, meeting notes, and outreach history.
Create a new record in Attio. Always creates a new record — does not check for duplicates. Use assert_record instead if you want upsert (create or update) behavior. Example values for a deal: {"name": "Acme Corp Deal", "stage": "Qualified"} Example values for a person: {"name": [{"first_name": "Jane", "last_name": "Doe"}], "email_addresses": [{"email_address": "[email protected]"}]}
Create a task in Attio. Tasks are useful for follow-ups, reminders, and action items. Optionally link to a record by providing both linked_record_id and linked_record_object.
Get the full transcript from a call recording. Returns the transcript with speaker labels. Use this after finding a meeting with a call recording via list_record_meetings or get_meeting. The transcript includes: - Full raw transcript text - Segmented transcript with speaker names - Call duration and participant info
Convenience tool to get a call transcript for a deal in one step. Finds meetings for the deal, gets the specified meeting's call recording, and returns the full transcript. Defaults to the most recent meeting. This combines list_record_meetings + get_call_transcript into one call. Returns an error if no meetings with recordings are found.
Get entries from an Attio list with pagination. Returns entries with their record IDs and flattened list-specific values.
Get details of a specific meeting. Returns meeting metadata and call recording info if available. Use call_recording_id with get_call_transcript to fetch the transcript.
Get the schema/attributes for an Attio object. Call list_objects first to see available objects, then call this to see their attributes for filtering. Returns attribute names, types, filter syntax hints, and for select/status fields, the available option values to use in filters. IMPORTANT: Location and personal-name fields require NESTED filter syntax.
Get a single Attio record by ID. Returns the record with flattened values and a direct web URL.
Get all lists in the Attio workspace with pagination. Returns list metadata including ID, name, and parent object type.
List all objects (tables) in the Attio workspace. CALL THIS FIRST to discover what objects exist. Standard objects include 'people', 'companies', 'deals', 'users'. Custom objects will also appear. Returns object slugs (API names) and titles (display names).
List meetings associated with an Attio record. Returns meetings linked to a deal, company, or person including: - Meeting ID and title - Meeting type (e.g., 'Discovery', 'Demo') - Start/end times - Whether the meeting has a call recording Use this to find meetings before fetching transcripts.
Get tasks from Attio with optional filtering and pagination. Can filter by assignee and/or completion status.
Get all members in the Attio workspace. Useful for task assignment and understanding who owns records.
Query Attio records with filtering and pagination. Workflow: 1) list_objects, 2) get_object_schema, 3) query_records with fields.
Remove a record from an Attio list. Note: Use the entry_id, not the record_id. Get entry_id from get_list_entries.
Update a record directly by ID. Use this when you have the record_id and want to update specific fields. Unlike assert_record, this doesn't require a unique matching attribute. For status fields like 'stage', pass the status title as a string: {"stage": "Closed Won"} For date fields, use ISO format: {"close_date": "2024-01-15"}
Get the authenticated user's profile and workspace context. CALL THIS FIRST to understand your identity and permissions. Returns the current user's name, email, and workspace membership info.

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

Attio.AddToList

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Add a record to an Attio list. Optionally set list-specific attribute values via entry_values parameter.

Parameters

ParameterTypeReq.Description
list_idstringRequiredList UUID
record_idstringRequiredRecord UUID to add to the list
entry_valuesjsonOptionalList-specific attribute values

Requirements

No secrets required

Output

Type:jsonCreated entry info
#

Attio.AssertRecord

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
CreateUpdate
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Create or update (upsert) a record using Attio's assert endpoint. This is idempotent - safe to retry. If a record matching the attribute exists, it will be updated. Otherwise, a new record is created. IMPORTANT: The matching_attribute MUST be a unique attribute on the object. Common unique attributes: - people: 'email_addresses' - companies: 'domains' - deals: 'record_id' (name is NOT unique by default) To update a deal by name, first query to get the record_id, then use update_record.

Parameters

ParameterTypeReq.Description
object_typestringRequiredThe type of object to upsert a record for. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.
matching_attributestringRequiredUnique attribute for upsert match (e.g., 'email_addresses', 'domains')
valuesjsonRequiredAttribute values to set on the record

Requirements

No secrets required

Output

Type:jsonCreated or updated record info
#

Attio.CreateNote

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Add a note to an Attio record. Notes are useful for logging activities, meeting notes, and outreach history.

Parameters

ParameterTypeReq.Description
parent_objectstringRequiredThe type of object to attach the note to. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.
parent_record_idstringRequiredRecord UUID to attach note to
titlestringRequiredNote title
contentstringRequiredNote body text
format_typestringOptionalNote format (default plaintext)
plaintextmarkdown

Requirements

No secrets required

Output

Type:jsonCreated note info
#

Attio.CreateRecord

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Create a new record in Attio. Always creates a new record — does not check for duplicates. Use assert_record instead if you want upsert (create or update) behavior. Example values for a deal: {"name": "Acme Corp Deal", "stage": "Qualified"} Example values for a person: {"name": [{"first_name": "Jane", "last_name": "Doe"}], "email_addresses": [{"email_address": "[email protected]"}]}

Parameters

ParameterTypeReq.Description
object_typestringRequiredThe type of object to create a record for. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.
valuesjsonRequiredAttribute values to set on the new record

Requirements

No secrets required

Output

Type:jsonCreated record info including record_id and web_url
#

Attio.CreateTask

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Create a task in Attio. Tasks are useful for follow-ups, reminders, and action items. Optionally link to a record by providing both linked_record_id and linked_record_object.

Parameters

ParameterTypeReq.Description
contentstringRequiredTask description
assignee_idstringRequiredWorkspace member UUID
deadlinestringRequiredDue date in ISO 8601 format
linked_record_idstringOptionalRecord UUID to link to the task
linked_record_objectstringOptionalThe type of object to link to the task. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.

Requirements

No secrets required

Output

Type:jsonCreated task info
#

Attio.GetCallTranscript

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get the full transcript from a call recording. Returns the transcript with speaker labels. Use this after finding a meeting with a call recording via list_record_meetings or get_meeting. The transcript includes: - Full raw transcript text - Segmented transcript with speaker names - Call duration and participant info

Parameters

ParameterTypeReq.Description
meeting_idstringRequiredMeeting UUID
call_recording_idstringRequiredCall recording UUID
include_timestampsbooleanOptionalInclude start/end times for each segment (default false)

Requirements

No secrets required

Output

Type:jsonCall transcript with speaker labels
#

Attio.GetDealTranscript

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Convenience tool to get a call transcript for a deal in one step. Finds meetings for the deal, gets the specified meeting's call recording, and returns the full transcript. Defaults to the most recent meeting. This combines list_record_meetings + get_call_transcript into one call. Returns an error if no meetings with recordings are found.

Parameters

ParameterTypeReq.Description
deal_record_idstringRequiredDeal record UUID
meeting_indexintegerOptionalWhich meeting (0=most recent, 1=second most recent, default 0)

Requirements

No secrets required

Output

Type:jsonCall transcript for the specified deal meeting
#

Attio.GetListEntries

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get entries from an Attio list with pagination. Returns entries with their record IDs and flattened list-specific values.

Parameters

ParameterTypeReq.Description
list_idstringRequiredList UUID
limitintegerOptionalMax entries to return (default 25)
offsetintegerOptionalNumber of entries to skip (default 0)

Requirements

No secrets required

Output

Type:jsonList entries with pagination info
#

Attio.GetMeeting

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get details of a specific meeting. Returns meeting metadata and call recording info if available. Use call_recording_id with get_call_transcript to fetch the transcript.

Parameters

ParameterTypeReq.Description
meeting_idstringRequiredMeeting UUID

Requirements

No secrets required

Output

Type:jsonMeeting details including call recording info
#

Attio.GetObjectSchema

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get the schema/attributes for an Attio object. Call list_objects first to see available objects, then call this to see their attributes for filtering. Returns attribute names, types, filter syntax hints, and for select/status fields, the available option values to use in filters. IMPORTANT: Location and personal-name fields require NESTED filter syntax.

Parameters

ParameterTypeReq.Description
object_typestringRequiredThe type of object to get the schema for. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.

Requirements

No secrets required

Output

Type:jsonObject schema with filterable attributes and their types
#

Attio.GetRecord

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get a single Attio record by ID. Returns the record with flattened values and a direct web URL.

Parameters

ParameterTypeReq.Description
object_typestringRequiredThe type of object to get a record for. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.
record_idstringRequiredRecord UUID

Requirements

No secrets required

Output

Type:jsonSingle record with flattened values
#

Attio.ListLists

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get all lists in the Attio workspace with pagination. Returns list metadata including ID, name, and parent object type.

Parameters

ParameterTypeReq.Description
limitintegerOptionalMax lists to return (default 25)
offsetintegerOptionalNumber of lists to skip (default 0)

Requirements

No secrets required

Output

Type:jsonLists with pagination info
#

Attio.ListObjects

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List all objects (tables) in the Attio workspace. CALL THIS FIRST to discover what objects exist. Standard objects include 'people', 'companies', 'deals', 'users'. Custom objects will also appear. Returns object slugs (API names) and titles (display names).

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonList of all objects in the workspace
#

Attio.ListRecordMeetings

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List meetings associated with an Attio record. Returns meetings linked to a deal, company, or person including: - Meeting ID and title - Meeting type (e.g., 'Discovery', 'Demo') - Start/end times - Whether the meeting has a call recording Use this to find meetings before fetching transcripts.

Parameters

ParameterTypeReq.Description
object_typestringRequiredThe type of object to get meetings for. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.
record_idstringRequiredRecord UUID to get meetings for
limitintegerOptionalMax meetings to return (default 20)
offsetintegerOptionalNumber of meetings to skip (default 0)

Requirements

No secrets required

Output

Type:jsonMeetings with pagination info
#

Attio.ListTasks

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get tasks from Attio with optional filtering and pagination. Can filter by assignee and/or completion status.

Parameters

ParameterTypeReq.Description
assignee_idstringOptionalFilter by assignee UUID
is_completedbooleanOptionalFilter by completion status
limitintegerOptionalMax tasks to return (default 25)
offsetintegerOptionalNumber of tasks to skip (default 0)

Requirements

No secrets required

Output

Type:jsonTasks with pagination info
#

Attio.ListWorkspaceMembers

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get all members in the Attio workspace. Useful for task assignment and understanding who owns records.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonAll workspace members
#

Attio.QueryRecords

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Query Attio records with filtering and pagination. Workflow: 1) list_objects, 2) get_object_schema, 3) query_records with fields.

Parameters

ParameterTypeReq.Description
object_typestringRequiredThe type of object to query. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.
fieldsarray<string>RequiredFields to return (call get_object_schema to see available fields)
filter_jsonstringOptionalJSON filter with operators: $eq, $contains, $gt, $lt
sort_bystringOptionalAttribute to sort by
sort_directionstringOptionalSort direction (default desc)
ascdesc
limitintegerOptionalMax records to return (default 25, max 100)
offsetintegerOptionalNumber of records to skip (default 0)

Requirements

No secrets required

Output

Type:jsonQuery results with pagination info
#

Attio.RemoveFromList

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Delete
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

Yes

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Remove a record from an Attio list. Note: Use the entry_id, not the record_id. Get entry_id from get_list_entries.

Parameters

ParameterTypeReq.Description
list_idstringRequiredList UUID
entry_idstringRequiredEntry UUID (not record ID)

Requirements

No secrets required

Output

Type:jsonRemoval confirmation
#

Attio.UpdateRecord

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Update a record directly by ID. Use this when you have the record_id and want to update specific fields. Unlike assert_record, this doesn't require a unique matching attribute. For status fields like 'stage', pass the status title as a string: {"stage": "Closed Won"} For date fields, use ISO format: {"close_date": "2024-01-15"}

Parameters

ParameterTypeReq.Description
object_typestringRequiredThe type of object to update a record for. Standard object types are 'people', 'companies', and 'deals'. Custom object types are the API slug of the object.
record_idstringRequiredRecord UUID to update
valuesjsonRequiredAttribute values to update on the record

Requirements

No secrets required

Output

Type:jsonUpdated record info
#

Attio.WhoAmI

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get the authenticated user's profile and workspace context. CALL THIS FIRST to understand your identity and permissions. Returns the current user's name, email, and workspace membership info.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonAuthenticated user profile and workspace context
Last updated on