Skip to main content

Attio

Attio is a modern, flexible CRM that lets teams model their business around customizable objects, records, lists, notes, and tasks. The Attio REST API exchanges JSON over HTTPS, providing programmatic read and write access to workspace data. This connector uses that API to ingest CRM data into Nexla and to write records, notes, and tasks back to Attio.

Attio icon

Power end-to-end data operations for your Attio API with Nexla. Our bi-directional Attio connector is purpose-built for Attio, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Attio or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Attio workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating an Attio credential, you need a workspace-scoped access token (API key) from your Attio workspace. Attio authenticates every REST API request with a Bearer token sent in the Authorization header. Only workspace admins can create and manage access tokens.

To generate an Attio access token, follow these steps:

  1. Sign in to Attio as a workspace administrator.

  2. Click the dropdown beside your workspace name in the top-left corner, and select Workspace settings.

  3. Navigate to the Developers tab.

  4. Click + New access token.

  5. Enter a descriptive name for the token (e.g., "Nexla Integration").

  6. Set the appropriate Scopes for the token based on the data you intend to read from or write to Attio. Each Attio API endpoint documents the scopes it requires, so grant the scopes needed for the objects, records, lists, notes, and tasks your Nexla flows will access. Scopes on an existing token can be adjusted later from the same page.

  7. Create the token, then use the copy button (or the eye icon to reveal it) to retrieve the token value. Store it securely, as it grants access to your workspace data.

Access tokens do not expire automatically, but they can be edited or deleted at any time from the Developers page. Treat the token like a password and share it only with trusted services. For more detail, see the Attio REST API documentation and the Attio authentication guide.

Authenticate

Credentials required

FieldRequiredSecretDescription
Access TokenYesYesThe workspace access token generated in Attio under Workspace Settings > Developers > Create a new integration.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter the workspace access token you generated in Prerequisites in the Access Token field. Nexla sends this token as a Bearer token in the Authorization header for all requests to the Attio API, so it must be kept confidential.

    If your access token is compromised, delete it from the Attio Developers page and generate a new one. Because tokens carry the scopes granted at creation, ensure the token has the scopes required for the objects and endpoints your flows use.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Attio connector tile, then select the credential that will be used to connect to the Attio workspace, and click Next; or, create a new Attio credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Attio endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] List Objects

Retrieves all standard and custom objects configured in the Attio workspace (e.g. people, companies, deals).

  • Use this endpoint to discover the objects available in your workspace, including their slugs and IDs. The returned object slugs can then be supplied to endpoints such as List Object Attributes, Query Records, and Get Record.

[Rest API] List Lists

Retrieves all lists in the Attio workspace, used to group and track records such as deals or leads.

  • Use this endpoint to ingest the lists defined in your workspace, along with their configuration and metadata.

[Rest API] List Workspace Members

Retrieves all members of the Attio workspace, including their name, email address, and access level.

  • Use this endpoint to ingest workspace membership data for reporting, access reviews, or syncing user records to other systems.

[Rest API] List Notes

Retrieves notes attached to records in the Attio workspace, including plaintext/markdown content and tags.

  • This endpoint is paginated. Nexla automatically increments the offset to retrieve all available notes across pages.

[Rest API] List Tasks

Retrieves tasks in the Attio workspace, including deadline, assignees, and linked records.

  • This endpoint is paginated. Nexla automatically increments the offset to retrieve all available tasks across pages.

[Rest API] List Object Attributes

Retrieves the attribute (field) schema for a given object, used to discover its data model.

  • Enter the target object in the required Object field. This is the Attio object slug or ID (e.g. people, companies, deals, or a custom object slug).

[Rest API] Query Records

Lists/queries records for a given object (e.g. people, companies, deals). Body may include filter/sort; an empty body lists all records.

  • Enter the target object in the required Object field. This is the Attio object slug or ID (e.g. people, companies, deals, or a custom object slug).

[Rest API] Get Record

Retrieves a single record by ID for a given object.

  • Enter the target object in the required Object field (the Attio object slug or ID, e.g. people, companies, deals, or a custom object slug).
  • Enter the required Record ID field, which is the Attio record UUID within the object.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Attio data sources can also be manually configured to ingest data from any valid Attio REST API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Attio data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Attio destination, and select the Send to Destination option from the menu. Select the Attio connector from the list of available destination connectors, then select the credential that will be used to connect to the Attio workspace, and click Next; or, create a new Attio credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Attio endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Create Record

Creates a new record (e.g. a person, company, or deal) for the given object.

  • Enter the target object in the required Object field. This is the Attio object slug or ID (e.g. people, companies, deals, or a custom object slug).
  • Each record from your Nexset is sent as JSON in the request body to create a new record. Ensure the record structure matches the format required by the Attio API for the target object.

[Rest API] Update Record

Updates an existing record for the given object.

  • Enter the target object in the required Object field (the Attio object slug or ID, e.g. people, companies, deals, or a custom object slug).
  • Enter the required Record ID field, which is the Attio record UUID to update within the object.

[Rest API] Assert Record (Upsert)

Creates or updates a record by matching on a unique attribute (e.g. email address or domain).

  • Enter the target object in the required Object field. This is the Attio object slug or ID (e.g. people, companies, deals, or a custom object slug).
  • Use this endpoint when you want to avoid creating duplicates: Attio matches on the unique attribute in your payload and updates the existing record if found, or creates a new one if not.

[Rest API] Create Note

Creates a note attached to a record.

  • Each record from your Nexset is sent as JSON in the request body. Include the parent record reference and note content required by the Attio API.

[Rest API] Create Task

Creates a task, optionally linked to one or more records.

  • Each record from your Nexset is sent as JSON in the request body. Include task details such as content, deadline, and any linked records as required by the Attio API.

[Rest API] Update Task

Updates an existing task (e.g. to mark it complete or reassign it).

  • Enter the required Task ID field, which is the Attio task UUID to update.
  • The task fields to change are sent as JSON in the request body.

Manual configuration

Attio destinations can also be manually configured to send data to any valid Attio REST API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Attio APIs expect JSON in the request body. For update operations, include the record or task ID at the end of the endpoint URL.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Attio endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Attio endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.