Conversation
- Add auth provider page with OAuth setup guide, pending approval warning, and code examples - Add MCP Server integration page documenting all 19 Attio tools - Add Attio icon mark SVG - Add Attio to auth providers catalog and sales navigation
- Add authProviderName="Attio" to ToolInfo for auth provider link - Add missing Attio.CreateReport tool to table of contents and docs - New "Reporting tools" section with full parameter documentation Note: Attio logo in ToolInfo card requires a new design-system release. The icon, icon map, and toolkit catalogue entry already exist in the monorepo (libs/design-system) but haven't been published to npm yet. Once a new version is cut, the logo will render automatically.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| <Callout> | ||
| Want to quickly get started with Attio in your agent or AI app? The | ||
| [Arcade Attio MCP Server](/resources/integrations/sales/attio) is an [Arcade Optimized](/guides/create-tools/improve/types-of-tools#optimized-tools) | ||
| toolkit — hand-crafted and optimized for LLM usage. |
There was a problem hiding this comment.
Google.EmDash: Removed spaces around the em dash
| toolkit — hand-crafted and optimized for LLM usage. | |
| toolkit: hand-crafted and optimized for LLM usage. |
|
|
||
| This page describes how to use and configure Attio auth with Arcade. | ||
|
|
||
| This auth provider is used by: |
There was a problem hiding this comment.
Google.Passive: Changed from passive to active voice
| This auth provider is used by: | |
| Use this auth provider with: |
|
|
||
| In a production environment, you will most likely want to use your own Attio app credentials. This way, your users will see your application's name requesting permission. | ||
|
|
||
| Before showing how to configure your Attio app credentials, let's go through the steps to create an Attio integration. |
There was a problem hiding this comment.
Google.We: Remove first-person plural 'let's':
| Before showing how to configure your Attio app credentials, let's go through the steps to create an Attio integration. | |
| Before showing how to configure your Attio app credentials, you'll create an Attio integration. |
| - Enter `attio` as the **ID** for your provider. | ||
| - Optionally enter a **Description**. | ||
| - Enter the **Client ID** and **Client Secret** from your Attio integration. | ||
| - Note the **Redirect URL** generated by Arcade. This must be added as a redirect URI in your Attio integration's OAuth settings. |
There was a problem hiding this comment.
Google.Passive: Changed from passive to active voice
| - Note the **Redirect URL** generated by Arcade. This must be added as a redirect URI in your Attio integration's OAuth settings. | |
| - Note the **Redirect URL** generated by Arcade. You must add this as a redirect URI in your Attio integration's OAuth settings. |
|
|
||
| #### Create the provider | ||
|
|
||
| Hit the **Create** button and the provider will be ready to be used. |
There was a problem hiding this comment.
Google.Passive: Changed from passive to active voice
| Hit the **Create** button and the provider will be ready to be used. | |
| Hit the **Create** button and the provider will be ready to use. |
| **Parameters** | ||
|
|
||
| - **object_type** (`string`, required) Object slug (e.g., `people`, `companies`, `deals`) | ||
| - **matching_attribute** (`string`, required) Unique attribute for upsert match (e.g., `email_addresses`, `domains`) |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| - **matching_attribute** (`string`, required) Unique attribute for upsert match (e.g., `email_addresses`, `domains`) | |
| - **matching_attribute** (`string`, required) Unique attribute for upsert match (for example, `email_addresses`, `domains`) |
|
|
||
| Update a record directly by ID. | ||
|
|
||
| Unlike `AssertRecord`, this doesn't require a unique matching attribute. For status fields like `stage`, pass the status title as a string (e.g., `{"stage": "Closed Won"}`). |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| Unlike `AssertRecord`, this doesn't require a unique matching attribute. For status fields like `stage`, pass the status title as a string (e.g., `{"stage": "Closed Won"}`). | |
| Unlike `AssertRecord`, this doesn't require a unique matching attribute. For status fields like `stage`, pass the status title as a string (for example, `{"stage": "Closed Won"}`). |
|
|
||
| **Parameters** | ||
|
|
||
| - **object_type** (`string`, required) Object slug (e.g., `people`, `companies`, `deals`) |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| - **object_type** (`string`, required) Object slug (e.g., `people`, `companies`, `deals`) | |
| - **object_type** (`string`, required) Object slug (for example, `people`, `companies`, `deals`) |
|
|
||
| Generate a report from Attio records for export to Google Sheets. | ||
|
|
||
| Returns data formatted for easy insertion into a spreadsheet: headers (column names), rows (values aligned with headers), and a dict format for the Google Sheets API. Use this output with Google Sheets tools to create a spreadsheet. |
There was a problem hiding this comment.
alex.Condescending: Remove 'easy' to avoid condescending language
| Returns data formatted for easy insertion into a spreadsheet: headers (column names), rows (values aligned with headers), and a dict format for the Google Sheets API. Use this output with Google Sheets tools to create a spreadsheet. | |
| Returns data formatted for insertion into a spreadsheet: headers (column names), rows (values aligned with headers), and a dict format for the Google Sheets API. Use this output with Google Sheets tools to create a spreadsheet. |
|
|
||
| **Parameters** | ||
|
|
||
| - **object_type** (`string`, required) Object slug (e.g., `people`, `companies`, `deals`, or custom) |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| - **object_type** (`string`, required) Object slug (e.g., `people`, `companies`, `deals`, or custom) | |
| - **object_type** (`string`, required) Object slug (for example, `people`, `companies`, `deals`, or custom) |
Summary
authProviderNameprop linking ToolInfo card to auth provider docsAttio.CreateReporttool with full parameter documentationKnown follow-ups
(
libs/design-system) but haven't been published to npm yet. Once a new design-system version is cut, the logo will render automaticallyarcade_attioisn't published on PyPI yet. Add<Badges repo="arcadeai/arcade_attio" />once it is.