Skip to main content
Every attio.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Generated

assertPerson

generated.assertPerson Tool to create or update person records using a unique attribute to search for existing people. Use when you want to ensure a person exists with specific details without creating duplicates. Risk: write
Input: object
Output: object

assertUserRecord

generated.assertUserRecord Creates or updates a user record in Attio using a unique attribute to search for existing users. If a user is found with the same value for the matching attribute, that user will be updated. If no user is found, a new one will be created. Use this to ensure user records exist without duplicates. Risk: write
Input: object
Output: object

assertWorkspace

generated.assertWorkspace Creates or updates a workspace record in Attio using a unique attribute to search for existing workspaces. If a workspace is found with the same value for the matching attribute, that workspace will be updated. If no workspace is found, a new one will be created. Risk: write
Input: object
Output: object

createAttribute

generated.createAttribute Tool to create a new attribute on an object or list in Attio. Use when you need to add custom fields to track additional information. For record-reference types, you can establish bidirectional relationships by supplying a relationship object. Risk: write
Input: object
Output: object

createComment

generated.createComment Tool to create a new comment on a thread, record, or list entry in Attio. Use when you need to add a comment to an existing conversation, a record (like a person, company, or deal), or a list entry. Risk: write
Input: object
Output: object

createCompany

generated.createCompany Creates a new company record in Attio. This endpoint will throw an error on conflicts of unique attributes like domains. If you prefer to update company records on conflicts, use the Assert company record endpoint instead. Note: The logo_url attribute cannot currently be set via the API. Risk: write
Input: object
Output: object

createDealRecord

generated.createDealRecord Tool to create a new deal record in Attio. Use when you need to track a new sales opportunity or deal. This endpoint will throw an error on conflicts of unique attributes. Minimal requirement is providing at least one attribute value. Risk: write
Input: object
Output: object

createEntry

generated.createEntry DEPRECATED: Use ATTIO_ATTIO_POST_V2_LISTS_LIST_ENTRIES instead. Tool to add a record to a list as a new list entry in Attio. Use when you need to organize records into specific lists. Throws errors on unique attribute conflicts. Multiple list entries are allowed for the same parent record. Risk: write
Input: object
Output: object

createList

generated.createList Tool to create a new list in Attio. Use when you need to organize records into custom lists. Once created, add attributes using the Create Attribute API and add records using the Create Entry API. New lists must have either workspace_access set to ‘full-access’ or one or more workspace_member_access with ‘full-access’ level. Risk: write
Input: object
Output: object

createNote

generated.createNote This tool creates a new note on a given record in Attio. The note can be attached to any record type (like person, company, or deal) and includes a title and content. It requires parameters such as parent_object, parent_record_id, title, and content, with an optional created_at timestamp. Risk: write
Input: object
Output: object

createObject

generated.createObject Tool to create a new custom object in your Attio workspace. Use when you need to add a new object type beyond the standard objects (people, companies, deals, users, workspaces). Requires api_slug (snake_case identifier), singular_noun, and plural_noun. Risk: write
Input: object
Output: object

createPerson

generated.createPerson Creates a new person record in Attio. This endpoint will throw an error on conflicts of unique attributes like email_addresses. If you prefer to update person records on conflicts instead, use the Assert person record endpoint. Note: The avatar_url attribute cannot currently be set via the API. Risk: write
Input: object
Output: object

createRecord

generated.createRecord This tool creates a new record in Attio for a specified object type (people, companies, deals, users, workspaces, etc.). It requires the object type and a values dictionary containing the attributes for the new record. IMPORTANT: Different object types have different attributes. For example: - ‘people’ object uses: name, email_addresses, phone_numbers, primary_location, job_title, etc. - ‘users’ object uses: primary_email_address, user_id, person, workspace - ‘companies’ object uses: name, domains, description, etc. Always verify the correct attribute names for your target object type before creating records. Use the List Attributes API or check your workspace to see available attributes for each object type. Risk: write
Input: object
Output: object

createSelectOption

generated.createSelectOption Tool to add a new select option to a select or multiselect attribute in Attio. Use when you need to add a new choice to an existing select field. Risk: write
Input: object
Output: object

createStatus

generated.createStatus Tool to add a new status to a status attribute on either an object or a list. Use when you need to create a new status option for status attributes. Company and person objects do not support status attributes at this time. Risk: write
Input: object
Output: object

