Attio Block
Manage records, notes, and tasks in Attio CRM
The Attio block integrates Attio CRM into your workflows. Use it to list, get, create, update, and delete records across any object type, plus create and list notes — all authenticated through your connected Attio account.
Overview
| Property | Value |
|---|---|
| Type | attio |
| Category | tools |
| Color | #1D1E20 |
When to Use
- Look up a contact or company record before enriching or routing it elsewhere
- Create new people, company, or deal records from form submissions or upstream data
- Update existing records when a workflow gathers new information
- Filter and list records of any object type for reporting or batch processing
- Attach notes to a record to log activity or context from a workflow run
- Delete stale or duplicate records as part of a cleanup automation
Configuration
Operation (required)
Dropdown selecting which action to perform. The value you pick controls which other fields appear.
| Label | id |
|---|---|
| List Records | attio_list_records |
| Get Record | attio_get_record |
| Create Record | attio_create_record |
| Update Record | attio_update_record |
| Delete Record | attio_delete_record |
| Create Note | attio_create_note |
| List Notes | attio_list_notes |
Attio Account
OAuth connection (attio provider) used to authenticate all requests against your Attio workspace. Connect via the credential picker; the access token is passed automatically and is never visible in block inputs.
Object Type (required)
The object slug to operate on (e.g. people, companies, deals). Required for every operation except Create Note and List Notes (which use the note-level parent object field handled internally by the tool).
Record ID
The target record's unique identifier. This field appears only for the following operations:
attio_get_recordattio_update_recordattio_delete_record
Attributes (JSON)
A JSON object of attribute values to set on a record. Example: {"name": "John Doe", "email": "john@example.com"}. Appears only for:
attio_create_recordattio_update_record
For attio_update_record multiselect attribute values are appended rather than replaced.
Filter (JSON)
A JSON filter object for narrowing which records to query. Example: {"email_addresses": {"email_address": "john@example.com"}}. Appears only for:
attio_list_records
Inputs & Outputs
Inputs (sub-block ids passed at execution time):
operation(string) — Operation to perform (one of the tool ids listed above)oauthCredential(string) — OAuth credential token injected by the Attio account connectionobjectType(string) — Object type slug (e.g.people,companies)recordId(string) — Record ID; used by get, update, and delete operationsattributes(json) — Record attribute values; used by create and update operationsfilter(json) — Filter criteria; used by list records
Outputs (vary by operation; reference with {{blockName.field}}):
Record operations:
records(json) — Array of matching records returned by List Records; each item hasid,created_at,web_url, andvaluesrecord(json) — Single record object returned by Get Record, Create Record, or Update Record; containsid,created_at,web_url, andvaluesrecordId(string) — The record ID extracted from the returned record (Get, Create, Update)webUrl(string) — Direct URL to view the record in Attio (Get, Create, Update)deleted(boolean) —truewhen a Delete Record operation succeedscount(number) — Number of records returned by List Records
Note operations:
notes(json) — Array of note objects returned by List Notes; each item contains the note fields belownoteId(string) — The note ID (Create Note)parentObject(string) — Parent object slug of the noteparentRecordId(string) — Parent record ID the note is attached totitle(string) — Note titlecontentPlaintext(string) — Note body as plain textcontentMarkdown(string) — Note body as markdownmeetingId(string) — Linked meeting ID, if anytags(array) — Tags on the notecreatedByActor(object) — Actor who created the note (type,id)createdAt(string) — ISO 8601 timestamp when the note was created
Tools
The block selects the tool to invoke based on the operation input. All tools require OAuth and call the Attio REST API v2.
- Attio List Records (
attio_list_records) — Queries and lists records for a given object type using an optional JSON filter, sort array, limit, and offset. Returnsrecords(array) andcount. - Attio Get Record (
attio_get_record) — Retrieves a single record by object type and record ID. Returnsrecord,recordId, andwebUrl. - Attio Create Record (
attio_create_record) — Creates a new record in Attio for the specified object type using a JSONvaluespayload. Returnsrecord,recordId, andwebUrl. - Attio Update Record (
attio_update_record) — Patches an existing record with new attribute values (multiselect values are appended). Returnsrecord,recordId, andwebUrl. - Attio Delete Record (
attio_delete_record) — Deletes a record by object type and record ID. Returnsdeleted: trueon success. - Attio Create Note (
attio_create_note) — Creates a note on a parent record; supports plaintext or markdown format, optional backdating, and optional meeting association. Returns full note properties. - Attio List Notes (
attio_list_notes) — Lists notes in Attio, optionally filtered by parent object and parent record ID, with limit/offset pagination. Returnsnotes(array) andcount.
YAML Example
attio_1:
type: attio
name: "Attio"
inputs:
operation: "attio_create_record"
objectType: "people"
attributes: '{"name": "{{form_block.fullName}}", "email": "{{form_block.email}}"}'
connections:
outgoing:
- target: next-block-id