Automations in Attio
Overview
The Trailspark Accounts list is a source, and Attio workflows are how you act on it. This page gives four recipes, which are four ways of doing one job: getting the right account in front of the right person without being told twice. Pick the one that fits, or combine them.
Every recipe:
- Triggers on Last changed, filtered on What changed. Set the trigger to List entry updated, choose the list Trailspark Accounts, and choose the attribute Last changed. Then add a Filter block on What changed. Do not build on As of: it changes whenever Trailspark refreshes the row, even when nothing meaningful changed.
- Uses columns you own. Trailspark never adds a column for a recipe, and never changes a column it didn't create. Each recipe tells you which of your own columns to add to the list first.
- Costs one credit for each action a run takes. In our testing, runs that were filtered out and runs that failed cost nothing. Check your Attio plan for how many workflow credits it includes.
- Runs about a minute after the update. Trailspark updates rows hourly, and Attio then runs the workflow roughly 30 to 60 seconds after each update.
To start, open Workflows in Attio's sidebar and create a new workflow. To add a condition to a Filter block: click Add condition, choose List entry updated, then Updated Entry, then the attribute, then the operator and the value.
When you finish a workflow, click Publish changes. Republishing a workflow that is already live asks "Are you sure you want to publish these changes? Ongoing runs will not be affected by these changes." Click Publish.
Tip
Each time a workflow changes a row, the record's activity feed names the workflow that did it, so you can see which automation touched which row.
Recipe 1: Route on first reach
Do something the first time an account's level changes, and not again.
Add first: a Timestamp column of your own on the list, for example Last routed.
Build it:
- Trigger: List entry updated, list Trailspark Accounts, attribute Last changed.
- Add a Filter block with these conditions, all required:
- What changed is Propensity
- Score status is not Merged
- Last routed is empty
- Add an Update list entry block. Set Last routed to the trigger's Updated at value.
- After it, add your own action, for example a task for the account's owner.
The stamp is what stops a repeat. After the first run, Last routed is filled, so later runs are filtered out and cost nothing.
Cost: 1 credit for the stamp. The action you add is yours to price.
Ask Attio prompt. If you build with Attio's assistant, you can paste this:
Create a workflow. Trigger: List entry updated on the list Trailspark Accounts, attribute Last changed. Filter: What changed is Propensity, Score status is not Merged, and Last routed is empty. Then Update list entry: set Last routed to the Updated at time of the updated entry.Check the final block against the steps above before you publish. The assistant can pick the wrong attribute or leave out a condition.
Recipe 2: Route while still worth routing
Act whenever an account reaches High, but only for companies that are not already customers.
Add first: a Checkbox column of your own on the list, for example Still worth routing, and a Checkbox column on Companies called Customer.
Build it:
- Trigger: List entry updated, list Trailspark Accounts, attribute Last changed.
- Add a Filter block with these conditions, all required:
- What changed is Propensity
- Score status is not Merged
- Propensity is High
- Under Updated Entry, choose Parent Record, then Customer is not True
- Add an Update list entry block that ticks Still worth routing.
- After it, add your own action.
Choosing Parent Record lets a condition read a field on the company itself, which is how the filter sees whether the company is a customer. Use is not with True, never not. A checkbox nobody ticked is empty, not false, and the condition not fails on an empty value, so every run fails.
Cost: 1 credit when the box is ticked. A run for an account at Medium, or for a company that is a customer, is filtered out and costs nothing.
Ask Attio prompt:
Create a workflow. Trigger: List entry updated on the list Trailspark Accounts, attribute Last changed. Filter: What changed is Propensity, Score status is not Merged, Propensity is High, and the parent record's Customer checkbox is not True. Then Update list entry: tick Still worth routing.Check the final block, especially that the Customer condition reads is not True.
Recipe 3: Tidy up merged rows
When an account is merged into another in Trailspark, its row is finished. This workflow removes it from your list.
Add first: nothing.
Build it:
- Trigger: List entry updated, list Trailspark Accounts, attribute Last changed.
- Add a Filter block: What changed is Merged.
- Add a Delete list entry block (under Lists). Set List to Trailspark Accounts and Entry to Updated Entry.
Cost: 1 credit when a merged row is removed.
Ask Attio prompt:
Create a workflow. Trigger: List entry updated on the list Trailspark Accounts, attribute Last changed. Filter: What changed is Merged. Then Delete list entry: the list Trailspark Accounts, the updated entry.Check that the delete block is pointed at the updated entry and nothing else.
Info
A row your own automation removed is a tidy-up, not an error. Merged rows never come back, so Trailspark does not try to restore this one, and you do not need to click Repair or Restore all. Trailspark's next daily check notices the row is gone, does not report it as deleted in your CRM, and does not show it as waiting to come back.
Recipe 4: Tell the team once
Send one alert when an account's level changes, and not again.
Add first: a Timestamp column of your own on the list, for example Last alerted.
Build it:
- Trigger: List entry updated, list Trailspark Accounts, attribute Last changed.
- Add a Filter block with these conditions, all required:
- What changed is Propensity
- Score status is not Merged
- Last alerted is empty
- Add an Update list entry block. Set Last alerted to the trigger's Updated at value.
- After it, add your own action, for example a message to your team.
Without the Score status is not Merged condition, the run triggered by a merge also matches, and if recipe 3 has already removed the row, that run fails with "The provided entry could not be found". It costs nothing, but it shows up in the run history as a failure.
Cost: 1 credit for the stamp.
Ask Attio prompt:
Create a workflow. Trigger: List entry updated on the list Trailspark Accounts, attribute Last changed. Filter: What changed is Propensity, Score status is not Merged, and Last alerted is empty. Then Update list entry: set Last alerted to the Updated at time of the updated entry.Check the final block against the steps above before you publish.
Next steps
- Your Trailspark Accounts list in Attio: every column, and what What changed can hold
- Connecting Attio: connect, open the list, and disconnect
- Which accounts appear, and what happens after: what Score status and What changed mean