createTask

generated.createTask Tool to create a new task in Attio. Use when you need to add a task with content and optional deadline, assignees, or linked records. Note: Tasks can only be created from plaintext without record reference formatting. Risk: write
Input: object
Output: object

createUserRecord

generated.createUserRecord Creates a new user record in Attio. User records represent workspace members or users in the system. Requires primary_email_address, user_id, and workspace_id. Optionally link to an existing person record. Note: Required attributes may vary based on workspace configuration - check the List Attributes action if you encounter missing_value errors. Risk: write
Input: object
Output: object

createWebhook

generated.createWebhook Tool to create a webhook and subscribe to events in Attio. Use when you need to set up a new webhook endpoint to receive real-time event notifications. Returns the webhook configuration including a one-time signing secret for verifying event authenticity. Risk: write
Input: object
Output: object

createWorkspaceRecord

generated.createWorkspaceRecord Creates a new workspace record in Attio. The workspace_id field is required and must be unique. This endpoint will throw an error on conflicts of unique attributes. Use when you need to create a new workspace entry in your Attio workspace. Risk: write
Input: object
Output: object

deleteComment

generated.deleteComment Tool to delete a comment by its comment_id. Use when you need to remove a comment from Attio. If the comment is at the head of a thread, all messages in the thread are also deleted. The operation is permanent and cannot be undone. Risk: write
Input: object
Output: object

deleteCompany

generated.deleteCompany Tool to delete a company record from Attio by its record_id. Use when you need to permanently remove a company record. The deletion is irreversible and cannot be recovered. Risk: write
Input: object
Output: object

deleteDeal

generated.deleteDeal Tool to delete a deal record from Attio by its record_id. Use when you need to permanently remove a deal record. The deletion is irreversible and cannot be recovered. Risk: write
Input: object
Output: object

deleteEntry

generated.deleteEntry Tool to delete a single list entry by its entry_id in Attio. Use when you need to remove an entry from a specific list. The operation is permanent and cannot be undone. Risk: write
Input: object
Output: object

deleteNote

generated.deleteNote This tool allows users to delete a specific note in Attio by its ID. It is implemented via DELETE https://api.attio.com/v2/notes/{note_id} and handles note deletion by validating the provided note_id. It complements ATTIO_CREATE_NOTE functionality, providing complete note management capabilities within the Attio platform. Risk: write
Input: object
Output: object

deletePerson

generated.deletePerson Tool to delete a person record from Attio by its record_id. Use when you need to permanently remove a person record. The deletion is irreversible and cannot be recovered. Risk: write
Input: object
Output: object

deleteRecord

generated.deleteRecord This tool allows you to delete a record from Attio permanently. The deletion is irreversible, and the data will eventually be removed from the system. Risk: write
Input: object
Output: object

deleteRecordById

generated.deleteRecordById Tool to delete a single record (e.g. a company or person) by ID. Use when you need to permanently remove a record from Attio. Risk: write
Input: object
Output: object

deleteTask

generated.deleteTask Tool to delete a task by its task_id. Use when you need to remove a task from Attio. The operation is permanent and cannot be undone. Risk: write
Input: object
Output: object

deleteUser

generated.deleteUser Tool to delete a user record from Attio by its record_id. Use when you need to permanently remove a user record. The deletion is irreversible and cannot be recovered. Risk: write
Input: object
Output: object

deleteWebhook

generated.deleteWebhook Tool to delete a webhook by its webhook_id. Use when you need to remove a webhook subscription from Attio. The operation is permanent and cannot be undone. Risk: write
Input: object
Output: object

deleteWorkspaceRecord

generated.deleteWorkspaceRecord Tool to delete a workspace record from Attio by its record_id. Use when you need to permanently remove a workspace record. The deletion is irreversible and cannot be recovered. Risk: write
Input: object
Output: object

findRecord

generated.findRecord This tool allows users to find a record in Attio by either its unique ID or by searching using unique attributes. It provides two methods: one for directly retrieving a record by its ID with the GET /v2/objects//records/ endpoint, and another for searching by attributes using the POST /v2/objects//records/query endpoint. Risk: read
Input: object
Output: object

getAttribute

generated.getAttribute Tool to get information about a single attribute on either an object or a list. Use when you need detailed information about a specific attribute’s configuration, type, or metadata. Risk: read
Input: object
Output: object

getComment

