New: meet Clu, and send email, LinkedIn and call steps with Sequences. Watch the videos →
Features
Plays & Triggers
👤

Who this is for: self-serve plans (Free, Starter, Pro, Enterprise). If you bought a Cleanlist AppSumo lifetime deal, your features, limits, and pricing are different. See the AppSumo documentation instead. Support agent: confirm whether the user is self-serve or AppSumo before giving plan-specific advice.

TL;DR: A play is a trigger plus steps, inside an agent. Up to 10 plays per agent. Most triggers are free; a few signal triggers charge per signal. Plays are checked about every 30 minutes, each record starts a play once (unless you set a re-run window), and Run now starts one on demand. Three failed checks in a row with a fixable problem turn the play off and alert the owner. Agents are on Pro and Enterprise.

Plays and triggers

A play is one workflow inside an agent. Its trigger decides which records enter and when ("Start this play when"), and its steps decide what happens to each record. This page covers triggers, schedules and runs. Every step is described in the Play steps reference.

Add or change a play

Open an agent and go to its Play tab.

  • Build with Clu: describe what you want and Clu proposes the play. The proposal shows up in the chat as Play change for review; click Review on canvas, then Accept or Discard. Clu never changes a play without your Accept.
  • Add a play: New play (blank), From a template, or From the library (a play that belongs to no agent, listed on the Plays tab of the Agents page).
  • On the canvas, pick the trigger with Add a trigger and add steps with Add step. Save with Save; Run now starts a live run.

An agent can have up to 10 plays ("An agent can have up to 10 plays"). With more than one, the Play tab lists them with each play's next run, pending records and an On/Off switch. Plays of the same agent can pass records to each other with the Hand off step and the Another play sends records trigger.

The builder still says "playbook" in a few places, for example a blank play is named "New playbook". It means the same thing as a play.

Triggers

Triggers are grouped in the picker under When something changes and On a schedule.

When something changes

TriggerWhat starts itCostNotes
A record matches your conditionsA field on an account, contact, or lead starts matchingFreeSalesforce Account, Contact, Lead; HubSpot Company, Contact. Up to 3 change conditions. Records: new matches only, or all matches each period (up to 250,000)
A record joins a listSomeone lands in a HubSpot list or a Salesforce campaignFreeSalesforce campaigns, list views and reports (reports read the first 2,000 rows)
A deal changes stageAn opportunity or deal enters one of your chosen stagesFreeSalesforce or HubSpot; pick the pipeline, stages and an optional minimum amount
Leads added to a listLeads are added to one of your Cleanlist listsFreeChoose Added after this play is turned on or Include leads already in the list. Leads added in the last 10 minutes wait for the next check
Rows are added to a Google SheetA new row appears in a Google Sheet tabFreeNeeds Google Sheets connected. See Google, Airtable, Notion and Fathom
A page is added to a Notion databaseA new page in a Notion databaseFreeNeeds Notion connected
A page in a Notion database is updatedA page in a Notion database is editedFreeNeeds Notion connected
A picked Google Doc is updatedA Google Doc you pick is editedFreePick 1 to 20 Docs
A Google Calendar meeting is bookedOutside attendees of a new meeting on Google CalendarFreeNeeds Google Calendar connected
A Google Calendar meeting is startingOutside attendees before a Google Calendar meeting startsFreeYou choose how many hours before
A Google Calendar meeting has no notesGoogle Calendar meetings with no notes two hours after they endFreeAlso needs Knowledge
A Fathom call is recordedOutside participants, when Fathom notes syncFreeNeeds Fathom connected
Someone replies or finishes a sequenceA person replies to or completes a Cleanlist sequenceFreeNeeds access to Sequences
A webhook arrivesA form or JSON submission from another appFreeSee Webhook trigger
Another play sends recordsPeople or companies handed over by another play of this agentFreePairs with the Hand off step

On a schedule

TriggerWhat it findsCostNotes
New people match your ICPPeople who newly match a searchFreeFind up to N new people per period of the schedule (1 to 5,000, default 100), Limit leads per company, Skip leads already in CRM
New companies match your ICPCompanies that newly match a searchFreeSame limits. Find lookalikes with Similar companies (1 to 25 seed domains)
A deal stallsAn open deal with no activity for the number of days you chooseFreeDays without activity 1 to 365, default 14
Companies start hiringCompanies with new job posts that match your filters0.03 credits per new job post
Companies adopt a toolNew companies using a technology who match your ICP2 credits per adoption signal
Something happens at an accountHiring, news, funding and headcount changes at named accounts0.5 per job posting, 5 per changed company updateUp to 10,000 account domains
People engage with postsIndexed engagers of LinkedIn posts who match your ICP0.5 per unique post
CRM duplicatesDuplicate Salesforce or HubSpot recordsFreeCleanup plays only. See CRM duplicate cleanup

Plays outside an agent

A play in the library (no agent) can only use four triggers: A record matches your conditions, A record joins a list, New people match your ICP and New companies match your ICP. Every other trigger, and several steps (Approve, Wait, Code, Webhook, Get company, Hand off), need the play to belong to an agent.

Schedules and time zones

Under When to check, How often offers:

