> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agent-auth`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Attio

<div class="grid grid-cols-5 gap-4 items-center">
 <div class="col-span-4">
  Connect to Attio CRM to manage contacts, companies, deals, notes, tasks, and lists with a modern relationship management platform.
 </div>
 <div class="flex justify-center">
  <img src="https://cdn.scalekit.com/sk-connect/assets/provider-icons/attio.svg" width="64" height="64" alt="Attio logo" />
 </div>
</div>

Supports authentication: OAuth 2.0

## Set up the agent connector

<SetupAttioSection />

## Usage

<UsageAttioSection />

## Tool list

## `attio_add_to_list`

Add a record (contact, company, deal, or custom object) to a specific Attio list. Returns the newly created list entry with its entry ID, which can be used to remove it later. If the record is already in the list, a new entry is created.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `entry_values` | `object` | No | Optional attribute values to set on the list entry itself (not the underlying record). Keys are attribute slugs, values are the data to set. Example: `{"stage": "qualified"}` |
| `list_id` | string | Yes | The UUID of the Attio list to add the record to. Use the List Lists tool (attio_list_lists) to retrieve available lists and their UUIDs. |
| `parent_object` | string | Yes | The object type slug the record belongs to. Must match the object type the list is configured for — run attio_list_lists to check the list's parent object before adding. |
| `parent_record_id` | string | Yes | The UUID of the record to add to the list. Must be a valid UUID — obtain this from search or list records results. |

## `attio_create_attribute`

Creates a new attribute on an Attio object or list. Requires api_slug, title, type, description, is_required, is_unique, is_mct, and config. The config object varies by type — for most types pass an empty object `{}`. For select/multiselect, config can include options. For record-reference, config includes the target object.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `api_slug` | string | Yes | Snake_case identifier for the new attribute. Must be unique within the object. |
| `config` | `object` | Yes | Type-specific configuration object. For most types (text, number, date, checkbox, etc.) pass an empty object `{}`. For record-reference, pass `{"relationship": {"object": "companies"}}`. |
| `description` | string | Yes | Human-readable description of what this attribute is used for. |
| `is_multiselect` | boolean | Yes | Whether this attribute allows multiple values per record. |
| `is_required` | boolean | Yes | Whether this attribute is required when creating records of this object type. |
| `is_unique` | boolean | Yes | Whether values for this attribute must be unique across all records of this object type. |
| `object` | string | Yes | Slug or UUID of the object to create the attribute on. Common slugs: people, companies, deals. |
| `title` | string | Yes | Human-readable display title for the attribute. |
| `type` | string | Yes | Data type of the attribute. Supported values: text, number, select, multiselect, status, date, timestamp, checkbox, currency, record-reference, actor-reference, location, domain, email-address, phone-number, interaction. |

## `attio_create_comment`

Creates a new comment on a record in Attio. Requires author_id (workspace member UUID), content, record_object (e.g. people, companies, deals), and record_id. Optionally provide thread_id to reply to an existing thread. Format is always plaintext.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `author_id` | string | Yes | UUID of the workspace member who is authoring the comment. Use the List Workspace Members tool to find member UUIDs. |
| `content` | string | Yes | Plaintext content of the comment. |
| `record_id` | string | Yes | UUID of the record to attach the comment to. |
| `record_object` | string | Yes | Object slug or UUID of the record to comment on. Common slugs: people, companies, deals. |
| `thread_id` | string | No | UUID of an existing comment thread to reply to. Leave empty to start a new top-level comment. |

## `attio_create_company`

Creates a new company record in Attio. Throws an error on conflicts of unique attributes like domains. Use Assert Company if you prefer to update on conflicts. Note: The logo_url attribute cannot currently be set via the API.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `values` | `object` | Yes | Attribute values for the new company record. |

## `attio_create_deal`

Creates a new deal record in Attio. Throws an error on conflicts of unique attributes. Provide at least one attribute value in the values field.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `values` | `object` | Yes | Attribute values for the new deal record. |

## `attio_create_list`

Creates a new list in Attio. Requires workspace_access (one of: full-access, read-and-write, read-only) and workspace_member_access array. After creation, add attributes using Create Attribute and records using Create Entry.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `api_slug` | string | Yes | Snake_case identifier for the new list used in API access. |
| `name` | string | Yes | Human-readable display name for the new list. |
| `parent_object` | string | Yes | Object slug the list tracks. Must be a valid object slug such as people, companies, or deals. |
| `workspace_access` | string | Yes | Access level for all workspace members. Must be one of: full-access, read-and-write, read-only. Use full-access to give all members full control. |
| `workspace_member_access` | `array<object>` | No | Optional array of per-member access overrides. Leave empty for uniform access via workspace_access. Each item: `{"workspace_member_id": "uuid", "level": "full-access"}`. |

## `attio_create_note`

Create a note on an Attio record (person, company, deal, or custom object). Notes support plaintext or Markdown formatting. You can optionally backdate the note by specifying a created_at timestamp, or associate it with an existing meeting via meeting_id.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `content` | string | Yes | Body of the note. Use plain text or Markdown depending on the format field. Line breaks are supported via \n in plaintext mode. |
| `created_at` | string | No | ISO 8601 timestamp for backdating the note. Defaults to the current time if not provided. Example: "2024-01-15T10:30:00Z" |
| `format` | string | Yes | Format of the note content. Must be either "plaintext" or "markdown". |
| `meeting_id` | string | No | UUID of an existing meeting to associate with this note. Optional. |
| `parent_object` | string | Yes | The slug or UUID of the parent object the note will be attached to. Common slugs: "people", "companies", "deals". |
| `parent_record_id` | string | Yes | UUID of the parent record the note will be attached to. |
| `title` | string | Yes | Plaintext title for the note. No formatting is allowed in the title. |

## `attio_create_object`

Creates a new custom object in the Attio workspace. Use when you need an object type beyond the standard types (people, companies, deals, users, workspaces).

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `api_slug` | string | Yes | Snake_case identifier for the new object. |
| `plural_noun` | string | Yes | Plural noun for the new object type. |
| `singular_noun` | string | Yes | Singular noun for the new object type. |

## `attio_create_person`

Creates a new person record in Attio. Throws an error on conflicts of unique attributes like email_addresses. Use Assert Person if you prefer to update on conflicts. Note: The avatar_url attribute cannot currently be set via the API.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `values` | `object` | Yes | Attribute values for the new person record. |

## `attio_create_record`

Create a new record in Attio for a given object type (e.g. people, companies, deals). Provide attribute values as a JSON object mapping attribute API slugs or IDs to their values. Throws an error if a unique attribute conflict is detected — use the Assert Record endpoint instead to upsert on conflict.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | Yes | The slug or UUID of the object type to create the record in. Common slugs: "people", "companies", "deals". |
| `values` | `object` | Yes | Attribute values for the new record. Keys are attribute API slugs or UUIDs; values are the data to set. For multi-value attributes, supply an array. Example for a person: `{"name": [{"first_name": "Alice", "last_name": "Smith"}], "email_addresses": [{"email_address": "alice@example.com"}]}` |

## `attio_create_task`

Create a new task in Attio. Tasks can be linked to one or more records (people, companies, deals, etc.) and assigned to workspace members. Supports setting a deadline and initial completion status. Only plaintext format is supported for task content.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `assignees` | `array<object>` | No | Array of assignees for this task. Each item must have either referenced_actor_id (UUID) with referenced_actor_type set to workspace-member, or workspace_member_email_address. Example: [`{"referenced_actor_type": "workspace-member", "referenced_actor_id": "d4a8e6f2-3b1c-4d5e-9f0a-1b2c3d4e5f6a"}`] |
| `content` | string | Yes | The text content of the task. Maximum 2000 characters. Only plaintext is supported. |
| `deadline_at` | string | Yes | ISO 8601 datetime for the task deadline. Must include milliseconds and timezone, e.g. 2024-03-31T17:00:00.000Z. |
| `is_completed` | boolean | No | Whether the task is already completed. Defaults to false. |
| `linked_records` | `array<object>` | No | Array of records to link this task to. Each item must have a target_object (slug or UUID) and either target_record_id (UUID) or an attribute-based match. Example: [`{"target_object": "people", "target_record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b"}`] |

## `attio_delete_comment`

Permanently deletes a comment by its comment_id. If the comment is at the head of a thread, all messages in the thread are also deleted.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `comment_id` | string | Yes | The unique identifier of the comment to delete. |

## `attio_delete_company`

Permanently deletes a company record from Attio by its record_id. This operation is irreversible.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the company record to delete. |

## `attio_delete_deal`

Permanently deletes a deal record from Attio by its record_id. This operation is irreversible.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the deal record to delete. |

## `attio_delete_note`

Permanently deletes a note from Attio by its note_id. This operation is irreversible.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `note_id` | string | Yes | The unique identifier of the note to delete. |

## `attio_delete_person`

Permanently deletes a person record from Attio by its record_id. This operation is irreversible.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the person record to delete. |

## `attio_delete_record`

Permanently delete a record from Attio by its object type and record ID. This action is irreversible. Returns an empty response on success. Returns 404 if the record does not exist.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | Yes | The slug or UUID of the object type the record belongs to. Common slugs: "people", "companies", "deals". |
| `record_id` | string | Yes | The UUID of the record to delete. |

## `attio_delete_task`

Permanently deletes a task from Attio by its task_id. This operation is irreversible.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `task_id` | string | Yes | The unique identifier of the task to delete. |

## `attio_delete_user_record`

Permanently deletes a user record from Attio by its record_id. This operation is irreversible.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the user record to delete. |

## `attio_delete_webhook`

Permanently deletes a webhook by its webhook_id from Attio. This operation is irreversible.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `webhook_id` | string | Yes | The unique identifier of the webhook to delete. |

## `attio_delete_workspace_record`

Permanently deletes a workspace record from Attio by its record_id. This operation is irreversible.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the workspace record to delete. |

## `attio_get_attribute`

Retrieves details of a single attribute on an Attio object or list, including its type, slug, configuration, and metadata.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `attribute` | string | Yes | Attribute slug or UUID. |
| `object` | string | Yes | Object slug or UUID. |

## `attio_get_comment`

Retrieves a single comment by its comment_id in Attio. Returns the comment's content, author, thread, and resolution status.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `comment_id` | string | Yes | The unique identifier of the comment. |

## `attio_get_company`

Retrieves a single company record by its record_id from Attio. Returns all attribute values with temporal and audit metadata.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the company record. |

## `attio_get_current_token_info`

Identifies the current access token, the workspace it is linked to, and its permissions. Use to verify token validity or retrieve workspace information.

## `attio_get_deal`

Retrieves a single deal record by its record_id from Attio. Returns all attribute values with temporal and audit metadata.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the deal record. |

## `attio_get_list`

Retrieves details of a single list in the Attio workspace by its UUID or slug.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `list_id` | string | Yes | The unique identifier or slug of the list. |

## `attio_get_list_entry`

Retrieves a single list entry by its entry_id. Returns detailed information about a specific entry in an Attio list.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `entry_id` | string | Yes | The unique identifier of the list entry. |
| `list_id` | string | Yes | The unique identifier or slug of the list. |

## `attio_get_note`

Retrieves a single note by its note_id in Attio. Returns the note's title, content (plaintext and markdown), tags, and creator information.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `note_id` | string | Yes | The unique identifier of the note. |

## `attio_get_object`

Retrieves details of a single object by its slug or UUID in Attio.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | Yes | Object slug or UUID. |

## `attio_get_person`

Retrieves a single person record by its record_id from Attio. Returns all attribute values with temporal and audit metadata.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the person record. |

## `attio_get_record`

Retrieve a specific record from Attio by its object type and record ID. Returns the full record including all attribute values with their complete audit trail (created_by_actor, active_from, active_until). Supports people, companies, deals, and custom objects.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | Yes | The slug or UUID of the object type the record belongs to. Common slugs: "people", "companies", "deals". |
| `record_id` | string | Yes | The UUID of the record to retrieve. |

## `attio_get_record_attribute_values`

Retrieves all values for a given attribute on a record in Attio. Can include historic values using show_historic parameter. Not available for COMINT or enriched attributes.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `attribute` | string | Yes | Attribute slug or UUID. |
| `object` | string | Yes | Object slug or UUID. |
| `record_id` | string | Yes | The unique identifier of the record. |
| `show_historic` | boolean | No | Whether to include historic values. |

## `attio_get_task`

Retrieves a single task by its task_id in Attio. Returns the task's content, deadline, assignees, and linked records.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `task_id` | string | Yes | The unique identifier of the task. |

## `attio_get_webhook`

Retrieves a single webhook by its webhook_id in Attio. Returns the webhook's target URL, event subscriptions, status, and metadata.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `webhook_id` | string | Yes | The unique identifier of the webhook. |

## `attio_get_workspace_member`

Retrieves a single workspace member by their workspace_member_id. Returns name, email, access level, and avatar information.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `workspace_member_id` | string | Yes | The unique identifier of the workspace member. |

## `attio_get_workspace_record`

Retrieves a single workspace record by its record_id from Attio. Returns all attribute values with temporal and audit metadata.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `record_id` | string | Yes | The unique identifier of the workspace record. |

## `attio_list_attribute_options`

Lists all select options for a select or multiselect attribute on an Attio object or list.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `attribute` | string | Yes | Attribute slug or UUID of the select/multiselect attribute. |
| `object` | string | Yes | Object slug or UUID. |

## `attio_list_attribute_statuses`

Lists all statuses for a status attribute on an Attio object or list. Returns status IDs, titles, and configuration.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `attribute` | string | Yes | Attribute slug or UUID of the status attribute. |
| `object` | string | Yes | Object slug or UUID. |

## `attio_list_attributes`

Lists the attribute schema for an Attio object or list, including slugs, types, and select/status configuration. Use to discover what attributes exist and their types before filtering or writing.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | Yes | Object slug or UUID to list attributes for. |

## `attio_list_companies`

Lists company records in Attio with optional filtering and sorting. Use filter and sorts fields to narrow results. Returns paginated results.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `object` | No | Filter criteria for querying companies. |
| `limit` | number | No | Maximum number of records to return. |
| `offset` | number | No | Number of records to skip for pagination. |
| `sorts` | `array<object>` | No | Sorting criteria for the results. |

## `attio_list_deals`

Lists deal records in Attio with optional filtering and sorting. Returns paginated results.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `object` | No | Filter criteria for querying deals. |
| `limit` | number | No | Maximum number of records to return. |
| `offset` | number | No | Number of records to skip for pagination. |
| `sorts` | `array<object>` | No | Sorting criteria for the results. |

## `attio_list_entries`

Lists entries in a given Attio list with optional filtering and sorting. Returns records that belong to the specified list.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `object` | No | Filter criteria for querying entries. |
| `limit` | number | No | Maximum number of entries to return. |
| `list_id` | string | Yes | The unique identifier or slug of the list. |
| `offset` | number | No | Number of entries to skip for pagination. |
| `sorts` | `array<object>` | No | Sorting criteria for the results. |

## `attio_list_lists`

Retrieve all CRM lists available in the Attio workspace, along with their entries for a specific record. Lists are used to track pipeline stages, outreach targets, or custom groupings of records. Optionally filter entries by a parent record ID and object type.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | number | No | Maximum number of list entries to return per list. Defaults to 20. |
| `offset` | number | No | Number of list entries to skip for pagination. Defaults to 0. |

## `attio_list_meetings`

Lists all meetings in the Attio workspace. Optionally filter by participants or linked records. This endpoint is in beta.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | number | No | Maximum number of results to return. |
| `offset` | number | No | Number of results to skip for pagination. |

## `attio_list_notes`

List notes in Attio. Optionally filter by a parent object and record to retrieve notes attached to a specific person, company, deal, or other object. Supports pagination via limit (max 50) and offset.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | number | No | Maximum number of notes to return. Default is 10, maximum is 50. |
| `offset` | number | No | Number of notes to skip before returning results. Default is 0. Use with limit for pagination. |
| `parent_object` | string | No | Filter notes by parent object slug or UUID. Examples: "people", "companies", "deals". Must be provided together with parent_record_id to filter by a specific record. |
| `parent_record_id` | string | No | Filter notes by parent record UUID. Must be provided together with parent_object. |

## `attio_list_objects`

Retrieves all available objects (both system-defined and user-defined) in the Attio workspace. Fundamental for understanding workspace structure.

## `attio_list_people`

Lists person records in Attio with optional filtering and sorting. Use filter and sorts fields to narrow results. Returns paginated results.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `object` | No | Filter criteria for querying people. |
| `limit` | number | No | Maximum number of records to return. |
| `offset` | number | No | Number of records to skip for pagination. |
| `sorts` | `array<object>` | No | Sorting criteria for the results. |

## `attio_list_record_entries`

Lists all entries across all lists for which a specific record is the parent in Attio. Returns list IDs, slugs, entry IDs, and creation timestamps.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | Yes | Object slug or UUID. |
| `record_id` | string | Yes | The unique identifier of the parent record. |

## `attio_list_records`

List and query records for a specific Attio object type (e.g. people, companies, deals). Supports filtering by attribute values, sorting, and pagination with limit and offset. Returns guaranteed up-to-date data unlike the Search Records endpoint.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `object` | No | Filter object to narrow results to a subset of records. Structure depends on the attributes of the target object. Example: `{"email_addresses": {"email_address": {"$eq": "alice@example.com"}}}` |
| `limit` | number | No | Maximum number of records to return. Defaults to 500. |
| `object` | string | Yes | The slug or UUID of the object type to list records for. Common slugs: "people", "companies", "deals". |
| `offset` | number | No | Number of records to skip before returning results. Defaults to 0. Use with limit for pagination. |
| `sorts` | `array<object>` | No | Array of sort objects to order results. Each sort object specifies a direction ("asc" or "desc"), an attribute slug or ID, and an optional field. Example: [`{"direction": "asc", "attribute": "name"}`] |

## `attio_list_tasks`

List tasks in Attio, optionally filtered by linked record. Returns tasks with their content, deadline, completion status, assignees, and linked records. Use record filters to retrieve tasks associated with a specific contact, company, or deal.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `is_completed` | boolean | No | Filter tasks by completion status. Set to true to return only completed tasks, false for only incomplete tasks, or omit to return all tasks. |
| `limit` | number | No | Maximum number of tasks to return. Defaults to 20. |
| `linked_object` | string | No | Filter tasks linked to records of this object type. Use with linked_record_id. Common slugs: "people", "companies", "deals". |
| `linked_record_id` | string | No | Filter tasks linked to this specific record UUID. Use with linked_object to specify the object type. |
| `offset` | number | No | Number of tasks to skip for pagination. Defaults to 0. |

## `attio_list_threads`

Lists threads of comments on a record or list entry in Attio. Returns all comment threads associated with a specific record or list entry.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `parent_object` | string | Yes | Object slug of the parent record. |
| `parent_record_id` | string | Yes | The unique identifier of the parent record. |

## `attio_list_user_records`

Lists user records in Attio with optional filtering and sorting. Returns paginated results.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `object` | No | Filter criteria for querying user records. |
| `limit` | number | No | Maximum number of records to return. |
| `offset` | number | No | Number of records to skip for pagination. |
| `sorts` | `array<object>` | No | Sorting criteria for the results. |

## `attio_list_webhooks`

Retrieves all webhooks in the Attio workspace. Returns webhook configurations, subscriptions, and statuses. Supports optional limit and offset pagination parameters.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | number | No | Maximum number of webhooks to return. |
| `offset` | number | No | Number of webhooks to skip for pagination. |

## `attio_list_workspace_members`

Lists all workspace members in the Attio workspace. Use to retrieve workspace member IDs needed for assigning owners or actor-reference attributes.

## `attio_list_workspace_records`

Lists workspace records in Attio with optional filtering and sorting. Returns paginated results.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `filter` | `object` | No | Filter criteria for querying workspace records. |
| `limit` | number | No | Maximum number of records to return. |
| `offset` | number | No | Number of records to skip for pagination. |
| `sorts` | `array<object>` | No | Sorting criteria for the results. |

## `attio_remove_from_list`

Remove a specific entry from an Attio list by its entry ID. This deletes the list entry but does not delete the underlying record. Obtain the entry ID from the Add to List response or by querying list entries. Returns 404 if the entry does not exist.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `entry_id` | string | Yes | The UUID of the list entry to remove. This is the entry ID returned when the record was added to the list, not the record ID itself. |
| `list_id` | string | Yes | The slug or UUID of the Attio list to remove the entry from. |

## `attio_search_records`

Search for records in Attio for a given object type (people, companies, deals, or custom objects) using a fuzzy text query. Returns matching records with their IDs, labels, and key attributes.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | integer | No | Maximum number of results to return per page. Defaults to 20. |
| `object` | string | Yes | The slug or UUID of the object type to search within. Common slugs: "people", "companies", "deals". |
| `offset` | integer | No | Number of results to skip for pagination. Defaults to 0. |
| `query` | string | Yes | Fuzzy text search string matched against names, emails, domains, phone numbers, and social handles. Pass an empty string to return all records. |

---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