generated.getComment Tool to get a single comment by its comment_id in Attio. Use when you need to retrieve detailed information about a specific comment, including its content, author, thread, and resolution status. Risk: read
Input: object
Output: object

getCompany

generated.getCompany Tool to get a single company record by its record_id in Attio. Use when you need to retrieve detailed information about a specific company. Returns all attribute values for the company with temporal and audit metadata. Risk: read
Input: object
Output: object

getDealRecord

generated.getDealRecord Tool to get a single deal record by its record_id in Attio. Use when you need to retrieve detailed information about a specific deal. Returns all attribute values for the deal with temporal and audit metadata. Risk: read
Input: object
Output: object

getList

generated.getList Tool to retrieve details of a single list in your Attio workspace. Use when you need to get information about a specific list by its UUID or slug. Risk: read
Input: object
Output: object

getListEntry

generated.getListEntry Tool to get a single list entry by its entry_id. Use when you need to retrieve detailed information about a specific entry in an Attio list. Risk: read
Input: object
Output: object

getNote

generated.getNote Tool to get a single note by its note_id in Attio. Use when you need to retrieve detailed information about a specific note, including its title, content (plaintext and markdown), tags, and creator information. Risk: read
Input: object
Output: object

getObject

generated.getObject Tool to get a single object by its object_id or slug. Use to retrieve detailed schema information about a specific object type in the Attio workspace. Also use as a prerequisite validation step before calling ATTIO_FIND_RECORD, ATTIO_LIST_RECORDS, or ATTIO_CREATE_RECORD — attribute slugs must exactly match what this tool returns. The returned schema defines required attributes for record creation; omitting them causes invalid_request_error with code missing_value (HTTP 400). Custom attributes (e.g., industry, category) vary by object type — verify their presence and data type here before building filters or record values. Risk: read
Input: object
Output: object

getRecord

generated.getRecord Tool to get a single person, company, or other record by its record_id in Attio. Use when you need to retrieve detailed information about a specific record. Returns all attribute values for the record with temporal and audit metadata. Risk: read
Input: object
Output: object

getRecordAttributeValues

generated.getRecordAttributeValues Tool to get all values for a given attribute on a record in Attio. Use when you need to retrieve current or historic values for a specific attribute. Historic values can be queried using the show_historic param but cannot be queried on COMINT or enriched attributes (returns 400 error). Risk: read
Input: object
Output: object

getRecordEntries

generated.getRecordEntries Tool to list all entries, across all lists, for which a record is the parent. Use when you need to find which lists a specific record belongs to. Returns list IDs, slugs, entry IDs, and creation timestamps. Risk: read
Input: object
Output: object

getSelf

generated.getSelf Tool to identify the current access token, the workspace it is linked to, and any permissions it has. Use when you need to verify token validity or retrieve workspace information associated with the current authentication. Risk: read
Input: object
Output: object

getTask

generated.getTask Tool to get a single task by its task_id in Attio. Use when you need to retrieve detailed information about a specific task, including its content, deadline, assignees, and linked records. Risk: read
Input: object
Output: object

getV2ObjectsObjectRecordsRecordId

generated.getV2ObjectsObjectRecordsRecordId Tool to get a single person, company or other record by its record_id. Use when you need to retrieve detailed information about a specific record. Risk: read
Input: object
Output: object

getV2Tasks

generated.getV2Tasks Tool to list all tasks in the workspace. Use when you need to retrieve tasks, optionally filtering by assignee, completion status, or linked records. Results are sorted by creation date from oldest to newest by default. Risk: read
Input: object
Output: object

getV2WorkspaceMembers

generated.getV2WorkspaceMembers DEPRECATED: Use ATTIO_LIST_WORKSPACE_MEMBERS instead. Tool to list all workspace members in the workspace. Use when you need to retrieve information about workspace members, their access levels, or their identities. Risk: read
Input: object
Output: object

getWebhook

generated.getWebhook Tool to get a single webhook by its webhook_id in Attio. Use when you need to retrieve detailed information about a specific webhook configuration. Returns the webhook’s target URL, event subscriptions, status, and metadata. Risk: read
Input: object
Output: object

getWorkspaceMember

generated.getWorkspaceMember Tool to get a single workspace member by their workspace_member_id. Use when you need details about a specific workspace member, including their name, email, access level, and avatar. Risk: read
Input: object
Output: object

getWorkspaceRecord

