Integration Guide

Connect Attio to Caddie AI

Sync your CRM with your Slack-native AI assistant

Caddie AI integrates with Attio to bring your CRM data directly into your Slack workflow. Once connected, you can use natural language to look up contacts, update deals, log meeting notes, create tasks, and manage your pipeline — all without leaving Slack.

1. Integration Overview

Integration typeOAuth 2.0 (Authorization Code Grant)
AuthenticationPer-user OAuth — each user connects their own Attio workspace
Data flowBidirectional (read and write) — Caddie can read CRM data and create/update records on your behalf
Where it runsCaddie AI operates within Slack. All Attio interactions are triggered by your explicit requests in Slack conversations with Caddie.
Attio API versionREST API v2 (api.attio.com/v2)

2. What You Can Do

Once Attio is connected, you can ask Caddie to perform actions like:

Records & Contacts

  • Look up a person or company by name, email, or domain
  • Create new person or company records
  • Update record attributes (e.g., stage, owner, custom fields)
  • Search across your CRM with natural language queries

Deals & Pipeline

  • Check deal status and pipeline stage
  • Move deals between stages
  • Add or update deal values and close dates
  • Get a summary of your active pipeline

Notes & Tasks

  • Log meeting notes to a specific record
  • Create tasks linked to people, companies, or deals
  • List open tasks assigned to you

Lists & Views

  • Query list entries with filters
  • Add or remove records from lists

All actions are initiated by you within Slack. Caddie never performs background syncs, bulk operations, or automated writes to Attio without your explicit instruction.

3. Setup & Authentication

Connecting Attio takes about 30 seconds:

1

Open Caddie AI in Slack

Navigate to the Caddie AI App Home in your Slack workspace, or send Caddie a direct message.

2

Connect Attio

In the App Home under Connected Tools, click Connect next to Attio. Alternatively, ask Caddie something like "connect my Attio" or "look up a contact in Attio" — Caddie will prompt you to connect if you haven't already.

3

Authorize access

You'll be redirected to Attio's OAuth consent screen. Review the permissions being requested, select the Attio workspace you want to connect, and click Authorize.

4

Start using it

Once authorized, you'll be redirected back to Slack with a confirmation. You can immediately start asking Caddie to interact with your Attio data.

One connection per user. Each person in your Slack workspace connects their own Attio account. Caddie accesses Attio using each individual user’s permissions, so users only see data they have access to within Attio.

4. Permissions & Scopes

Caddie AI requests the following Attio OAuth scopes. These are the minimum permissions required to support the features described above:

ScopeAccessPurpose
record_permissionRead & WriteLook up, create, and update person, company, and deal records
object_configurationReadUnderstand your workspace's custom objects, attributes, and data model so Caddie can work with your specific setup
list_configurationReadRead list structures to query and filter list entries
list_entryRead & WriteQuery list entries and add/remove records from lists
noteRead & WriteRead existing notes on records and log new meeting notes
taskRead & WriteView, create, and update tasks linked to records
user_managementReadResolve workspace member names for task assignments and record ownership
commentRead & WriteRead and post comments on records

We follow the principle of least privilege: Caddie only requests the scopes necessary for its current feature set. As new features are added, we will clearly communicate any additional scopes before requesting them.

5. Data Handling & Privacy

How Caddie processes Attio data

  • On-demand only. Caddie fetches data from Attio in real time when you make a request. We do not run background syncs, scheduled imports, or bulk data transfers.
  • AI processing. When you ask Caddie a question involving Attio data, the relevant data is sent to our AI model provider to generate a response. The AI provider processes data in real time and does not retain it beyond the immediate request.
  • No permanent storage of CRM data. Attio record data retrieved to answer your queries is not permanently stored in Caddie’s database. We store your OAuth connection credentials (encrypted) and interaction history to provide continuity.
  • No data selling or advertising. Your Attio data is never sold, shared with advertisers, or used for any purpose other than providing Caddie’s features to you.
  • No model training. Your Attio data is never used to train generalized AI or machine learning models.

For full details, see our Privacy Policy.

6. How Caddie Uses the Attio API

This section provides technical details for developers and Attio reviewers on how Caddie interacts with the Attio REST API.

Authentication

Caddie authenticates using OAuth 2.0 Authorization Code Grant flow:

  1. User initiates connection from Slack (App Home or conversational prompt)
  2. User is redirected to https://app.attio.com/authorize with the requested scopes and a CSRF-prevention state parameter
  3. After authorization, user is redirected to our callback URL with an authorization code
  4. Caddie exchanges the code for an access token via POST https://app.attio.com/oauth/token
  5. The access token is encrypted and stored per-user

All subsequent API calls include the user’s token in the Authorization: Bearer header. Tokens are scoped to the individual user’s permissions within their Attio workspace.

API endpoints used

Caddie makes calls to the following Attio REST API v2 endpoints based on user requests:

EndpointMethodUsage
/v2/objects/{object}/records/queryPOSTSearch and filter records (people, companies, deals)
/v2/objects/{object}/recordsPOSTCreate new records
/v2/objects/{object}/records/{record_id}PATCH / GETRead and update specific records
/v2/notesPOST / GETCreate and read notes on records
/v2/tasksPOST / GETCreate and list tasks
/v2/lists/{list_id}/entries/queryPOSTQuery list entries with filters
/v2/objectsGETRead workspace object configuration
/v2/workspace_membersGETResolve member names for assignments
/v2/commentsPOST / GETRead and post comments on records

Rate limiting

Caddie respects Attio’s API rate limits. All requests are made on behalf of individual users (not batched or pooled), so each user’s usage is independent. If a rate limit is encountered, Caddie will inform the user and retry after the appropriate backoff period.

Error handling

If an API call to Attio fails (e.g., due to permissions, rate limits, or network issues), Caddie will surface a clear error message in Slack explaining what went wrong and suggesting next steps (such as reconnecting the account or checking Attio permissions).

7. Disconnecting

You can disconnect Attio from Caddie AI at any time:

  • From Slack: Open the Caddie AI App Home and click Disconnect next to Attio under Connected Tools.
  • From Attio: Go to your Attio workspace settings → Integrations, find Caddie AI, and revoke access.

When you disconnect, Caddie immediately deletes your stored OAuth credentials. Any cached Attio data associated with your account is purged. Caddie will no longer be able to access your Attio workspace until you reconnect.

8. Troubleshooting

“Caddie can’t access Attio” or “Authorization expired”

Your OAuth token may have been revoked or expired. Disconnect Attio from the Caddie App Home and reconnect by following the setup steps above.

“I don’t see my custom objects”

Caddie reads your workspace’s object configuration when you connect. If you’ve added new custom objects or attributes since connecting, try disconnecting and reconnecting to refresh the configuration.

“Permission denied” on a specific action

Caddie operates under your Attio user permissions. If you can’t perform an action, verify that your Attio role has the appropriate permissions for that object or list.

“Record not found”

Double-check the name, email, or identifier you’re searching for. Attio’s search is sensitive to exact values for some attribute types. Try broadening your search query.

9. Support

Having trouble with the Attio integration? We’re here to help.

Caddie AI Support
Email: support@caddieagent.ai
Website: https://caddieagent.ai

For issues specific to your Attio workspace (permissions, billing, data), contact Attio Support directly.