crm
Attio
Connect Attio to Elaichi and hand every teammate a governed MCP endpoint — 97 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.
AI tools
Attio tools for your AI agents
97 tools are ready to mint as an MCP endpoint the moment you connect Attio — governed by the same roles, restrictions, and audit log as everything else in Elaichi.
list_all_attio_me
Check validity of an access token in Attio. Returns active status, scopes, client_id, token_type, expiration, issue time, workspace_id, workspace_name, workspace_slug, and workspace_logo_url.
list_all_attio_companies
List company records in Attio with filtering and sorting options. Returns fields including id, created_at, and values such as name, domains, description, and social links.
get_single_attio_company_by_id
Get company record in Attio using id. Returns id (workspace_id, object_id, record_id), created_at, web_url and values containing company attributes.
create_a_attio_company
Create company record in Attio. Returns id, created_at, web_url and values.
update_a_attio_company_by_id
Update a company record in Attio by id. Returns fields: id (with workspace_id, object_id, record_id), created_at (creation timestamp), web_url (Attio record URL), and values (attributes such as domains, name, description, team, categories, locations, select options, etc.). The logo_url attribute cannot be updated via API, and updating multiselect attributes will prepend values; use the assert endpoint to overwrite or remove values.
delete_a_attio_company_by_id
Delete a company record in Attio by id. Returns an empty object on success or, if not found, returns status_code, type, code, and message in the response.
attio_companies_assert
Create or update a company in Attio using the unique matching_attribute. Returns id (with workspace_id, object_id, record_id), created_at, web_url, and values containing all company attributes as arrays of value objects. matching_attribute is required.
attio_companies_attribute_values
List attribute values for a company record in Attio. Requires id and attribute. Returns attribute value objects including active_from, active_until, created_by_actor, attribute_type, and type-specific fields. show_historic cannot be true for COMINT or enriched attributes; if attempted, a 400 error is returned.
attio_companies_record_entries
List all entries for which the company record is the parent in Attio. Requires id. Returns list_id, list_api_slug, entry_id, and created_at for each entry in the response.
list_all_attio_people
List person records in Attio. Returns id details (workspace_id, object_id, record_id), created_at, web_url, and values with core fields including email_addresses, name, job_title, company, social links, and other attributes.
get_single_attio_person_by_id
Get a person record in Attio using id. Returns id (including workspace_id, object_id, record_id), created_at, web_url, and values with detailed attributes like name, email_addresses, company, and more.
create_a_attio_person
Create a person record in Attio. Throws on unique attribute conflicts such as email_addresses. Returns id (with workspace_id, object_id, record_id), created_at, web_url, and values including email_addresses, name, description, company, phone_numbers, primary_location, and more for the person record in the response.
update_a_attio_person_by_id
Update a person record in Attio using id. Returns updated id, created_at, web_url, and values (attribute details such as email_addresses, name, company, etc.). Multiselect attribute values are prepended. avatar_url cannot be updated.
delete_a_attio_person_by_id
Delete a person record in Attio by id. Returns an empty object on success. If the record is not found, response includes status_code, type, code, and message fields indicating the error.
attio_people_assert
Assert a person record in Attio using matching_attribute. Creates or updates based on unique attribute. Returns id (workspace_id, object_id, record_id), created_at, web_url, and values with key attributes for the person. Requires matching_attribute.
attio_people_attribute_values
List all values for a specific attribute on a person record in Attio. Requires id and attribute. Returns an array of values with fields such as active_from, active_until, created_by_actor, attribute_type, and value or attribute-specific fields. Historic values can only be queried if the attribute is not COMINT or enriched, otherwise, a 400 error is returned.
attio_people_record_entries
List all entries for a specific person record in Attio. Requires id. Returns list_id, list_api_slug, entry_id, and created_at for each entry in the response.
list_all_attio_deals
List deals in Attio. Returns id (workspace_id, object_id, record_id), created_at, web_url, and values for each deal.
get_single_attio_deal_by_id
Get a specific deal record in Attio. Requires id. Returns id (workspace_id, object_id, record_id), created_at, web_url, and values (name, stage, owner, value, associated_people, associated_company) describing the deal.
create_a_attio_deal
Create deal record in Attio. Throws error on unique attribute conflicts. Returns data.id (workspace_id, object_id, record_id), created_at, web_url, and values.
update_a_attio_deal_by_id
Update a deal record in Attio by id. Returns id (with workspace_id, object_id, record_id), created_at, web_url, and values (including name, stage, owner, value, associated_people, associated_company) in the response. Note: Multiselect attributes are prepended, not overwritten.
delete_a_attio_deal_by_id
Delete a deal record in Attio. Requires id. Returns success on deletion or error fields status_code, type, code, and message if the record is not found.
attio_deals_assert
Create or update a person record in Attio using a unique matching_attribute. Returns id (workspace_id, object_id, record_id), created_at, web_url, and values including email_addresses, name, description, company, phone_numbers, and other key person attributes. Requires matching_attribute.
attio_deals_attribute_values
List deal record attribute values in Attio. Requires record_id and attribute. Returns fields such as active_from (when the value became active), active_until, created_by_actor, and attribute_type. Includes all value types as defined in Attio's schema.
attio_deals_record_entries
List all entries for which the deal record in Attio is the parent. Requires id. Returns list_id, list_api_slug, entry_id, and created_at fields for each entry in the response.
list_all_attio_notes
List notes in Attio. Returns id (with workspace_id and note_id), parent_object, parent_record_id, title, content_plaintext, content_markdown, tags, created_by_actor, and created_at fields for each note.
get_single_attio_note_by_id
Get a note in Attio by id. Returns id (workspace_id, note_id), parent_object, parent_record_id, title, content_plaintext, content_markdown, tags, created_by_actor, and created_at fields. Requires id.
create_a_attio_note
Create a note in Attio. Requires parent_object, parent_record_id, title, format, and content. Returns id, parent_object, parent_record_id, title, content_plaintext, content_markdown, tags, created_by_actor, and created_at in the response.
delete_a_attio_note_by_id
Delete a note in Attio by id. The response is empty on success. If the note does not exist, it returns fields status_code, type, code, and message indicating the error.
list_all_attio_tasks
List all tasks in Attio. Returns tasks with fields: id (workspace_id, task_id), content_plaintext, deadline_at, is_completed, linked_records, assignees, created_by_actor, created_at. Results are sorted by creation date from oldest to newest.
get_single_attio_task_by_id
Get a single task in Attio by id. Returns id, content_plaintext, deadline_at, is_completed, linked_records, assignees, created_by_actor, and created_at fields in the response. id is required.
create_a_attio_task
Create a new task in Attio. Requires content, format, deadline_at, is_completed, linked_records, and assignees. Returns id (workspace_id, task_id), content_plaintext, deadline_at, is_completed, linked_records, assignees, created_by_actor, and created_at.
update_a_attio_task_by_id
Update a specific task in Attio by id. Returns id, content_plaintext, deadline_at, is_completed, linked_records, assignees, created_by_actor, and created_at in the response. Only deadline_at, is_completed, linked_records, and assignees can be updated.
delete_a_attio_task_by_id
Delete a task in Attio by id. Returns an empty object on success. If the task is not found, returns status_code, type, code, and message fields indicating the error.
list_all_attio_attribute_options
List select options for a specific attribute in Attio using target, identifier, and attribute. Returns id (workspace_id, object_id, attribute_id, option_id), title, and is_archived fields for each option.
create_a_attio_attribute_option
Create a select option on an attribute for a target and identifier in Attio. Returns id fields workspace_id, object_id, attribute_id, option_id, title, and is_archived status.
update_a_attio_attribute_option_by_id
Update a select option on an attribute on an object or list in Attio. Requires target, identifier, attribute, and id. Returns workspace_id, object_id, attribute_id, option_id, title, and is_archived fields.
list_all_attio_attributes
List attributes for a specific object or list in Attio. Requires target and identifier. Returns id, title, description, api_slug, type, is_system_attribute, is_writable, is_required, is_unique, is_multiselect, is_default_value_enabled, is_archived, default_value, relationship, created_at, and config for each attribute in the response.
get_single_attio_attribute_by_id
Get information about a specific attribute in Attio using target, identifier, and id. Returns attribute properties such as id, title, description, api_slug, type, system and writability flags, requirements, uniqueness, multiselect, default value details, relationship, created_at, is_archived, and config.
create_a_attio_attribute
Create an attribute in Attio for a specific object or list using target and identifier. Returns id, title, description, api_slug, type, is_system_attribute, is_writable, is_required, is_unique, is_multiselect, is_default_value_enabled, is_archived, default_value, relationship, created_at, and config in the response. When creating on an object, the object_configuration:read-write scope is required; for a list, the list_configuration:read-write scope is required. Attributes of type 'status' are not supported on objects.
update_a_attio_attribute_by_id
Update a specific attribute in Attio for a given object or list. Requires target, identifier, and id. Returns title, description, api_slug, type, is_system_attribute, is_writable, is_required, is_unique, is_multiselect, is_default_value_enabled, is_archived, default_value, relationship, created_at, and config fields in the response.
list_all_attio_workspace_members
List all workspace members in Attio. Returns id (with workspace_id and workspace_member_id), first_name, last_name, avatar_url, email_address, created_at, and access_level fields for each member.
get_single_attio_workspace_member_by_id
Get a workspace member in Attio using id. Returns workspace_id, workspace_member_id, first_name, last_name, avatar_url, email_address, created_at, and access_level in the response.
list_all_attio_lists
List all lists accessible with the current access token in Attio. Returns id, api_slug, name, parent_object, workspace_access, workspace_member_access, created_by_actor, and created_at fields for each list.
create_a_attio_list
Create a list with name, api_slug, parent_object, workspace_access, and workspace_member_access in Attio. Returns id (workspace_id, list_id), api_slug, name, parent_object, workspace_access, workspace_member_access, created_by_actor, and created_at.
get_single_attio_list_by_id
Get a single list by id in Attio. Returns id with workspace_id and list_id, api_slug, name, parent_object array, workspace_access level, workspace_member_access details, created_by_actor info, and created_at timestamp.
update_a_attio_list_by_id
Update an existing list by id in Attio. Returns id (workspace_id, list_id), api_slug, name, parent_object, workspace_access, workspace_member_access, created_by_actor, and created_at fields.
list_all_attio_statuses
List statuses for a specific status attribute in Attio. Requires target, identifier, and attribute. Returns id (workspace_id, object_id, attribute_id, status_id), title, is_archived, celebration_enabled, and target_time_in_status for each status.
create_a_attio_status
Create a status in Attio for a specific attribute. Requires target, identifier, and attribute. Returns id (workspace_id, object_id, attribute_id, status_id), title, is_archived, celebration_enabled, and target_time_in_status in the response.
update_a_attio_status_by_id
Update a status in Attio for a specific target, identifier, attribute, and id. Returns id fields (workspace_id, object_id, attribute_id, status_id), title, is_archived, celebration_enabled, and target_time_in_status in the response.
list_all_attio_entries
List entries in a specific list in Attio. Requires list. Returns id (workspace_id, list_id, entry_id), parent_record_id, parent_object, created_at, and entry_values for each entry.
create_a_attio_entry
Create an entry in Attio by adding a record to a list. Requires list. Returns id (workspace_id, list_id, entry_id), parent_record_id, parent_object, created_at, and entry_values fields for the created entry. Throws on unique attribute conflicts.
update_a_attio_entry_by_id
Update a list entry in Attio using list and id. Appends new multiselect values if provided, does not overwrite existing ones. Returns id, parent_record_id, parent_object, created_at, and entry_values for the updated entry.
delete_a_attio_entry_by_id
Delete an entry in Attio. Requires list and id. No content is returned in the response.
get_single_attio_entry_by_id
Get a specific list entry in Attio. Requires list and id. Returns id (with workspace_id, list_id, entry_id), parent_record_id, parent_object, created_at, and entry_values containing attribute data.
attio_entries_assert
Assert a list entry by parent in Attio for the given list. Requires list. Returns id (workspace_id, list_id, entry_id), parent_record_id, parent_object, created_at and entry_values for the created or updated entry, or errors if multiple match or not found.
attio_entries_overwrite
Update a list entry in Attio using list and id. Overwrites multiselect values. Returns id details, parent_record_id, parent_object, created_at, and entry_values showing updated attribute values.
attio_entries_attribute_values
List all values for a specific attribute on an entry in Attio. Requires list, id, and attribute. Returns key fields like active_from, active_until, created_by_actor, attribute_type, and value-dependent properties for each value.
list_all_attio_objects
List all system-defined and user-defined objects in Attio. Returns id (workspace_id, object_id), api_slug, singular_noun, plural_noun, and created_at for each object.
get_single_attio_object_by_id
Get an object in Attio using id. Returns id (with workspace_id and object_id), api_slug, singular_noun, plural_noun, and created_at fields in the response. Requires id.
create_a_attio_object
Create a new object in Attio. Requires api_slug, singular_noun, and plural_noun. Returns id (object_id, workspace_id), api_slug, singular_noun, plural_noun, and created_at in the response.
update_a_attio_object_by_id
Update an object in Attio. Requires id. Returns id (with workspace_id and object_id), api_slug, singular_noun, plural_noun, and created_at fields in the response.
list_all_attio_threads
List threads in Attio. Returns id with workspace_id and thread_id, comments with key comment details for each thread, and created_at. To view record threads, object_configuration:read and record_permission:read are required; for list entry threads, list_configuration:read and list_entry:read are required. All key thread fields are returned in the response.
get_single_attio_thread_by_id
Get all comments in a specific thread in Attio. Requires id of the thread. Returns thread id, workspace_id, created_at, and an array of comments with content, author, entry, record, and status fields.
get_single_attio_comment_by_id
Get a specific comment in Attio by id. Returns fields including id (workspace_id, comment_id), thread_id, content_plaintext, entry, record, resolved_at, resolved_by, created_at, and author.
create_a_attio_comment
Create a comment in Attio. Requires format, content, author, and one of thread_id, record, or entry. Returns id (workspace_id, comment_id), thread_id, content_plaintext, entry, record, resolved_at, resolved_by, created_at, and author.
delete_a_attio_comment_by_id
Delete a comment in Attio by id. If deleting a comment at the head of a thread, all messages in the thread are also deleted. Success returns an empty object in the response.
list_all_attio_webhooks
List all webhooks in Attio. Returns target_url, subscriptions (event_type and filter), id (workspace_id and webhook_id), status, and created_at for each webhook.
get_single_attio_webhook_by_id
Get a webhook in Attio. Requires id. Returns target_url (delivery destination), subscriptions (event types with filter conditions), id (workspace_id and webhook_id), status (webhook state), and created_at (creation timestamp).
create_a_attio_webhook
Create a webhook in Attio by specifying target_url and subscriptions. Returns target_url, subscriptions, id (with workspace_id and webhook_id), status, created_at, and secret. The secret is only shown when initially setting up the webhook.
update_a_attio_webhook_by_id
Update a webhook in Attio. Requires id. Returns target_url (delivery URL), subscriptions (event types and filters), id (workspace_id, webhook_id), status (active, degraded, inactive), and created_at (creation timestamp) in the response.
delete_a_attio_webhook_by_id
Delete a webhook in Attio using id. Returns an empty object if successful, or status_code, type, code, and message if webhook is not found.
list_all_attio_auth_session
Identify the current access token, its Attio workspace, and permissions. Returns fields describing token status, scope, workspace details, issued and expiration times, client_id, issuer, and authorizing workspace member.
list_all_attio_users
List user records in Attio. Returns id (workspace_id, object_id, record_id), created_at, web_url, and values (person, primary_email_address, user_id, workspace) for each record.
get_single_attio_user_by_id
Get a user record in Attio by providing id. Returns id (with workspace_id, object_id, record_id), created_at (creation time), web_url (link to the user in Attio), and values (user attributes, such as person, primary_email_address, user_id, workspace).
create_a_attio_user
Create a user record in Attio. Returns id identifying the created user, created_at timestamp, web_url to the user in Attio, and values including person, primary_email_address, user_id, and workspace. Throws on unique attribute conflicts.
update_a_attio_user_by_id
Update a user record in Attio by id. Returns id with workspace_id, object_id, record_id, created_at, web_url, and values including person, primary_email_address, user_id, and workspace arrays. The avatar_url attribute cannot be updated via this endpoint.
delete_a_attio_user_by_id
Delete a user record in Attio. Requires id. Returns an empty object on success or, if not found, returns status_code, type, code, and message fields indicating the error.
attio_users_assert
Create or update a user record in Attio using the matching_attribute query parameter. Returns id (workspace_id, object_id, record_id), created_at, web_url, and values (with attributes like person, primary_email_address, user_id, workspace). Requires matching_attribute.
attio_users_attribute_values
List all values for a specific attribute on a user record in Attio. Requires record_id and attribute. Returns fields such as active_from, active_until, created_by_actor, value, and attribute_type for each value. If show_historic is set to true, historic values are returned unless the attribute is a COMINT or an enriched attribute on people/company objects.
attio_users_record_entries
List all entries for which the user record in Attio is the parent. Requires id. Returns list_id, list_api_slug, entry_id, and created_at fields in the response.
list_all_attio_workspaces
List workspace records in Attio. Returns each record's id (workspace_id, object_id, record_id), created_at, web_url, and values with current and historical attribute values, including workspace_id, name, users, company, and avatar_url.
get_single_attio_workspace_by_id
Get a specific workspace record in Attio using id. Returns id (with workspace_id, object_id, record_id), created_at, web_url, and values object containing attributes, users, company, and avatar_url.
create_a_attio_workspace
Create a workspace record in Attio. Returns id (workspace_id, object_id, record_id), created_at, web_url for direct access, and values holding all workspace attributes for the created record. Throws on unique attribute conflicts.
update_a_attio_workspace_by_id
Update a workspace record in Attio by id. Returns id (workspace_id, object_id, record_id), created_at (record creation time), web_url (link to record in Attio), and values (updated attribute arrays with details such as value, target_object, target_record_id, created_by_actor, active_from, active_until, and attribute_type). For multiselect attributes, supplied values are prepended; to overwrite or remove values, use the Assert workspace endpoint.
delete_a_attio_workspace_by_id
Delete a workspace record in Attio by id. Returns an empty object on success or status_code, type, code, and message fields if the record is not found.
attio_workspaces_assert
Create or update a workspace record in Attio. Requires matching_attribute. Returns id (workspace_id, object_id, record_id), created_at, web_url, and attribute values including workspace_id, name, users, company, and avatar_url for the workspace.
attio_workspaces_attribute_values
List attribute values for a workspace record in Attio. Requires record_id and attribute. Returns fields such as active_from, active_until, created_by_actor, value, attribute_type, among others depending on attribute type.
attio_workspaces_record_entries
List all entries for which the specified workspace record in Attio is the parent. Requires id. Returns list_id, list_api_slug, entry_id, and created_at for each entry in the response.
list_all_attio_records
List records for a specific object in Attio. Requires object. Returns id (workspace_id, object_id, record_id), created_at, web_url, and values containing all attribute data for each record.
get_single_attio_record_by_id
Get a specific record in Attio using object and id. Returns id (including workspace_id, object_id, record_id), created_at, web_url, and values fields representing all attribute values for the record.
create_a_attio_record
Create a record in Attio for a specific object. Requires object. Returns id (workspace_id, object_id, record_id), created_at, web_url, and values in the response. Will throw on unique attribute conflicts.
delete_a_attio_record_by_id
Delete a record in Attio by object and id. Returns an empty object if successful, or status_code, type, code, and message if the record is not found.
attio_records_attribute_values
List all values for a specific attribute on a record in Attio. Requires object, id, and attribute. Returns active_from, active_until, created_by_actor, attribute_type, and other relevant value fields for each attribute value.
attio_records_record_entries
List all entries for which this record is the parent in Attio. Requires object and id. Returns list_id, list_api_slug, entry_id, and created_at for each entry.
update_a_attio_record_by_id
Update a record in Attio by object and id. Appends new multiselect attribute values instead of replacing them. Returns id (workspace_id, object_id, record_id), created_at, web_url, and all updated attribute values for the record in the response.
attio_records_overwrite
Update a specific record in Attio by object and id. Overwrites any existing multiselect values. Returns id (workspace_id, object_id, record_id), created_at, web_url, and updated attribute values for the record in the response.
How it works
From Attio account to governed MCP endpoint
Connect
Link a Attio account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Attio tools are exposed, rename them, or freeze arguments.
Mint
Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.
Give every teammate a governed MCP server
Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.