generated.getWorkspaceRecord Tool to get a single workspace record by its record_id. Use when you need to retrieve detailed information about a specific workspace. Returns all attribute values for the workspace record with temporal and audit metadata. Risk: read
Input: object
Output: object

listAttributeOptions

generated.listAttributeOptions Tool to list all select options for a particular attribute on either an object or a list. Use when you need to discover available options for select or status type attributes. Risk: read
Input: object
Output: object

listAttributes

generated.listAttributes Tool to list the attribute schema for an Attio object or list (including slugs, types, select/status config) to enable correct filtering and writes. Use when you need to discover what attributes exist on an object or list, their types, and their configuration (e.g., available options for select/status attributes). Returns attributes in UI sort order. Risk: read
Input: object
Output: object

listAttributeStatuses

generated.listAttributeStatuses Tool to list all statuses for a particular status attribute on either an object or a list. Use when you need to discover available statuses for a status attribute, including their IDs, titles, and configuration. Risk: read
Input: object
Output: object

listCallRecordings

generated.listCallRecordings Tool to list all call recordings for a meeting in Attio. Use when you need to retrieve call recordings associated with a specific meeting. This endpoint is in beta. Risk: read
Input: object
Output: object

listCompanies

generated.listCompanies Tool to list company records in Attio with optional filtering and sorting. Use when you need to retrieve company records based on criteria like domain, name, or description. Risk: read
Input: object
Output: object

listCompanyAttributeValues

generated.listCompanyAttributeValues Tool to get all values for a given attribute on a company record. Historic values can be queried using the show_historic query param. Historic values cannot be queried on COMINT or enriched attributes. Some attributes are subject to billing status and may return an empty array. Risk: read
Input: object
Output: object

listCompanyRecordEntries

generated.listCompanyRecordEntries Tool to list all entries across all lists for which a company record is the parent in Attio. Use when you need to see which lists a particular company record belongs to. Returns list information and entry IDs for each list the company appears in. Risk: read
Input: object
Output: object

listDealEntries

generated.listDealEntries Tool to list all entries across all lists for which a deal record is the parent in Attio. Use when you need to see which lists a particular deal record belongs to. Returns list information and entry IDs for each list the deal appears in. Risk: read
Input: object
Output: object

listDealRecordAttributeValues

generated.listDealRecordAttributeValues Tool to retrieve all values for a specified attribute on a deal record in Attio. Use when you need to see current or historic values for a specific deal attribute. Historic values can be queried using show_historic param but cannot be queried on COMINT or enriched attributes. Risk: read
Input: object
Output: object

listDealRecords

generated.listDealRecords Tool to list deal records in Attio with the option to filter and sort results. Use when you need to retrieve deal records based on filter criteria or sorting requirements. Risk: read
Input: object
Output: object

listEntries

generated.listEntries DEPRECATED: Use ATTIO_ATTIO_POST_V2_LISTS_LIST_ENTRIES_QUERY instead. Tool to list entries in a given list with filtering and sorting options. Use when you need to retrieve records added to a specific list in Attio. Entries are returned based on the filters and sorts provided. Risk: read
Input: object
Output: object

listListEntries

generated.listListEntries DEPRECATED: Use ATTIO_ATTIO_POST_V2_LISTS_LIST_ENTRIES_QUERY instead. Tool to retrieve entries (records) that belong to a specific Attio list. Use when you need to enumerate list membership or access list-specific attribute values. This is distinct from listing all records of an object type - it specifically returns records that are members of a particular list. Risk: read
Input: object
Output: object

listListEntryAttributeValues

generated.listListEntryAttributeValues Tool to retrieve all values for a specified attribute on a list entry in Attio. Use when you need to see the history of values for a specific attribute on a list entry. Can return only active values or include all historical values sorted chronologically. Risk: read
Input: object
Output: object

listLists

generated.listLists This tool retrieves all lists available in the Attio workspace, sorted as they appear in the sidebar. Returns list metadata only (names, IDs, configuration) — not the records/entries within those lists. To fetch actual list entries, use ATTIO_FIND_RECORD with appropriate filters. This tool is a prerequisite for many list-related operations. Requires the list_configuration:read permission scope. Risk: read
Input: object
Output: object

listMeetings

generated.listMeetings Tool to list all meetings in the workspace using a deterministic sort order. Use when you need to retrieve meetings, optionally filtering by participants, linked records, or time ranges. This endpoint is in beta. Risk: read
Input: object
Output: object

