Skip to main content

Plays and triggers

A play is one workflow inside a Cleanlist agent: a trigger that decides when records enter, plus the steps each record goes through. Every trigger with its cost, schedules and time zones, how plays avoid processing a record twice, Run now, trigger…

L
Written by Levon Adamyan

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](#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


Did this answer your question?