1. Overview
The Ana x Attio integration connects your Attio workspace to Ana, giving you natural language access to your CRM data — companies, people, deals, lists, and the relationships between them. Once configured, Ana can surface pipeline status, analyze record activity, and answer questions about your go-to-market data without leaving your workflow.
Connect Attio to Ana to query and analyze your CRM records and lists using natural language.
2. Prerequisites
You’ll need:
- An Attio workspace you want Ana to query
- Workspace admin access if you are setting up an org-level integration
- A TextQL account with permission to add API connectors
Which type of connection should I use?
| API Key | OAuth (Org-level) | OAuth (Per-member) |
|---|
| Best For | Individual users, service accounts, or shared team access tied to one set of scopes | Shared team access to a single Attio workspace | Individual user access with personal permissions |
| Scope | Access limited to the scopes granted to the key | Full workspace access under one shared auth | Each user queries Attio as themselves |
| Authentication | API key from Attio workspace settings | One-time OAuth flow by an admin | Each member completes their own OAuth flow |
| Data Visibility | Limited to the key’s configured scopes | Consistent view across all Ana users | Each user sees only what they have access to in Attio |
| Limitations | Key must be rotated manually if compromised | Requires admin to re-auth if access is revoked | Higher setup overhead; each member must connect |
3. Capabilities
Once configured, Ana can:
- Query companies, people, and other records across any object in plain language.
- Analyze deal pipeline — stage distribution, deal value, and movement over time.
- Surface records on any list and break them down by attribute.
- Report on record activity, ownership, and recently updated entries across your workspace.
4. Setup Instructions
Step 1: Generate your Attio credentials
Before you begin, choose your connection type:
- API Key: best for individuals or shared team access tied to one set of scopes.
- OAuth (Org-level): an admin authorizes once; all Ana users share that workspace-level access.
- OAuth (Per-member): each user authorizes individually and sees only what they have access to in Attio.
If you’re unsure, refer to Which type of connection should I use? Then follow the instructions below for your chosen type.
- Go to attio.com and sign in.
- Open Workspace settings.
- In the left sidebar, navigate to Developers.
- Click Create an integration (or open an existing one), then go to its API key / Access token section.
- Configure the integration’s scopes. Grant the minimum read access required for the data you want Ana to query — at a minimum, object configuration and record read access (e.g.
object_configuration:read and record_permission:read).
- Copy the access token immediately and store it securely.
For the latest steps, see Attio’s Generate an API key help article.
- Go to attio.com and sign in.
- Open Workspace settings.
- In the left sidebar, navigate to Developers.
- Click Create an integration and choose to enable OAuth.
- Fill in the application details:
- Application name:
textql or ana-integration
- Redirect URL:
https://app.textql.com/auth/api-oauth/callback
- Configure the scopes your integration needs. For querying, grant read access to object configuration, records, lists, list entries, and user management.
- Save the integration, then locate your Client ID and Client Secret.
- Copy and store both securely (the secret will not be fully shown again).
The difference between org-level and per-member connections is determined by how TextQL manages authentication:
- Org-level connection: one workspace member authorizes Attio once, and TextQL stores a shared workspace-level token for that organization.
- Per-member connection: each user in TextQL completes OAuth individually, and TextQL stores separate tokens per user, preserving identity and permissions.
Both use the same Attio OAuth application — only the authorization behavior and token storage differ.
Step 2: Add Attio as an API connector in TextQL
- Go to app.textql.com and sign in.
- In the bottom left sidebar, click Connectors > APIs and select Attio.
- In the configuration panel, fill in the fields depending on your connection type:
- API Key
- Name (e.g. Attio
API Key)
- Authentication type: select API Key
- Token: paste the access token copied from Step 1
- OAuth (Org-level or Per-member)
- Name (e.g. Attio
OAuth)
- Authentication type: select OAuth (org-level) or OAuth (per-member)
- Client ID and Client Secret: paste the values copied from Step 1
- OAuth Authentication: click Authenticate — a popup will appear asking for permission to access your Attio workspace. Click Allow.
- Click Save.
Step 3: Verify the connection
Once saved, confirm the connector is active:
- Go to app.textql.com.
- On the bottom left sidebar click Connectors → APIs and check that Attio appears in your list of active connectors.
- Open a new Ana chat and ask a simple query, such as: “List my most recently updated companies.”
- If Ana returns results, the connection is working. If you see an error, refer to Section 6: Troubleshooting.
5. Usage Examples
Once configured, you can ask Ana:
- “How many open deals do we have, and what’s the total pipeline value by stage?”
- “Which companies were added to our workspace in the last 30 days?”
- “Show me all people associated with our top 10 accounts by deal value.”
- “What records on the ‘Strategic Accounts’ list haven’t been updated in more than 60 days?”
- “Break down our deals by owner and stage.”
6. Troubleshooting
| Symptom | Likely Cause | Fix |
|---|
| Authentication failed (API Key) | Invalid, revoked, or incorrectly copied access token | Generate a new key in Attio (Workspace settings → Developers) and update the connector in TextQL. |
| Authentication failed (OAuth) | Incorrect redirect URL | In your Attio integration settings, make sure https://app.textql.com/auth/api-oauth/callback is listed exactly as a redirect URL. |
| Ana returns no results / permission errors | Integration is missing required scopes | In Attio, confirm the integration grants read access to object configuration and records (and lists, if querying lists), then re-save or re-authenticate. |
7. Security Notes
- Follow the principle of least privilege when configuring scopes. Grant only the read access Ana needs to query the data you want.
- API keys remain valid until they are revoked. Store them securely and rotate them if you suspect they have been exposed.
- OAuth access may require re-authentication if authorization is revoked, credentials are changed, or access expires.
- Do not share API keys, client secrets, or OAuth credentials in email, chat, tickets, or other unsecured locations.
- If you no longer need the integration, revoke it in Attio and remove the connector from TextQL.
- For more details on how Attio handles API authentication and permissions, refer to Attio’s official API documentation.
Need Help?
For further assistance, please contact support@textql.com.
Privacy Policy
For information about how we handle your data and protect your privacy, please review our Privacy Policy.