> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Attio

> Query and manage records, objects, and lists in Attio CRM

## At a glance

* **Availability**: Experimental ([how to enable](/cloud/integrations)).
* **Auth**: OAuth 2.0.
* **Connection**: A user authorizes the connection in the provider's consent screen.
* **Scopes**: `object_configuration:read`, `record_permission:read-write`, `list_configuration:read`.
* **Docs**: [https://docs.attio.com/rest-api/tutorials/connect-an-app-through-oauth](https://docs.attio.com/rest-api/tutorials/connect-an-app-through-oauth)

## Credentials

Set these per environment. See [Connect an integration](/cloud/integrations).

With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.

| Variable              | Required | Description                                                                                               |
| --------------------- | -------- | --------------------------------------------------------------------------------------------------------- |
| `ATTIO_CLIENT_ID`     | Yes      | Attio OAuth Client ID [Docs](https://docs.attio.com/rest-api/tutorials/connect-an-app-through-oauth).     |
| `ATTIO_CLIENT_SECRET` | Yes      | Attio OAuth Client Secret [Docs](https://docs.attio.com/rest-api/tutorials/connect-an-app-through-oauth). |

## Setup

1. **Create an Attio app**: Go to the Attio developer dashboard at [https://build.attio.com/](https://build.attio.com/) and create a new app. Any Attio workspace (including the free plan) can be used for development.
2. **Configure OAuth**: In the app's OAuth settings, add the redirect URI \<your-app-url>/api/auth/attio/callback and select the scopes object\_configuration:read, record\_permission:read-write, and list\_configuration:read.
3. **Set credentials**: Copy the client ID and client secret from the app settings into your .env as ATTIO\_CLIENT\_ID and ATTIO\_CLIENT\_SECRET.
4. **Verify access**: Complete the OAuth flow, then run the List Objects tool followed by Query Records on the people object.

* Attio access tokens expire; refresh tokens are exchanged at [https://app.attio.com/oauth/token](https://app.attio.com/oauth/token) with grant\_type=refresh\_token
* Client credentials are sent in the POST body (application/x-www-form-urlencoded) at the token endpoint
* Record values use Attio's attribute-value format: values are arrays of \{ value } entries keyed by attribute slug

Provider API reference: [https://docs.attio.com/rest-api/tutorials/connect-an-app-through-oauth](https://docs.attio.com/rest-api/tutorials/connect-an-app-through-oauth)

## Tools

| Tool          | Access | Description                                                                             |
| ------------- | ------ | --------------------------------------------------------------------------------------- |
| List Objects  | Read   | List object types in the Attio workspace (people, companies, deals, and custom objects) |
| Query Records | Read   | Query records of an object with optional filters and sorts                              |
| Get Record    | Read   | Get a single record of an object by ID                                                  |
| Create Record | Write  | Create a new record of an object (person, company, deal, or custom object)              |
| Update Record | Write  | Update attribute values on an existing record                                           |
| List Lists    | Read   | List all lists in the Attio workspace                                                   |

## Example prompts

* Query my Attio companies for a name and show the matching records with their key attributes.
* Create a new person record in Attio with a name and email address.
