Attio actions
Reference for the Attio actions: the sign-in connection, each action id, the fields each executor reads, the record output and a complete example.
The Attio block creates, reads, lists, updates and deletes records in any Attio object. For the plain-language guide, see Attio.
When to use it
Use it to keep customer companies, people and deals in Attio in step with billing, for example to create a company when a customer is set up in the ledger. There is no Attio trigger.
Connection
- Provider id:
attio. Sign-in (OAuth) connection to one Attio workspace. - Pin an account with
config.connection. Without it, the step uses the company's default Attio connection.
Actions
| Action id | Studio label | What it does |
|---|---|---|
attio.createRecord | Create Record | Create a record in an object. matchingAttribute de-duplicates on that attribute. |
attio.updateRecord | Update Record | Update a record's attributes. |
attio.getRecord | Get Record | Read a record. |
attio.listRecords | List Records | Query an object's records with a filter, sorts, limit and offset. |
attio.deleteRecord | Delete Record | Delete a record. |
Settings
The Studio fields:
| Field | Studio label | Type | Used by | Required for |
|---|---|---|---|---|
connection | Attio Account | string (connection id) | All | Optional. Without it the step uses the company default connection for this system |
objectType | Object Type | string: people, companies, deals, custom | All | All |
customObjectSlug | Custom Object Slug | string | custom | |
recordId | Record ID | string | getRecord, updateRecord, deleteRecord | |
attributes | Attributes (JSON) | json | createRecord, updateRecord | |
filter | Filter (JSON) | json | listRecords |
Fields each action reads
The executors read objectSlug and data, not the Studio objectType, customObjectSlug and attributes fields, so steps built only in Studio fail with objectSlug is required. Set these keys in the workflow definition:
| Action | Fields read |
|---|---|
createRecord | objectSlug (such as companies, people, deals or a custom object slug), data (Attio values payload), optional matchingAttribute |
updateRecord | objectSlug, recordId, data |
getRecord | objectSlug, recordId |
listRecords | objectSlug, optional filter, sorts, limit, offset |
deleteRecord | objectSlug, recordId |
createRecord with matchingAttribute sends Attio's matching_attribute, which de-duplicates on that attribute.
Output
The step output is the Attio response, with the record or records under data. For example {{steps.find_company.data}}.
Example
Find the company record for a customer by name.
{
"name": "Find a customer in Attio",
"trigger": { "type": "api" },
"steps": [
{
"id": "find_company",
"type": "action",
"name": "Find the company",
"action": "attio.listRecords",
"config": {
"objectSlug": "companies",
"filter": { "name": "{{input.companyName}}" },
"limit": 1
}
}
]
}Other executors
The Attio module also has executors the block does not list, such as attio.createNote, attio.createTask and attio.addListEntry. The workflow validator accepts only the operations in the table above.
Live catalog
GET /api/v1/blocks/attioreturns the actions and fields.GET /api/v1/blocks/attio/actions/<operation>/examplesreturns stored examples where they exist.
Errors and limits
- An Attio API error fails the step.
- A missing
objectSlug,recordIdordatafails the step before Attio is called.
Airwallex actions
Reference for the Airwallex actions and trigger: the API key connection, each action id, the four registered event names, settings and an example.
Avalara actions
Reference for the Avalara actions: the connection type, each action and what it does, its inputs and outputs, and the live catalog call.
Loopfour