listNotes

generated.listNotes Lists notes in Attio. Can list all notes in the workspace, or filter by parent object type and/or specific record. Notes are returned in reverse chronological order (newest first). Risk: read
Input: object
Output: object

listObjects

generated.listObjects This tool retrieves a list of all available objects (both system-defined and user-defined) in the Attio workspace via GET /v2/objects, returning key metadata including slugs and IDs for each object. Call this tool first before ATTIO_LIST_RECORDS, ATTIO_FIND_RECORD, or ATTIO_CREATE_RECORD to discover valid object slugs — hardcoded slugs may not exist across workspaces. Concepts like tasks may be modeled as deals or custom objects rather than dedicated types, so confirm the correct object type before proceeding. Attribute values in responses can be arrays of time-bounded entries rather than simple scalars; downstream code must handle nested structures. Risk: read
Input: object
Output: object

listPeopleAttributeValues

generated.listPeopleAttributeValues Tool to get all values for a given attribute on a person record. Use when you need to retrieve current or historic values for a specific person attribute. Historic values can be queried using the show_historic param but cannot be queried on COMINT or enriched attributes (returns 400 error). Risk: read
Input: object
Output: object

listPeopleRecordEntries

generated.listPeopleRecordEntries Tool to list all entries across all lists for which a person record is the parent in Attio. Use when you need to see which lists a particular person record belongs to. Returns list information and entry IDs for each list the person appears in. Risk: read
Input: object
Output: object

listRecordAttributeValues

generated.listRecordAttributeValues Tool to retrieve all values for a specified attribute on a record in Attio. Use when you need to see the history of values for a specific attribute. Can return only active values or include historical values. Historic values cannot be queried on COMINT or enriched attributes. Risk: read
Input: object
Output: object

listRecordEntries

generated.listRecordEntries Tool to list all entries across all lists for which a record is the parent in Attio. Use when you need to see which lists a particular record belongs to. Returns list information and entry IDs for each list the record appears in. Risk: read
Input: object
Output: object

listRecords

generated.listRecords This tool lists records from a specific object type in Attio. It provides simple pagination support and returns records in creation order (oldest first). For complex filtering, use the FindRecord action instead. Standard object types include: people, companies, deals, users, workspaces. If you get a 404 error, verify the object type exists using the List Objects action first. Response attribute values are returned as arrays of time-bounded objects under a values map (e.g., values['name']), not simple scalars — handle arrays, nested objects, and empty arrays accordingly. Select attributes are accessed via option.title; currency, stage, and select fields may be null or empty arrays. Access records via data.data in the response. Risk: read
Input: object
Output: object

listThreads

generated.listThreads Tool to list threads of comments on a record or list entry in Attio. Use when you need to view all comment threads associated with a specific record or list entry. Threads contain one or more comments sorted chronologically. Risk: read
Input: object
Output: object

listUserRecordEntries

generated.listUserRecordEntries Tool to list all entries across all lists for which a user record is the parent in Attio. Use when you need to see which lists a particular user record belongs to. Returns list information and entry IDs for each list the user appears in. Risk: read
Input: object
Output: object

listUserRecords

generated.listUserRecords Tool to list user records in Attio with optional filtering and sorting. Use when you need to retrieve workspace members or user records based on specific criteria. Risk: read
Input: object
Output: object

listWebhooks

generated.listWebhooks Tool to get all webhooks in your Attio workspace. Use when you need to retrieve a list of configured webhooks, their subscriptions, and statuses. Supports pagination via limit and offset parameters. Risk: read
Input: object
Output: object

listWorkspaceMembers

generated.listWorkspaceMembers Tool to list workspace members (actors) so agents can reliably assign owners and resolve workspace-member IDs even when the optional Users standard object is disabled. Use when writing or assigning actor-reference attributes (e.g., record/list entry owners) that require referenced_actor_type=workspace-member and an actor id. Risk: read
Input: object
Output: object

listWorkspaceRecordAttributeValues

generated.listWorkspaceRecordAttributeValues Tool to retrieve all values for a specified attribute on a workspace record in Attio. Use when you need to see the history of values for a specific attribute on a workspace record. Can return only active values or include all historical values sorted chronologically. Risk: read
Input: object
Output: object

listWorkspaceRecordEntries

