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
| Trigger | What starts it | Cost | Notes |
|---|---|---|---|
| A record matches your conditions | A field on an account, contact, or lead starts matching | Free | Salesforce 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 list | Someone lands in a HubSpot list or a Salesforce campaign | Free | Salesforce campaigns, list views and reports (reports read the first 2,000 rows) |
| A deal changes stage | An opportunity or deal enters one of your chosen stages | Free | Salesforce or HubSpot; pick the pipeline, stages and an optional minimum amount |
| Leads added to a list | Leads are added to one of your Cleanlist lists | Free | Choose 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 Sheet | A new row appears in a Google Sheet tab | Free | Needs Google Sheets connected. See Google, Airtable, Notion and Fathom |
| A page is added to a Notion database | A new page in a Notion database | Free | Needs Notion connected |
| A page in a Notion database is updated | A page in a Notion database is edited | Free | Needs Notion connected |
| A picked Google Doc is updated | A Google Doc you pick is edited | Free | Pick 1 to 20 Docs |
| A Google Calendar meeting is booked | Outside attendees of a new meeting on Google Calendar | Free | Needs Google Calendar connected |
| A Google Calendar meeting is starting | Outside attendees before a Google Calendar meeting starts | Free | You choose how many hours before |
| A Google Calendar meeting has no notes | Google Calendar meetings with no notes two hours after they end | Free | Also needs Knowledge |
| A Fathom call is recorded | Outside participants, when Fathom notes sync | Free | Needs Fathom connected |
| Someone replies or finishes a sequence | A person replies to or completes a Cleanlist sequence | Free | Needs access to Sequences |
| A webhook arrives | A form or JSON submission from another app | Free | See Webhook trigger |
| Another play sends records | People or companies handed over by another play of this agent | Free | Pairs with the Hand off step |
On a schedule
| Trigger | What it finds | Cost | Notes |
|---|---|---|---|
| New people match your ICP | People who newly match a search | Free | Find 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 ICP | Companies that newly match a search | Free | Same limits. Find lookalikes with Similar companies (1 to 25 seed domains) |
| A deal stalls | An open deal with no activity for the number of days you choose | Free | Days without activity 1 to 365, default 14 |
| Companies start hiring | Companies with new job posts that match your filters | 0.03 credits per new job post | |
| Companies adopt a tool | New companies using a technology who match your ICP | 2 credits per adoption signal | |
| Something happens at an account | Hiring, news, funding and headcount changes at named accounts | 0.5 per job posting, 5 per changed company update | Up to 10,000 account domains |
| People engage with posts | Indexed engagers of LinkedIn posts who match your ICP | 0.5 per unique post | |
| CRM duplicates | Duplicate Salesforce or HubSpot records | Free | Cleanup 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:
| Option | Runs |
|---|---|
| Every 30 minutes | On every check |
| Daily | Once a day at your time |
| Every few days | Every 2 to 30 days |
| Weekly | On the weekday you pick |
| Monthly | On a day from the 1st to the 30th, the Last day, or the First business day (agent plays only) |
| Quarterly | First 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 reason | Meaning |
|---|---|
| Quota met | The period delivered the number you asked for |
| Search ran out | No more new matches this period |
| Search limit reached | The play searched as far as allowed this period |
| Ended before the quota | The period ended before the quota filled |
| Credit limit reached | The agent's credit limit for the period was reached |
| Out of credits | Your workspace ran out of credits |
| Couldn't check your CRM | The play couldn't check your CRM to skip existing records |
| Play edited | The 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:
| State | Meaning |
|---|---|
| Checked 5 min ago (or similar) | Last check succeeded |
| Catching up | Working through a backlog |
| Preparing · N records | Reading the first batch of records |
| Failing: reason | The 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: reason | The 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 status | Meaning |
|---|---|
| Queued | Waiting to start |
| Running | In progress |
| Completed | Finished without errors |
| Completed with errors | Finished, but some records failed |
| Needs attention | The run failed |
| Cancelled | Stopped by a person |
| Paused, out of credits | Stopped 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
- Agents: create, test and turn on agents
- Play steps reference: every step, its settings and price, plus Approvals and Secrets
- Agent recipes: ready-made plays to ask Clu for
- Build your first agent
- CRM duplicate cleanup
- Google, Airtable, Notion and Fathom: connect the apps these triggers read
- Credits and pricing