Connecting to Attio
To authenticate to Attio, and connect to your own data or to allow other users to connect to their data, you can use API Key authentication.
Authentication
To authenticate to Attio, and connect to your own data or to allow other users to connect to their data, you can use API Key authentication.
Using API Key Authentication
To authenticate using an API Key, you need to obtain your API Key from your Attio account settings.
You can then connect by setting the AuthScheme to APIKey and providing your API key:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your API key from Attio.
Available Tables
The Attio API Profile provides access to comprehensive customer relationship management and business data across 25 specialized tables:
- People - Access individual contact records with personal information, communication history, and relationship data.
- Companies - Query organization records including company details, social profiles, and business relationships.
- Deals - Retrieve deal pipeline data with stages, values, and associated contact information.
- Tasks - Access task management data with completion status, deadlines, and linked records.
- Meetings - Query meeting records with participants, scheduling, and timezone information.
- Notes - Retrieve notes and comments associated with records and meetings.
- Users - Access workspace user information and permissions.
- Workspaces - Query workspace configuration and member data.
- Objects - Access object definitions and metadata for custom data structures.
- Records - Generic record container for accessing data across all object types.
- Lists - Query list definitions and configuration data.
- Entries - Access list entry data with hierarchical relationships.
- Threads - Retrieve conversation thread data and communication history.
- Comments - Query comments and responses within threads and records.
- CallRecordings - Access meeting call recordings and media files.
- Transcripts - Query transcription data from call recordings.
- UserInfo - Access current user authentication and token information.
- WorkspaceMembers - Query workspace membership and access levels.
- Attributes - Access attribute definitions and field configurations.
- AttributeOptions - Query select field options and dropdown values.
- AttributeStatuses - Access status field configurations and workflow states.
- RecordAttributeValues - Query historical attribute value changes for records.
- EntryAttributeValues - Access historical attribute value changes for list entries.
- RecordEntries - Query relationships between records and list entries.
Usage Examples
Query all people records:
SELECT * FROM People
Insert a new person record:
INSERT INTO People (Name, EmailAddresses, JobTitle, Company, Description, PhoneNumbers, PrimaryLocation, Twitter, LinkedIn, Facebook, Instagram, AngelList)
VALUES ('Jane Doe', '["[email protected]"]', 'Product Manager', '{"target_object":"companies","target_record_id":"template-uuid"}', 'Experienced product leader', '[{"original_phone_number":"+14155551234","country_code":"US"}]', '{"line_1":"123 Main St","line_2":"","line_3":"","line_4":"","locality":"San Francisco","region":"CA","postcode":"94105","country_code":"US","latitude":"37.7749","longitude":"-122.4194"}', 'https://twitter.com/janedoe', 'https://linkedin.com/in/janedoe', 'https://facebook.com/janedoe', 'https://instagram.com/janedoe', 'https://angel.co/u/janedoe')
Update an existing person record:
UPDATE People SET Name = 'Jane Doe', EmailAddresses = '["[email protected]"]', JobTitle = 'Senior Product Manager', Company = '{"target_object":"companies","target_record_id":"template-uuid"}', Description = 'Updated bio', PhoneNumbers = '[{"original_phone_number":"+14155551234","country_code":"US"}]', PrimaryLocation = '{"line_1":"123 Main St","line_2":"","line_3":"","line_4":"","locality":"San Francisco","region":"CA","postcode":"94105","country_code":"US","latitude":"37.7749","longitude":"-122.4194"}', Twitter = 'https://twitter.com/janedoe', LinkedIn = 'https://linkedin.com/in/janedoe', Facebook = 'https://facebook.com/janedoe', Instagram = 'https://instagram.com/janedoe', AngelList = 'https://angel.co/u/janedoe' WHERE Id = 'template-uuid'
Delete a person record:
DELETE FROM People WHERE Id = 'template-uuid'
Query all company records:
SELECT * FROM Companies
Insert a new company record:
INSERT INTO Companies (Domains, Name, Description, Team, PrimaryLocation, Categories, FoundationDate, EstimatedArrUsd, EmployeeRange, Twitter, AngelList, Facebook, LinkedIn, Instagram)
VALUES ('["example.com"]', 'Example Corp', 'Leading provider of business software solutions', '[{"target_object":"people","target_record_id":"template-uuid"}]', '{"line_1":"123 Main St","line_2":"","line_3":"","line_4":"","locality":"San Francisco","region":"CA","postcode":"94105","country_code":"US","latitude":"37.7749","longitude":"-122.4194"}', '["Technology"]', '2010-01-01', '$1M-$10M', '11-50', 'https://twitter.com/example', 'https://angel.co/company/example', 'https://facebook.com/example', 'https://linkedin.com/company/example', 'https://instagram.com/example')
Update an existing company record:
UPDATE Companies SET Domains = '["example.com","example.io"]', Name = 'Example Corp', Description = 'Updated company description', Team = '[{"target_object":"people","target_record_id":"template-uuid"}]', PrimaryLocation = '{"line_1":"456 Broadway","line_2":"","line_3":"","line_4":"","locality":"New York","region":"NY","postcode":"10013","country_code":"US","latitude":"40.7205","longitude":"-74.0027"}', Categories = '["Technology","SAAS"]', FoundationDate = '2010-01-01', EstimatedArrUsd = '$10M-$50M', EmployeeRange = '51-250', Twitter = 'https://twitter.com/example', AngelList = 'https://angel.co/company/example', Facebook = 'https://facebook.com/example', LinkedIn = 'https://linkedin.com/company/example', Instagram = 'https://instagram.com/example'
WHERE Id = 'template-uuid'
Delete a company record:
DELETE FROM Companies WHERE Id = 'template-uuid'
Query all deal records:
SELECT * FROM Deals
Insert a new deal record:
INSERT INTO Deals (Name, Stage, Owner, Value, AssociatedPeople, AssociatedCompany)
VALUES ('Enterprise Software License', 'In Progress', '{"referenced_actor_type":"workspace-member","referenced_actor_id":"template-uuid"}', '{"currency_value":50000}', '[{"target_object":"people","target_record_id":"template-uuid"}]', '{"target_object":"companies","target_record_id":"template-uuid"}')
Update an existing deal record:
UPDATE Deals SET Name = 'Enterprise Software License', Stage = 'Won', Owner = '{"referenced_actor_type":"workspace-member","referenced_actor_id":"template-uuid"}', Value = '{"currency_value":75000}', AssociatedPeople = '[{"target_object":"people","target_record_id":"template-uuid"}]', AssociatedCompany = '{"target_object":"companies","target_record_id":"template-uuid"}'
WHERE Id = 'template-uuid'
Delete a deal record:
DELETE FROM Deals WHERE Id = 'template-uuid'
Query all user records:
SELECT * FROM Users
Insert a new user record:
INSERT INTO Users (UserId, PrimaryEmailAddress, Person, Workspace)
VALUES ('template-uuid', '{"email_address":"[email protected]"}', '{"target_object":"people","target_record_id":"template-uuid"}', '{"target_object":"workspaces","target_record_id":"template-uuid"}')
Update an existing user record:
UPDATE Users SET UserId = 'template-uuid', PrimaryEmailAddress = '{"email_address":"[email protected]"}', Person = '{"target_object":"people","target_record_id":"template-uuid"}', Workspace = '{"target_object":"workspaces","target_record_id":"template-uuid"}'
WHERE Id = 'template-uuid'
Delete a user record:
DELETE FROM Users WHERE Id = 'template-uuid'
Get completed tasks:
SELECT * FROM Tasks WHERE IsCompleted = 'true'
Get tasks linked to people:
SELECT * FROM Tasks WHERE LinkedObjectId = 'obj_123456' AND LinkedRecordId = 'rec_01234567890'
Insert a new task:
INSERT INTO Tasks (ContentPlaintext, DeadlineAt, IsCompleted, LinkedRecords, Assignees)
VALUES ('Follow up with client about proposal', '2025-12-31T17:00:00.000Z', 'false', '[{"target_object":"companies","target_record_id":"template-uuid"}]', '[{"referenced_actor_type":"workspace-member","referenced_actor_id":"template-uuid"}]')
Update an existing task:
UPDATE Tasks SET DeadlineAt = '2026-01-15T17:00:00.000Z', IsCompleted = 'true', LinkedRecords = '[{"target_object":"companies","target_record_id":"template-uuid"}]', Assignees = '[{"referenced_actor_type":"workspace-member","referenced_actor_id":"template-uuid"}]'
WHERE Id = 'template-uuid'
Delete a task:
DELETE FROM Tasks WHERE Id = 'template-uuid'
Query notes for people records:
SELECT * FROM Notes WHERE ParentObject = 'people' AND ParentRecordId = 'rec_01234567890'
Insert a new note:
INSERT INTO Notes (Title, ContentMarkdown, ParentObject, ParentRecordId, MeetingId)
VALUES ('Follow-up notes', 'Discussed **pricing** and next steps.', 'companies', 'template-uuid', 'template-uuid')
Delete a note:
DELETE FROM Notes WHERE Id = 'template-uuid'
Query meetings by specific participant:
SELECT * FROM Meetings WHERE IncludeParticipants = '[email protected]'
Query meetings linked to people:
SELECT * FROM Meetings WHERE LinkedObjectId = 'people' AND LinkedRecordId = 'rec_01234567890'
Insert a new meeting:
INSERT INTO Meetings (Title, Description, IsAllDay, StartDateTime, EndDateTime, Participants, StartDateTimezone, EndDateTimezone, LinkedRecords)
VALUES ('Quarterly Business Review', 'Review Q4 performance and Q1 planning', 'false', '2025-12-15T15:00:00.000Z', '2025-12-15T16:00:00.000Z', '[{"email_address":"[email protected]","is_organizer":false,"status":"accepted"}]', 'America/New_York', 'America/New_York', '[{"object":"companies","record_id":"template-uuid"}]')
Query all call recordings:
SELECT * FROM CallRecordings
Query all transcripts:
SELECT * FROM Transcripts
Query all threads:
SELECT * FROM Threads
Query all comments:
SELECT * FROM Comments
Insert a new comment:
INSERT INTO Comments (ContentPlainText, AuthorType, AuthorId, RecordObjectId, RecordId)
VALUES ('Great progress on this deal!', 'workspace-member', 'template-uuid', 'companies', 'template-uuid')
Delete a comment:
DELETE FROM Comments WHERE Id = 'template-uuid'
Query all workspaces:
SELECT * FROM Workspaces
Insert a new workspace record:
INSERT INTO Workspaces (Name, WorkspaceIdValue, Users, Company, AvatarUrl)
VALUES ('Acme Workspace', 'template-uuid', '[{"target_object":"users","target_record_id":"template-uuid"}]', '{"target_object":"companies","target_record_id":"template-uuid"}', 'https://example.com/avatar.png')
Update an existing workspace record:
UPDATE Workspaces SET Name = 'Acme Workspace', WorkspaceIdValue = 'template-uuid', Users = '[{"target_object":"users","target_record_id":"template-uuid"}]', Company = '{"target_object":"companies","target_record_id":"template-uuid"}', AvatarUrl = 'https://example.com/avatar.png'
WHERE Id = 'template-uuid'
Delete a workspace record:
DELETE FROM Workspaces WHERE Id = 'template-uuid'
Query all workspace members:
SELECT * FROM WorkspaceMembers
Query current user information:
SELECT * FROM UserInfo
Query all object definitions:
SELECT * FROM Objects
Insert a new object definition:
INSERT INTO Objects (Slug, SingularNoun, PluralNoun)
VALUES ('projects', 'Project', 'Projects')
Update an existing object definition:
UPDATE Objects SET Slug = 'projects', SingularNoun = 'Project', PluralNoun = 'Projects' WHERE Id = 'template-uuid'
Query all generic records:
SELECT * FROM Records
Insert a new generic record:
INSERT INTO Records (ObjectId, Values)
VALUES ('template-uuid', '{"name":"Example Record"}')
Update an existing generic record:
UPDATE Records SET Values = '{"name":"Updated Record Name"}'
WHERE ObjectId = 'template-uuid' AND Id = 'template-uuid'
Delete a generic record:
DELETE FROM Records WHERE ObjectId = 'template-uuid' AND Id = 'template-uuid'
Query all lists:
SELECT * FROM Lists
Insert a new list:
INSERT INTO Lists (Name, Slug, ParentObject, WorkspaceAccess, WorkspaceMemberAccess)
VALUES ('Key Accounts', 'key_accounts', 'companies', 'full-access', '[]')
Update an existing list:
UPDATE Lists SET Name = 'Key Accounts 2025', Slug = 'key_accounts_2025', WorkspaceAccess = 'read-and-write', WorkspaceMemberAccess = '[]' WHERE Id = 'template-uuid'
Query all list entries:
SELECT * FROM Entries
Insert a new list entry:
INSERT INTO Entries (ListId, ParentRecordId, ParentObject, EntryValuesStage)
VALUES ('template-uuid', 'template-uuid', 'companies', 'In Progress')
Update an existing list entry:
UPDATE Entries SET EntryValuesStage = 'Closed Won' WHERE ListId = 'template-uuid' AND Id = 'template-uuid'
Delete a list entry:
DELETE FROM Entries WHERE ListId = 'template-uuid' AND Id = 'template-uuid'
Query record-entry relationships:
SELECT * FROM RecordEntries WHERE ObjectId = 'obj_0123456' AND RecordId = 'rec_01234567890'
Query all attributes:
SELECT * FROM Attributes WHERE Target = 'objects' AND ObjectId = 'obj_0123456'
Insert a new attribute:
INSERT INTO Attributes (Target, ObjectId, Title, Slug, AttributeType, Description, IsRequired, IsUnique, IsMultiSelect, Configuration, DefaultValue, Relationship)
VALUES ('objects', 'template-uuid', 'Priority Level', 'priority_level', 'text', 'Indicates the priority of this record', 'false', 'false', 'false', '{}', 'Medium', '{}')
Update an existing attribute:
UPDATE Attributes SET Title = 'Priority Level', Slug = 'priority_level', Description = 'Updated attribute description', IsRequired = 'false', IsUnique = 'false', IsArchived = 'false', DefaultValue = 'Medium', Configuration = '{}'
WHERE Target = 'objects' AND ObjectId = 'template-uuid' AND Id = 'template-uuid'
Query active attribute options:
SELECT * FROM AttributeOptions WHERE Target = 'objects' AND ObjectId = 'obj_0123456' AND AttributeId = 'attr_123456' AND ShowArchived = 'false'
Insert a new attribute option:
INSERT INTO AttributeOptions (Target, ObjectId, AttributeId, Title)
VALUES ('objects', 'template-uuid', 'template-uuid', 'High')
Update an existing attribute option:
UPDATE AttributeOptions SET Title = 'Urgent', IsArchived = 'false' WHERE Target = 'objects' AND ObjectId = 'template-uuid' AND AttributeId = 'template-uuid' AND Id = 'template-uuid'
Query all attribute statuses:
SELECT * FROM AttributeStatuses WHERE Target = 'objects' AND ObjectId = 'obj_0123456' AND AttributeId = 'attr_123456'
Insert a new attribute status:
INSERT INTO AttributeStatuses (Target, ObjectId, AttributeId, Title, CelebrationEnabled, TargetTimeInStatus)
VALUES ('objects', 'template-uuid', 'template-uuid', 'In Progress', 'false', 'P7D')
Update an existing attribute status:
UPDATE AttributeStatuses SET Title = 'Completed', CelebrationEnabled = 'true', TargetTimeInStatus = 'P7D', IsArchived = 'false' WHERE Target = 'objects' AND ObjectId = 'template-uuid' AND AttributeId = 'template-uuid' AND Id = 'template-uuid'
Query record attribute value history:
SELECT * FROM RecordAttributeValues WHERE ObjectId = 'obj_0123456789' AND RecordId = 'rec_01234567890' AND AttributeId = 'attr_123456'
Query entry attribute value history:
SELECT * FROM EntryAttributeValues WHERE ListId = 'list_123456' AND EntryId = 'entry_01234567890' AND AttributeId = 'attr_123456'
Query tasks by assignee:
SELECT * FROM Tasks WHERE Assignee = '[email protected]'
Query historical attribute values:
SELECT * FROM RecordAttributeValues WHERE ObjectId = 'obj_1234567890' AND RecordId = 'rec_01234567890' AND AttributeId = 'attr_123456' AND ShowHistoric = 'true'
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| APIKey | Your Attio API token from the Attio Console. |
| AuthScheme | The scheme used for authentication. Accepted entries are APIKey or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT, OAUTH_PASSWORD |