generated.listWorkspaceRecordEntries Tool to list all entries across all lists for which a workspace record is the parent in Attio. Use when you need to see which lists a particular workspace record belongs to. Returns list information and entry IDs for each list the workspace appears in. Risk: read
Input: object
Output: object

listWorkspaceRecords

generated.listWorkspaceRecords Tool to list workspace records with filtering and sorting options. Use when you need to retrieve workspace-level records from Attio. Records are returned based on the filters and sorts provided. Requires record_permission:read and object_configuration:read scopes. Risk: read
Input: object
Output: object

patchRecord

generated.patchRecord Tool to update people, companies, and other records by record_id using PATCH method. For multiselect attributes, values supplied will be prepended to existing values. Use PUT endpoint to overwrite or remove multiselect values. Risk: write
Input: object
Output: object

patchV2ListsListEntriesEntryId

generated.patchV2ListsListEntriesEntryId Tool to update list entries by entry_id in Attio. Use when you need to modify attribute values on existing list entries. For multiselect attributes, the values supplied will be created and prepended to existing values. Use the PUT endpoint to overwrite or remove multiselect attribute values. Risk: write
Input: object
Output: object

peopleGetPerson

generated.peopleGetPerson Tool to get a single person record by its record_id in Attio. Use when you need to retrieve detailed information about a specific person. Returns all attribute values for the person with temporal and audit metadata. Risk: read
Input: object
Output: object

peopleListPersons

generated.peopleListPersons Tool to list person records from Attio with optional filtering and sorting. Use when you need to retrieve people based on specific criteria or get a paginated list of all people. Risk: read
Input: object
Output: object

postV2ListsListEntries

generated.postV2ListsListEntries Tool to add a record to a list as a new list entry in Attio. Use when you need to organize records into specific lists. This endpoint will throw on conflicts of unique attributes. Multiple list entries are allowed for the same parent record. Risk: write
Input: object
Output: object

postV2ListsListEntriesQuery

generated.postV2ListsListEntriesQuery Tool to list entries in a given list, with the option to filter and sort results. Use when you need to retrieve records that belong to a specific list with optional filtering and sorting. Risk: read
Input: object
Output: object

postV2ObjectsObjectRecords

generated.postV2ObjectsObjectRecords Creates a new person, company or other record. This endpoint will throw on conflicts of unique attributes. If you would prefer to update records on conflicts, please use the Assert record endpoint instead. Risk: write
Input: object
Output: object

postV2ObjectsObjectRecordsQuery

generated.postV2ObjectsObjectRecordsQuery Tool to list people, company or other records in Attio with the option to filter and sort results. Use when you need to retrieve records based on complex filter criteria or sorting requirements. Risk: read
Input: object
Output: object

postV2ObjectsRecordsSearch

generated.postV2ObjectsRecordsSearch Tool to fuzzy search for records across one or more objects in Attio. Use when you need to find records by name, domain, email, phone number, or social handle. This endpoint is in beta and returns eventually consistent results. For results guaranteed to be up to date, use the record query endpoint instead. Risk: read
Input: object
Output: object

putV2ListsListEntries

generated.putV2ListsListEntries Tool to create or update a list entry for a given parent record in Attio. If an entry with the specified parent record is found, that entry will be updated. If no such entry is found, a new entry will be created instead. For multiselect attributes, all values will be either created or deleted as necessary to match the list of values supplied in the request. Risk: write
Input: object
Output: object

putV2ListsListEntriesEntryId

generated.putV2ListsListEntriesEntryId Tool to update list entries by entry_id in Attio using PUT method. Use when you need to completely replace attribute values on existing list entries. For multiselect attributes, the values supplied will overwrite/remove the list of values that already exist (if any). Use the PATCH endpoint to add multiselect attribute values without removing those that already exist. Risk: write
Input: object
Output: object

putV2ObjectsObjectRecords

generated.putV2ObjectsObjectRecords Tool to create or update people, companies and other records in Attio using a matching attribute. Use when you want to avoid duplicate records - if a record with the same value for the matching attribute is found, it will be updated; otherwise a new record is created. If you want to avoid matching and always create new records, use the Create Record endpoint instead. Risk: write
Input: object
Output: object

putV2ObjectsObjectRecordsRecordId

