Smithery's MCP Proxy and managed identity shut down on October 31. See what's changing

SmitherySign up for Arcade

Attio

Arcade toolkit · docs.arcade.dev

Attio is a CRM platform; this toolkit lets LLMs interact with Attio workspaces to read, write, and reason over CRM data including records, lists, tasks, meetings, and call transcripts.

Capabilities

  • Workspace discovery & identity — resolve the authenticated user's profile, enumerate all objects (standard and custom), list workspace members, and inspect object schemas including attribute types and filter syntax.
  • Record management — create, update, upsert (assert), and retrieve individual records across any object type (people, companies, deals, custom); query records with filtering and pagination.
  • List operations — enumerate all lists, fetch paginated list entries, add records to lists with entry-level attribute values, and remove entries by entry ID.
  • Tasks & notes — create tasks with optional record linkage and assignee, list tasks with assignee/completion filters, and add timestamped notes to any record.
  • Meetings & call transcripts — list meetings linked to a record, retrieve meeting metadata and recording info, fetch full transcripts with speaker labels and duration, or pull a deal's most recent transcript in a single convenience call.

Tools20

  • Attio_AddToList

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

  • Attio_AssertRecord

    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.

  • Attio_CreateNote

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

  • Attio_CreateRecord

    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@example.com"}]}

  • Attio_CreateTask

    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.

  • Attio_GetCallTranscript

    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

  • Attio_GetDealTranscript

    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.

  • Attio_GetListEntries

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

  • Attio_GetMeeting

    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.

  • Attio_GetObjectSchema

    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.

  • Attio_GetRecord

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

  • Attio_ListLists

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

  • Attio_ListObjects

    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).

  • Attio_ListRecordMeetings

    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.

  • Attio_ListTasks

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

  • Attio_ListWorkspaceMembers

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

  • Attio_QueryRecords

    Query Attio records with filtering and pagination. Workflow: find the object type and its attribute API slugs, then query with those slugs as fields.

  • Attio_RemoveFromList

    Remove a record from an Attio list. Note: Use the entry_id of the record's entry in the list, not the record_id.

  • Attio_UpdateRecord

    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": "YYYY-MM-DD"}

  • Attio_WhoAmI

    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.