Inputs
Outputs
A list entry is the row that represents one record’s membership in a list. It carries the record itself plus any attributes that belong only to that list.
Reference the new entry’s parent record downstream as
{{ steps.record_added_to_list.record }}, and the actor as {{ steps.record_added_to_list.actor }}.
Behavior
The trigger fires once each time a record is added to the chosen list, in the order the additions happen. Each addition starts its own independent run. So adding ten records to the list starts ten runs. The actor reflects whatever performed the addition. A workflow that adds records to this list counts as an actor. So this trigger fires for workflow-added records exactly as it does for manual ones. That is the mechanism behind chained automations, and the cause of the first gotcha below. List attributes on a brand-new entry are usually empty at the moment the record is added. A stage attribute may apply its default, but the rest of the entry’s list attributes have no value yet. Most values land a beat later, when a person or a follow-up workflow fills them in. A record can sit in a given list only once at a time. So the trigger fires once per record, per membership. Remove the record from the list and add it again, and that starts a fresh run. Historically, Attio’s API let a record hold more than one entry in the same list. The current workflows model treats membership as a single entry. That is why you re-fire this trigger by removing and re-adding the record, not by adding it twice.Gotchas
- Workflow-added records re-trigger this workflow. A workflow counts as the actor. So any automation that runs Add record to list on the monitored list fires this trigger too, chaining the two workflows. When that chain is the design, leave it. When it is not, filter on the actor. Set Updated by → Type → is not → Workflow right after the trigger. See Infinite loops and safety.
- Re-adding a recycled record fires the trigger again. Removing a record from the list and adding it back starts a new run, since each membership is a separate add. When you design for it, re-adding is a deliberate “recycle this lead” signal. When you do not, it is a source of duplicate tasks and Slack pings. Add a Filter on entry state if a recycled record should follow a different path.
- List attributes are empty at add time. Say your logic reads a list attribute that gets its first value during the add. The read returns nothing, because the value is not set yet when the trigger fires. Trigger on Attribute value changed pointed at that list attribute instead. It fires when the value is set, including at add time.
Examples
Running an intake checklist on a new pipeline entry
This example screens every company that enters an investment pipeline and assigns the first task automatically.
A company added to
Investment pipeline lands on stage New, gets an Initial screen task due in two days, and posts a one-line alert to #dealflow.
Ignoring records that another workflow added
This example runs the intake checklist only for records a person added, so a feeder workflow that bulk-adds records does not trigger a second round of tasks.
A record dragged in by
Priya Sharma reaches the Create task step and produces an Initial screen task. A record added by a feeding workflow stops at the Filter and creates nothing.