generated.putV2ObjectsObjectRecordsRecordId Tool to update people, companies, and other records by record_id using PUT method. For multiselect attributes, values supplied will overwrite/remove existing values. Use PATCH endpoint to append without removing. Risk: write
Input: object
Output: object

queryRecords

generated.queryRecords Tool to query records for a specific Attio object using server-side filtering operators and sorting. Use when you need to retrieve records based on complex filter criteria (e.g., ‘get all agreements where product=X and status in Y’) rather than simple listing or ID-based lookup. This avoids downloading large pages and filtering locally, which is slow and costly. Risk: read
Input: object
Output: object

searchRecords

generated.searchRecords Tool to fuzzy search for records across multiple objects in Attio. Use when you need to find records by name, domain, email, phone number, or social handle. This endpoint is in beta and returns eventually consistent results. Matching strategy follows the in-product search approach. Risk: read
Input: object
Output: object

updateAttribute

generated.updateAttribute Tool to update an existing attribute by its attribute_id or slug. Use when you need to modify attribute properties such as title, description, validation rules, or configuration settings. Risk: write
Input: object
Output: object

updateCompany

generated.updateCompany Tool to update a company record in Attio by its record_id. Use when you need to modify company attributes like name, description, domains, or team. For multiselect attributes, values are prepended to existing values. Note: logo_url cannot be updated via API. Risk: write
Input: object
Output: object

updateDealRecord

generated.updateDealRecord Tool to update an existing deal record in Attio by record ID. Uses PATCH to partially update only the provided fields, leaving other fields unchanged. Risk: write
Input: object
Output: object

updateEntry

generated.updateEntry DEPRECATED: Use ATTIO_ATTIO_PATCH_V2_LISTS_LIST_ENTRIES_ENTRY_ID instead. Tool to update list entries by their ID in Attio. Use when you need to modify attribute values on existing list entries. When multiselect attributes are included, the values supplied will be prepended to existing values. Risk: write
Input: object
Output: object

updateList

generated.updateList Tool to update an existing list in Attio. Use when you need to modify list properties like name, api_slug, or permissions. Lists must have either workspace_access set to ‘full-access’ or one or more workspace_member_access with ‘full-access’ level. Changing the parent object of a list is not possible through the API. Risk: write
Input: object
Output: object

updateObject

generated.updateObject Tool to update a single object’s configuration in Attio. Use when you need to modify an object’s API slug, singular noun, or plural noun. Standard objects (people, companies, deals, users, workspaces) and custom objects can be updated. Risk: write
Input: object
Output: object

updatePerson

generated.updatePerson Tool to update a person record in Attio by its record_id. Use when you need to modify person attributes like name, email, job title, or phone numbers. For multiselect attributes, values are prepended to existing values. Note: avatar_url cannot be updated via API. Risk: write
Input: object
Output: object

updateRecord

generated.updateRecord This tool updates an existing record in Attio for a specified object type (people, companies, deals, users, workspaces, etc.). It uses PATCH to partially update only the provided fields, leaving other fields unchanged. Risk: write
Input: object
Output: object

updateSelectOption

generated.updateSelectOption Tool to update an existing select option for a select or multiselect attribute in Attio. Use when you need to rename an option or archive it. Archived options are hidden from selection but preserve historical data for records that used them. Risk: write
Input: object
Output: object

updateStatus

generated.updateStatus Tool to update a status on a status attribute on either an object or a list in Attio. Use when you need to modify status properties like title, celebration settings, target time, or archive status. Company and person objects do not support status attributes at this time. Risk: write
Input: object
Output: object

updateTask

generated.updateTask Tool to update an existing task in Attio by its task_id. Use when you need to modify a task’s deadline, completion status, linked records, or assignees. Only these four fields can be updated via this endpoint. Risk: write
Input: object
Output: object

updateUserRecord

generated.updateUserRecord Tool to update a user record in Attio by its record_id. Use when you need to modify user attributes like user_id, primary_email_address, person, or workspace references. Attributes not included in the request will remain unchanged. Risk: write
Input: object
Output: object

updateWebhook

generated.updateWebhook Tool to update a webhook’s target URL and/or event subscriptions. Use when you need to modify an existing webhook configuration in Attio. Risk: write
Input: object
Output: object

updateWorkspaceRecord

generated.updateWorkspaceRecord Tool to update a workspace record by ID using PATCH method. Only the attributes provided in the request will be updated; other attributes remain unchanged. Risk: write
Input: object
Output: object