Triggers — hand records on automatically
A trigger watches one list and acts on its own: "when a record meets these conditions, do this." It's the way to hand records to a pipeline, change their status, or tag them without doing it by hand every time.
Where to find it#
Open a list and choose Tools → Automate & connect → Triggers in the list header (it appears only if you may edit the list). Setting up or changing a trigger is for the workspace's owner and admins; other members can see the triggers and what they've handed over, but not change them.
When#
Every trigger has conditions built the same way as a pipeline's data check — field, operator, value, grouped with AND and OR — but with more to choose from, since a trigger belongs to one list: any of that list's own columns, an evaluation goal, the record's status, its e-mail verification, whether it's already in another pipeline, or whether it's in another list of the workspace (group Lists: any list, on every plan, the lists with a role first; is in it / is not in it — see "Look up in another list, and the List role" for how matching works). Choose when they're checked:
- a record is new in the list ("New record") — only records that are new in the list.
- a record is changed ("Changed record") — only records that were changed, not the ones that come in new.
- a record is new or was changed ("Conditions met") — every record, checked again whenever it's added or changed.
- a record is deleted from the list ("Deleted record") — a record that is deleted from the list (not one that is marked ignored, and not one that leaves with a reload from the source). It can only be handed to a pipeline — not to one that enriches or writes into another list. The record's data is kept until that pipeline has sent it, then removed.
You pick one of these in the trigger's When … sentence. Leaving the conditions empty fires on every new record ("New record") or every changed record ("Changed record"); "a record is new or was changed" needs at least one condition. While editing, the live "x of y records match" count leaves conditions on other lists out of the number — the trigger itself still checks them correctly once it runs.
Use current filter (below the conditions, only while the list is filtered) turns what narrows the list right now into conditions and adds them to the ones already there; the editor lists what it could not take over. See "Make a trigger from your current filter".
Conditions on time ("older than 30 days", "in the last 7 days") or on a pipeline's state are checked when the record changes — not by themselves once the time has passed or the pipeline moves on; the editor says so under the conditions.
Then#
Add up to 5 actions. Hand-overs to pipelines and Enrich always run first, then Set status, Mark as ignored and Set tag in the order you gave them — a step that fails stops the ones after it, but what already happened stays done. Choose from:
- Hand over to pipeline — adds the record to one of your pipelines. Don't have the right one yet? Create pipeline under the picker opens the setup in a dialog; the new pipeline is selected in this action and your trigger draft stays as it is (an Endpoint pipeline shows its signing secret once — copy it before you return).
- Set status — sets one of the list's own statuses.
- Mark as ignored (Als ignoriert markieren) — gives the record the built-in ignored state, the same as Ignore in the grid.
- Set tag — adds a tag, kept if the record has it already.
- Enrich — fills the record's own missing fields. You choose the fields, a credit limit per record and what happens to filled cells right in the trigger; the enrichment belongs to this trigger (see "Enrich in a trigger — fill a record's own missing fields").
A record the trigger already acted on isn't acted on again for the same trigger, so re-saving or a later change never duplicates a hand-over.
When triggers run#
An active trigger checks matching records automatically — there's nothing to click. Records written by automation, webhooks, forms, the API or enrichment are checked within a few seconds. Rows you edit or add yourself in the list are checked about 30 seconds after your first edit, so you have time to finish (for example, set a status and then fix the email). If an automation writes to the list meanwhile, your rows may be checked together with that earlier run. Only active triggers run; pause one with the switch on its card to stop it without losing its setup.
Records already in the list#
While building a trigger with "a record is new or was changed", tick Include records that already match to also run it once, immediately on save, for records already in the list. It's unavailable once there's nothing left to include, and it never repeats — later changes are covered by the trigger running as usual.
Starting from a template#
A list with no trigger yet opens with "Let your list do the work." and one example trigger, and, under Choose a template, six starting points: Spot decision makers (C-level and VP contacts get the status "Qualified", which the list gets if it has none), Find work emails (Enrich, a business e-mail where one can be found; charged only when found), Forward leads (ready decision makers with a business e-mail go to a pipeline you choose), Clean up your list (freemail, disposable and info@ addresses get the tag "Freemail" and are marked ignored), Enrich, then pass on (two linked triggers) and Notify your team (new decision makers go to your Slack pipeline and get the status "Qualified"). While the list is filtered, Use current filter comes first. Each template opens the editor filled in; nothing runs until you save, and cancelling removes a "Qualified" status the template just created if nothing uses it. Or choose Build your own trigger. Once a list has triggers, the templates sit under Choose a template below them. See "Trigger templates" for each one.
Limits#
Up to 20 triggers per list, up to 5 actions per trigger, and up to 5 OR-groups of up to 12 conditions each in the "When".
Problems shown on a trigger#
A trigger's card names why its last run couldn't act, for example "The pipeline no longer exists" (it was deleted — choose another one), "The pipeline is full" (send or remove some of its entries first), or "A condition uses a column this list no longer has" (nothing is handed over until you fix it). Review trigger opens the editor on the exact problem.
A rule an agent set up#
An AI connected with the Set up right (see "Agent keys") can set up triggers too. Its triggers carry Set up by Claude Code (or the connection's name) on their card and run like yours. Save one yourself and it is yours — the mark goes. If the connection is revoked, its triggers are paused and say so; save one to take it over, or delete it.
An agent's trigger that enriches spends on that connection's day budget. When the day is used up, the card says "Waits for the agent connection's day budget" and the records wait; it goes on by itself after midnight (UTC), or once the budget is raised on the Agents page.
Video#
A short video (about two minutes, in English and German, with captions) shows triggers at work: an AI research drops GTM engineers into a list, and three triggers ignore the poor fits, enrich the good ones and hand everyone ready for cold email to a sequencer through a pipeline — with the list's Flow funnel at the end. Open it from A quick tour of ListPlus on the Lists page, or ask the help chat for it.
Related topics: trigger-templates · trigger-from-current-filter · pipelines-overview · send-records-to-a-pipeline · enrich-pipeline · list-statuses · segments-and-tags · reference-lists · roles-and-permissions.
FAQ#
What is a trigger in ListPlus?#
A trigger watches one list and acts automatically when a record meets your conditions: hand it to a pipeline, set a status, mark it ignored, add a tag, or enrich it. Open a list and choose Tools → Triggers in the list header to set one up.
What can a trigger do when a record matches?#
Up to 5 actions: hand the record to a pipeline, set one of the list's own statuses, mark it as ignored or add a tag; there's also Enrich, which fills the record's missing fields with settings made in the trigger itself. Hand-overs to pipelines (and Enrich, which works like one) always run first, then status, Mark as ignored and tag in the order you gave them — a failing step stops the rest, and what already happened stays.
What fields can a trigger's conditions check?#
Any column of that list, an evaluation goal, the record's status, its e-mail verification, whether it's already in another pipeline, or whether it's in another list of the workspace — more than a pipeline's own data check can see, since a trigger belongs to one specific list. Build them with AND inside a group and OR between groups.
Can a trigger check whether a contact is an existing customer or competitor?#
Yes, with any list of the workspace and on every plan: the condition group "Lists" offers every list with "is in it" / "is not in it", for example "hand over to pipeline" only when the company "is not in it" for your Existing customers list. No setting is needed on that list; see "Look up in another list, and the List role" for how matching works.
What's the difference between "a record is new in the list" and "a record is new or was changed"?#
The first fires for records that are new to the list; the second checks every record again whenever it's added or changed, so it also catches records that become a match later. Pick the first for "do this once, on arrival" and the second for anything that should stay true over time.
Can a trigger react when a record is deleted?#
Yes — choose "a record is deleted from the list" in the trigger's When sentence; it fires when a record is really deleted from the list, not when it is marked ignored or leaves with a reload from the source. The only action is handing the record to a pipeline (for example to tell Slack or your CRM), and not to a pipeline that enriches or writes into another list. The record's data is kept until that pipeline has sent it and is removed afterwards.
Do I need to click something for a trigger to run?#
No, an active trigger checks matching records by itself: within a few seconds for records from automation, webhooks, forms, the API or enrichment, and about 30 seconds after your first edit for rows you change or add yourself in the list. Pause it with the switch on its card if you want to stop it without deleting its setup.
Why does a trigger take about 30 seconds after I edit a row?#
On purpose: rows a person edits or adds in the list are checked about 30 seconds after the first edit, so you can finish typing — for example set a status first and fix the email afterwards — before the trigger acts. Records from automation, webhooks, forms, the API and enrichment are still checked within a few seconds.
Can a trigger also act on records already in my list?#
Yes, tick Include records that already match while saving it (only available with "a record is new or was changed") and it runs once, immediately, for the records already there. It's a one-time pass — after that, the trigger runs as usual on new and changed records.
Why does my trigger's card show a warning?#
It names why the last run couldn't act — commonly that the pipeline it hands records to was deleted, is full, or that a condition uses a column the list no longer has. Click Review trigger to open the editor on the exact problem.
What happens to records a trigger already handed over if I delete it?#
They stay exactly where the trigger put them — in their pipeline, with their status or tag. Deleting a trigger only stops it from acting on future records; it never undoes past hand-overs.
How many triggers can one list have?#
Up to 20 triggers per list, each with up to 5 actions and up to 5 OR-groups of up to 12 conditions. If you're close to the limit, combine similar triggers into one with an OR group instead of adding another.
Does a trigger notice when "older than 30 days" becomes true?#
No. Time and pipeline conditions are checked only when the record is added or changed, not by themselves as time passes or when a pipeline moves on.
Is there a video that shows triggers in action?#
Yes — a short video in English and German, with captions: an AI research fills a list and three triggers ignore, enrich and hand contacts to a sequencer. Open it from "A quick tour of ListPlus" on the Lists page.