Integrations / Attio
Attio
Attio CRM: search and query records, read workspace objects, add notes and create tasks.
6 actions
OAuth 2
4 read2 write
Calls api.attio.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "attio" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
record_permission:read | Read people, companies and other records |
object_configuration:read | See which objects and attributes your workspace has |
note:read-write | Create notes on records |
task:read-write | Create tasks |
user_management:read | Look up workspace members to assign tasks to |
Actions
Create notewriteattio.create_noteAdd a note to a record (a person, company, deal...) with a title and plaintext or markdown content.
Needs scopes: note:read-write, object_configuration:read, record_permission:read
| Input | Type | Description | |
|---|---|---|---|
parent_object | string | Required | Object slug of the record, e.g. people |
parent_record_id | string | Required | ID of the record to attach the note to |
title | string | Required | Note title |
content | string | Required | Note body |
format | string | Required | Format of content |
await setu.execute({
userId: "user_1",
action: "attio.create_note",
input: {
"parent_object": "<parent_object>",
"parent_record_id": "<parent_record_id>",
"title": "<title>",
"content": "<content>",
"format": "<format>"
},
});Create taskwriteattio.create_taskCreate a task, optionally linked to records and assigned to workspace members, with an optional deadline.
Needs scopes: task:read-write, object_configuration:read, record_permission:read, user_management:read
| Input | Type | Description | |
|---|---|---|---|
content | string | Required | Task text (plaintext) |
deadline_at | string | Optional | Deadline as an ISO 8601 timestamp |
linked_records | array of object | Optional | Records to link: [{target_object, target_record_id}] |
assignees | array of object | Optional | Assignees: [{referenced_actor_type: workspace-member, referenced_actor_id}] |
await setu.execute({
userId: "user_1",
action: "attio.create_task",
input: {
"content": "<content>"
},
});Get connected workspacereadattio.get_workspaceIdentify the Attio workspace and token this connection uses, including the granted scopes.
No input.
await setu.execute({
userId: "user_1",
action: "attio.get_workspace",
input: {},
});List objectsreadattio.list_objectsList the objects in the workspace (people, companies, deals and custom objects) with their slugs for use in other calls.
Needs scope: object_configuration:read
No input.
await setu.execute({
userId: "user_1",
action: "attio.list_objects",
input: {},
});Query recordsreadattio.query_recordsList records of one object (for example people or companies), optionally filtered and sorted, with paging by limit and offset.
Needs scopes: record_permission:read, object_configuration:read
| Input | Type | Description | |
|---|---|---|---|
object | string | Required | Object slug or ID, e.g. people |
filter | object | Optional | Attio filter object, e.g. {"name": "Ada Lovelace"} |
sorts | array of object | Optional | Sort rules with attribute and direction (asc or desc) |
limit | integer | Optional | Maximum records to return |
offset | integer | Optional | Records to skip |
await setu.execute({
userId: "user_1",
action: "attio.query_records",
input: {
"object": "<object>"
},
});Search recordsreadattio.search_recordsFuzzy-search records (names, emails, domains, phone numbers) across one or more objects such as people, companies or deals.
Needs scopes: record_permission:read, object_configuration:read
| Input | Type | Description | |
|---|---|---|---|
query | string | Required | Text to search for (max 256 characters) |
objects | array of string | Required | Object slugs or IDs to search, e.g. ["people", "companies"] |
limit | integer | Optional | Number of results, 1 to 25 |
await setu.execute({
userId: "user_1",
action: "attio.search_records",
input: {
"query": "<query>",
"objects": []
},
});