OptionRuns
Every 30 minutesOn every check
DailyOnce a day at your time
Every few daysEvery 2 to 30 days
WeeklyOn the weekday you pick
MonthlyOn a day from the 1st to the 30th, the Last day, or the First business day (agent plays only)
QuarterlyFirst business day of January, April, July and October (agent plays only)
  • The default time is 09:00. Runs start "Within 30 minutes of this time."
  • A new schedule starts in your browser's time zone; you can change it with the time zone picker. A schedule saved without a time zone uses your workspace's default, or UTC.
  • There is no yearly schedule and no manual-only trigger. To run on demand, use Run now.

How records enter and repeat

Each record starts a play once. A person or company that already went through the play is skipped next time, so you are not charged twice for the same work. Exceptions:

  • Run each record again after (1 to 365 days): lets a record re-enter after that many days, for example to recheck contacts whose email wasn't found.
  • Event triggers start again for each new event: each CRM change, a deal re-entering a stage, each meeting, each sequence event and each webhook event.
  • Skip records another play ran in the last (1 to 365 days): leaves out records that any other play in your workspace ran within that many days. Agent plays only.
  • Test runs never count, so a record you tested still enters the live play.

People and companies per period

Search triggers (New people match your ICP, New companies match your ICP) deliver a quota per period, for example 50 new people a week, up to 5,000 a period. Each check takes up to 200, so a large quota fills over several checks. When a company trigger feeds a Find People step, the quota counts people found, not companies.

The Runs tab shows one row per period, such as "Week of Sep 28" or "Q3 2026", with progress like "12 of 50 people" and why the period ended:

End reasonMeaning
Quota metThe period delivered the number you asked for
Search ran outNo more new matches this period
Search limit reachedThe play searched as far as allowed this period
Ended before the quotaThe period ended before the quota filled
Credit limit reachedThe agent's credit limit for the period was reached
Out of creditsYour workspace ran out of credits
Couldn't check your CRMThe play couldn't check your CRM to skip existing records
Play editedThe play changed mid-period

Webhook trigger

A webhook arrives receives submissions from another app:

  • Event format: Custom mapping, or a preset: RB2B visitor, Segment Track, Calendly booked, Calendly no-show.
  • Incoming records: People or Companies. Map the submission's fields (email, LinkedIn URL, names, company domain or name) to the record.
  • Create URL shows the webhook URL. Copy it then: rotating it later (Rotate the URL?) gives a new one and the old one stops working.
  • Signing is optional. With Signing on, Cleanlist checks an HMAC-SHA256 signature using the Signing secret.
  • A submission can be at most 64 KB.

To send records out of a play to another app, use the Webhook step instead. See Play steps reference.

Run now

There is no manual trigger. To run a play on demand, click Run now on the agent's Play tab. It is a live run: it spends credits, writes to your CRM and sends messages, and it works even while the play is off. It needs a paid Pro or Enterprise plan; on the Pro trial it opens the Start Pro to launch dialog. To try a play without side effects, use Run a test or Test on 5 records from the agent header (see Agents).

Trigger health and auto-pause

Next to each play's On/Off switch, Cleanlist shows the trigger's state:

StateMeaning
Checked 5 min ago (or similar)Last check succeeded
Catching upWorking through a backlog
Preparing · N recordsReading the first batch of records
Failing: reasonThe last check failed, with the reason
Run live for 7 h (or similar)A run has been going for 6 hours or more
Too many records: narrow the conditions or turn on field history.The trigger matched more records than it can take
Paused: reasonThe play turned itself off

The rule: three failed checks in a row with the same problem you can fix turn the play off. Problems that count: CRM not connected, not enough credits or the agent's credit limit reached, a setting error, too many records, a missing list, or Google Sheets, Notion, Google Docs, Google Calendar or Fathom disconnected or unreachable. A first read that is far too large always pauses. A CRM outage or rate limit never pauses a play.

The play's owner gets a "play paused" alert by Slack direct message (or the agent's Slack channel), email and in the app, and admins are alerted too when the fix is a workspace setting. A "trigger failing" alert goes out from the third failure, at most once per 24 hours, and a note follows when the play is running again. To resume, fix the cause and turn the play or the agent back on.

The Runs tab

Open an agent and go to Runs.

  • Last 30 days: Runs, Records, Credits, Credits per run, and a Credits over time chart.
  • Filter: All, Runs, Tests, Failed (and Needs review for cleanup agents).
  • Columns: Status, Started, Duration, Records, Credits.
Run statusMeaning
QueuedWaiting to start
RunningIn progress
CompletedFinished without errors
Completed with errorsFinished, but some records failed
Needs attentionThe run failed
CancelledStopped by a person
Paused, out of creditsStopped because the workspace ran out of credits

Click a run to open it:

  • Record results lists each record with its path through the play and where it ended. View leads opens the leads. Cancel run stops a running run.
  • Each step opens a drawer with its records, with Open in HubSpot or Open in Salesforce links where they exist.
  • Every finished run ends with a short summary: records in, records per branch, messages, sequence enrollments, CRM writes, up to 5 failures, and credits split between data and Clu.

Waiting records

Wait, Approve, retries and Hand off park records until they can continue, up to 50,000 per play. A "N waiting" link opens Waiting records, grouped as Waits, Retries, Approvals and Handoffs.

If you save an edit that strands waiting records, a dialog titled "N records waiting" asks what to do: Drop them, Keep at next step (or Keep waiting), or Cancel to go back without saving.

Related