Advanced Automation Utilities for Attio
Build smarter workflows from your Attio activity. Advanced Automation Utilities extends Attio Workflows on two parallel surfaces: 11 extra triggers and 20 extra actions for task, note, comment, call-recording, lookup, comparison, utility, and control-flow cases native Workflows do not ship with, plus opt-in calculated attributes that promote note and task rollups onto the record itself so table views, kanban boards, filters, sorts, and workflow conditions can use them.
Who this is for
Advanced Automation Utilities is for teams that have hit the edge of Attio's native workflow triggers. If a workflow needs to react when a task is deleted, a due date moves, a note body or title changes, a comment is added, or a call recording is ready, the missing block is often the thing that stops the process from being fully automated.
It also fits operations teams that route Attio activity into external systems. Task ownership changes, note creation, note deletion, comment creation, meeting context, call recordings, and transcripts can become clean handoff points for project tools, audit logs, review queues, or internal notifications.
The find and lookup actions help workflow builders work with larger Attio surfaces without manually wiring every ID. A workflow can find matching notes or tasks by filter, loop through the results, then fetch the full note, task, comment, thread, meeting, or call transcript details it needs for the next step.
The comparison actions are for teams that need to know what changed between two states, not just what the current value is. That matters when a workflow needs to branch on added assignees, removed linked records, changed email lists, or a new primary phone number.
And the calculated attributes fit teams that lean on table views, kanban boards, sorts, and filters. Attio shows notes and tasks at the bottom of a record page, but those lists cannot drive a column or a filter. Promoting last-note-date, notes count, open-tasks count, and open-task assignees onto the record itself makes the same activity usable everywhere views read attributes.
Automations
Most teams hit a wall the same way: an automation needs a trigger that Attio does not surface, a step that compares two states, a guard that stops the run on bad data, or a lookup that resolves an actor to a workspace member. Advanced Automation Utilities is the layer that closes those gaps.
Advanced automation utilities
The blocks are designed to be combined. A change-detection action wired behind a task or note trigger gives a workflow precise context on what shifted. A find action can gather matching notes or tasks before a loop fetches each item in detail. A value conversion before a downstream write keeps stored data clean even when the source is messy. A workspace member lookup turns an email or actor reference into the kind of typed handle Attio steps expect. A Fail workflow step lets a workflow hard-stop the moment a guard condition fails, instead of writing through with bad data.
The patterns that emerge are familiar to anyone who has tried to push native Workflows beyond simple "if this then that" automation:
- Task and note lifecycle hooks for routing work, sending notifications, and updating parent records on creation, status change, assignment, deadline change, and deletion.
- Comment and thread handoffs for reacting when new discussion appears on records or list entries.
- Filtered list searches for finding matching notes or tasks before looping through a result set.
- Record lookups by ID for fetching full note, task, comment, thread, meeting, and call transcript context when a workflow already has the identifier.
- Diff-aware branching on members, linked records, and value arrays, so a workflow can act on exactly what changed rather than the whole new state.
- Primary-value tracking for emails, phone numbers, and domains, so the workflow notices when the preferred contact channel shifts even if nothing was added or removed.
- Pre-write sanitization and classification using utility actions to normalize free-text into the booleans, numbers, dates, and timestamps the next step is expecting, or to classify an email domain as personal or business.
- Actor-to-member resolution for assigning tasks, routing to owners, or validating that an actor is a workspace member before continuing.
- Hard-stop guards using the Fail workflow step to halt a workflow when a condition upstream is not satisfied.
- Call recording handoffs for sending finished recordings to transcription, summarization, or specialist review.
How it fits with Attio Workflows
Advanced Automation Utilities does not replace Attio Workflows. It adds blocks to the same builder, so teams can keep using native Attio triggers, actions, conditions, and branches where they already work.
The triggers fire under the same workflow runtime as native workflow triggers. The actions appear in the same step palette and pass their results into downstream steps the same way a native block would.
That makes the app useful as a narrow extension layer. You add it when the workflow needs a task lifecycle trigger, a note lifecycle trigger, a comment trigger, a call recording trigger, a filtered find step, a by-ID lookup, a utility conversion, a diff, a member lookup, or an intentional hard stop.
Triggers
Advanced Automation Utilities adds triggers for Attio activity that often matters operationally but is not always available as a native workflow entry point.
Task triggers
Task created
Fires when a new task is added to Attio. Use it to send notifications, log task creation elsewhere, cascade record updates, or create follow-up work from a new task.
Task deleted
Fires when a task is deleted. Use it to clean up references in external systems, archive prior task data, audit deletions, or trigger downstream cleanup.
By the time the workflow runs, the task itself is already gone. Only references and prior state that were already known are available.
Task assignee changed
Fires when assignees are added or removed on a task. Use it to react to ownership shifts, update related records, sync assignments to project tools, or notify the new owner.
Also depends on the App setup baseline so the first run has something to compare against.
Task deadline changed
Fires when a task due date is set, cleared, or moved. Use it to push deadline changes into sprint or project tools, trigger reminders, or flag stale work.
The trigger distinguishes set, cleared, and moved states, so the workflow can branch based on what actually happened.
Task status changed
Fires when a task is marked complete or moved back to incomplete. Use it to run review steps after work is finished, escalate stale work that reopens, update the parent record, or notify stakeholders.
Depends on the App setup baseline so the trigger does not fire just because the workflow was activated.
Note triggers
Note created
Fires when a new note is created on a record. Use it to log notes to another system, sync activity history, start summarization, or notify a team that new context was added.
Note content updated
Fires when the body of a note changes. Use it to track substantive edits, sync revisions to external logs, or send a changed note through review.
The trigger has a 5-minute per-note cooldown so a burst of body edits fires the workflow once, not on every keystroke.
Note title updated
Fires when a note title is renamed. Use it when title changes carry operational meaning, such as renaming a meeting note, updating an escalation label, or keeping an external activity log in sync.
Body edits use Note content updated. Title edits use this trigger. It also has a 5-minute per-note cooldown so rapid title edits do not fire repeatedly.
Note deleted
Fires when a note is deleted. Use it to audit deletions or start retention and compliance workflows.
The note contents are not recoverable by the time the trigger runs. The workflow can use the parent record and the actor who deleted it.
Call triggers
Call recording created
Fires after a new call recording has finished processing. Use it to route recordings to transcription, start summarization, log calls into the CRM activity stream, or hand off recordings to specialist teams.
Comment triggers
Comment created
Fires when a new comment is added to any record or list entry. Use it to route new discussion into review queues, notify owners, or keep external collaboration threads in sync.
Actions
The action set covers the small jobs that otherwise make workflows awkward: writing and moving Attio activity, finding filtered lists, fetching full details by ID, comparing two states, resolving workspace members, converting or classifying values, and stopping a workflow on a guard condition.
Write actions
Create note
Creates a new note on a chosen Attio record from inside a workflow using native object and record pickers. Use it to log automated decisions, attach summaries, archive emails as notes, or write an audit trail directly to the right Person, Company, or custom record.
The note can be plain text or Markdown, depending on what the workflow needs to write.
Move note
Copies a note to a different record and deletes the original. It preserves the title, formatting, and any meeting link. Use it when notes land on the wrong record or a workflow needs to refile activity after a routing decision.
Because the move creates a new note and deletes the old one, workflows watching Note created or Note deleted will also fire. Filter those workflows by Created by if you want to skip this app's moves.
Update task
Changes a task's completion state, deadline, assignees, or linked records. Completion can be kept as-is, marked complete, or marked incomplete. Deadlines can be kept, set, or cleared.
Assignees and linked records support multiple values. Each has a Replace existing toggle: leave it off to append to the current list, or turn it on to overwrite the list.
Find (paginated lists)
The Find actions return filtered lists for workflows that need to loop through matching Attio activity. When a run hits the roughly 5,000 item safety cap, the block sets a Has more matches output so downstream steps can branch or narrow the filter.
Find notes
Lists notes matching filters for parent record, creator, created date range, and meeting linkage. Use it when a workflow needs to work through recent notes, notes by a specific person, or notes connected to meetings.
Find tasks
Lists tasks matching filters for completion state, deadline, assignee, or linked record. Completion can be Any, Is open, or Is complete. Deadline can use a range or a predicate: Any, Is overdue, Is not overdue, Has due date, or Does not have due date.
The Is overdue predicate uses the current time, so the workflow does not need to wire in a separate date.
Lookups by ID
The Get actions fetch one known item by ID. They pair well with Find actions inside a loop, or with triggers and native blocks that already provide the ID but not the full details the workflow needs.
Get note
Fetches a note by ID so downstream steps can use its full details.
Get task
Fetches a task by ID so downstream steps can use its current state, assignees, deadline, and linked records.
Get comment
Fetches a comment by ID so a workflow can use the comment details after a comment trigger or thread lookup.
Get thread
Returns thread state, including first and last comment content and IDs, comment count, whether the thread is open, and the full list of comment IDs.
Get meeting
Returns meeting details including participants, organizer emails, linked records, start time, and end time.
Get call transcript
Fetches a call transcript by meeting and call recording ID. It returns Ready with the transcript once processing is done, or Not ready while Attio is still transcribing. The step fails if the recording errored.
Comparison actions
The comparison actions answer a specific question: what changed between two states? They pair especially well with Attio's native Record updated and Attribute updated triggers, where the trigger surfaces a new and prior state and a comparison action returns exactly what shifted.
Compare members
Compares two arrays of workspace members and returns what was added, removed, changed, and unchanged. Use it to react to team or assignee swaps, audit access changes, or sync membership shifts to another system. A common use is detecting when the deal owner changes.
Compare records
Compares two arrays of linked records on a chosen object and returns the added, removed, changed, and unchanged sets. Use it to track relationship changes such as linked companies, related deals, contacts, or other custom record links. A common use is detecting when the People assigned to a deal change.
Compare values
Compares two arrays of string-like values such as emails, phone numbers, or domains and returns the diff. Use it to detect when a contact's email list, phone list, or domain list changes, for example when domains are added or removed for a company.
Check primary value
Detects when the first value in an email, phone, or domain list has changed, even if the overall set is the same. Use it when the primary email or phone number matters for dedupe, preference tracking, routing, or notifications.
Workspace member lookup
Find member by email
Looks up a workspace member by email address. Use it to match users from external data, assign tasks from email-driven workflows, or map an email address to an Attio member.
The lookup can support case-insensitive matching and common dot or plus-alias normalization when that is useful for the workspace.
Find member by ID
Looks up a workspace member from a native member picker or a wired Attio actor variable. Use it to turn a selected actor into usable member context for later workflow steps.
The action returns member details such as name, email, access level, and avatar, so later steps can validate or enrich the workflow path.
Utility
Convert value
Validates and normalizes a string into a target type such as boolean, number, integer, date, timestamp, or string. Use it when a downstream block expects a normalized value but the upstream source is messy, for example webhook data parsed as text where dates arrive as strings or booleans arrive as the literals "true" and "false".
The two outcomes (converted or invalid input) let a workflow branch on whether the value cleared the check before any downstream write happens.
Classify email domain
Accepts either a full email address or a bare domain and classifies the domain as Personal or Business. Personal covers Gmail, Yahoo, and thousands of other free providers. Both outcomes emit the extracted domain.
Flow control
Fail workflow
Always fails the workflow when the step runs, with a custom message. Use it to stop a workflow when a guard condition fails, hard-stop bad data, or test how an error path behaves.
Calculated attributes
Open a company in Attio and you can see its notes and tasks at the bottom of the page. Open the same company in a table view, and the useful rollups disappear: last note date, notes count, open tasks count, and the people who own those open tasks. Sorts, filters, kanban groupings, and workflow conditions can only use what lives on the record as an attribute.
Most teams end up rebuilding this with note and task triggers, custom attributes, and update steps. Advanced Automation Utilities ships the standard version so every workspace does not have to build it twice.
The attributes are opt-in per object. Companies can get notes attributes without open tasks attributes; People can get open tasks attributes without notes; custom objects can get either, both, or neither. Choices are made on the app's workspace settings page and applied with a Save and sync click.
Notes attributes
For each opted-in object, the app provisions three calculated attributes built from the record's notes:
- Last note at: the date of the most recent note on the record.
- Notes count: the total number of notes on the record.
- Latest note snippet: a short text excerpt from the most recent note.
Once provisioned, they behave like native Attio attributes. They show up as columns in table views, as groupings in kanban boards, as filter options in any view, and as variables inside workflow conditions.
Open tasks attributes
For each opted-in object, the app provisions two calculated attributes built from the record's incomplete tasks:
- Open tasks count: the number of incomplete tasks linked to the record.
- Open task assignees: a typed workspace-members array of the people who own those open tasks.
The typed array is the part that earns the section. A workspace-members attribute lets a table view render avatars, lets a filter narrow to records whose open tasks are owned by a specific team member, and lets a workflow branch act on who owes the work.
How setup works
Setup is small because Advanced Automation Utilities stays inside Attio. There are no external API keys to connect and no third-party service to authorize. The one piece that needs attention is the App setup card, which baselines the task change-detection triggers so they do not fire on every existing task the moment a workflow is enabled.
- Install the app. Install Advanced Automation Utilities into your Attio workspace once access is enabled. No external API keys are required and no third-party service is involved.
- Run App setup. Open the app workspace settings page and start the App setup card. The job runs in the background and stores the baselines the task change-detection triggers need on day one. You do not have to keep the page open. Run this before activating any task triggers, or the first event on an existing task will be missed.
- Pick objects for calculated attributes. On the same workspace settings page, choose which objects should get the notes attributes and which should get the open tasks attributes. The two are configured independently. Click Save and sync. The app provisions the attributes on the chosen objects and archives the attributes it provisioned earlier for any object you turn off.
- Wire blocks in Workflows. Open Attio Workflows. The Advanced Automation Utilities triggers and actions appear in the same palette as the native blocks. Configure each block inline the same way you would for a native Attio block; outputs feed downstream conditions, branches, and actions.
Known limitations
The App setup baseline is required for task change-detection triggers
Task status, assignee, and deadline triggers depend on the App setup card having run. The job stores the prior state of every existing task so the trigger has a baseline to compare against. Skipping it means the first event on an existing task can go unseen.
Deleted-record triggers can only see what was already known
Deleted tasks and notes are already gone by the time the workflow runs. The trigger can use saved references and prior state, but it cannot recover a full live record after deletion.
Find blocks stop at the safety cap
Find notes and Find tasks page up to roughly 5,000 items per run. If the workspace has more matches than the block returned, the Has more matches output is set so downstream steps can branch on it or narrow the filter.
Task update writes full assignee and linked-record lists
Attio's API does not offer per-item add and remove operations for task assignees or linked records. Update task can append by fetching the current list, merging the new values, and writing the result, or it can replace the whole list when Replace existing is on.
Calculated attributes are opt-in per object
The notes and open tasks attributes are not provisioned automatically. You choose the objects on the app's workspace settings page. Turning an object off archives the attributes for that object instead of deleting them; Attio keeps the historical values queryable, but new updates stop until the object is turned back on.
No external system calls
Advanced Automation Utilities is for extending Attio Workflows inside Attio. It does not send data to a third-party tool by itself, so external routing still needs a native Attio action, another app, or a separate integration step.
Frequently asked questions
Is this on the Attio App Store, or is it a custom build?
Advanced Automation Utilities is a custom Attio app installed into your workspace. It is not a public Marketplace listing today, though the install flow still happens inside Attio once access is enabled.
Do these triggers and actions replace Attio's native ones?
No. They sit alongside Attio's native workflow blocks. Use the native blocks where they fit, and use Advanced Automation Utilities when you need task, note, comment, call-recording, find, lookup, comparison, utility, or guard-rail behavior Attio does not include.
Does the app need any API keys or external services?
No. Advanced Automation Utilities runs inside Attio and does not reach out to third-party systems. Setup does not require an external API key.
What is the App setup card for?
The App setup card runs once after installation. It stores a baseline snapshot of every existing task so the change-detection triggers (status, assignee, deadline) have something to compare against on day one. Without it, the first event on an existing task could go unseen. The job runs in the background and finishes on its own.
Will the change-detection triggers fire on every workflow activation?
No. The App setup baseline prevents that. Once it has run, the triggers fire on actual changes after activation, not on the existing state of every task in the workspace.
How do note update triggers handle rapid edits?
There are two note update triggers: Note content updated for body edits and Note title updated for title edits. Each has a 5-minute per-note cooldown so a burst of edits fires the workflow once instead of on every keystroke.
How are Find blocks different from Get blocks?
Find notes and Find tasks return filtered lists for loop-style workflows. Get note, Get task, Get comment, Get thread, Get meeting, and Get call transcript fetch one known item by ID, which is useful after a Find block or when another trigger already provided the ID. Find blocks page up to about 5,000 matches per run and expose Has more matches when the workspace has more results than the block returned.
Can the deleted-record triggers see the full record?
No. After a task or note is deleted, the live record is gone. The workflow can only use the record references and prior state that were already known before deletion.
What are the calculated attributes good for?
They put note and open-task rollups onto the record itself: last note date, notes count, latest note snippet, open tasks count, and the workspace members who own those open tasks. Once on the record, they can drive table columns, kanban groupings, view filters, sort orders, and workflow conditions, none of which can read the raw note or task lists directly.
What happens when I turn off calculated attributes for an object?
The app archives the attributes it provisioned for that object rather than deleting them. Attio keeps the historical values queryable, and turning the object back on later restores live updates.
Can I use these blocks in any Attio workflow?
Yes, once the app is installed in the workspace. The blocks appear in the normal Workflows builder and can be combined with native Attio triggers, actions, conditions, and branches.