Attio
Service domainCRM
Arcade Optimized
Arcade tools designed for LLMs to interact with Attio CRM
20tools
Attio is a CRM platform; this toolkit enables LLMs to read and write Attio workspace data — records, lists, tasks, meetings, notes, and call transcripts — via the Arcade tool-calling interface.
Capabilities
- Workspace discovery & schema inspection: List all objects (standard and custom), retrieve attribute schemas with filter syntax hints, and enumerate workspace members and lists.
- Record management: Create, update, upsert (assert), and query records across any object type (people, companies, deals, custom objects); fetch individual records by ID with direct web URLs.
- List operations: Retrieve list entries with pagination, add records to lists with entry-specific attribute values, and remove entries by entry ID.
- Tasks and notes: Create tasks with optional record linkage and assignee; log notes for activity tracking, meeting summaries, and outreach history; query tasks filtered by assignee or completion status.
- Meetings and call transcripts: List meetings linked to any record, retrieve meeting metadata and call recording references, fetch full transcripts with speaker labels and participant info, or use a single convenience tool to retrieve a deal's latest meeting transcript in one call.
- Identity and context: Resolve the authenticated user's profile and workspace membership to inform permission-aware workflows.
OAuth
This toolkit authenticates via OAuth 2.0 with Attio as the provider. See the Attio auth provider page for configuration details.
Available tools(20)
20 of 20 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
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 update the record by that ID. | |||
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.
For upsert (create or update) behavior, match on a unique attribute instead.
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": "jane | |||
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
that has a call recording, along with its call_recording_id.
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 finding the deal's meetings and fetching a 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 the call_recording_id together with the meeting_id to fetch the call transcript. | |||
Get the schema/attributes for an Attio object.
Call this to see an object's attributes before filtering its records. 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: find the object type and its attribute API slugs, then query with those slugs
as fields. | |||
Remove a record from an Attio list.
Note: Use the entry_id of the record's entry in the list, not the record_id. | |||
Update a record directly by ID.
Use this when you have the record_id and want to update specific fields.
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. |
Last updated on