Skip to main content

Play steps reference

Every step you can add to a Cleanlist play: what it does, its settings and limits, and what it costs in credits. Includes retries and error paths, Approvals (the Approve step, the Approvals inbox and Slack approvals) and Secrets for Webhook step…

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: Add steps with Add step on the play canvas. Steps are grouped as Source, Enrich, AI, Logic, CRM and Output. Only Enrich, Validate and the Agents step (skills) cost credits; everything else is free. Each step card shows its price, for example "1 /record". Approve puts a person in the loop, and the Webhook step authenticates with Secrets saved by an admin.

Play steps reference

Each record that enters a play runs through its steps in order. Clu adds and configures steps when it builds a play, and you can add or change them yourself with Add step on the canvas. Each step card shows its cost per record or per company.

All steps at a glance

Category

Step

What it does

Credits

Source

Find People

Find matching people at each company

Free

Source

Get company

Turn people into one record per company

Free

Enrich

Enrich

Find emails, phones, and profile data

Per result, see below

Enrich

Validate

Verify email and phone quality

0.5 per check

Enrich

Find meetings

Next and last Google Calendar meeting with each record

Free

Enrich

Get Fathom call notes

Read the latest Fathom call: summary and action items

Free

AI

Agents

Run skills on each record

Per skill, see below

Logic

Branch

Route records down different paths

Free

Logic

Approve

Ask a person before records continue

Free

Logic

Wait

Resume each record after a time or on a date

Free

Logic

Code

Compute typed outputs from declared record fields

Free

Logic

Hand off

Send records to another play of this agent

Free

CRM

CRM Action

Read CRM data or apply a saved CRM action

Free

CRM

Review duplicates / Merge duplicates

Duplicate cleanup only

Free

Output

Add to sequence

Add people to a sequence

Free

Output

Notify

Send a run summary to Slack or email

Free

Output

Webhook

Send records to an https endpoint

Free

Output

Export to Google Sheets

Add or update rows in a Google Sheet

Free

Output

Create a Google Doc

Create a doc for each record

Free

Output

Add a page to a Notion database / Update a Notion page

Add or update a Notion page for each record

Free

Get company, Approve, Wait, Code, Webhook and Hand off work only in a play that belongs to an agent, not in a library play.

Source steps

Find People

Finds people matching your filters at each company the play is working on. People per company: 1 to 25 (default 10). Free.

Get company

Turns people into one record per company, so later steps (for example a Research skill on the company) run once per company instead of once per person. Company source: Employer or CRM account. Free.

Enrich steps

Enrich

Option

Credits

Work email

1 per email found

Phone

10 per phone found

Profile

0.5 when found, free when an email or phone is also found

Company

1 per company

Mobile only (Phone option, agent plays)

Adds a line check, 0.5 per number

Find LinkedIn from email (agent plays)

1 per attempt

Personal email (agent plays)

1.5 per completed attempt, found or not

Nothing is charged for an email, phone or profile that isn't found. See Waterfall enrichment.

Validate

Verify email and Verify phone, 0.5 credits each per record.

Find meetings and Get Fathom call notes

Find meetings adds the next and last Google Calendar meeting with each record. Get Fathom call notes adds the latest Fathom call's summary and action items. Both are free and need the app connected. See Google, Airtable, Notion and Fathom.

AI: the Agents step

The Agents step runs one or more skills on each record:

Skill

What it returns

Credits per record

Research

Live web research on the company or contact

From your workspace's estimate (defaults about 6.3 contact, 12.2 both, 17.8 company)

Qualification

ICP fit score, verdict, reasons and CRM status

From your workspace's estimate (default about 0.6)

Employment check

Whether the person still works at the company, and where they went

Up to 3.5, billed after the check for the lookups made

Write

Copy written for the record. Kinds: First line, Email, LinkedIn note, Call opener, Account brief, CRM note

3

Your saved per-record skills

The outputs you defined

From the prompt's estimate (about 0.2 to 0.6)

Agent instructions

The agent's own instructions run on each record, with optional tools Web search, Read web pages, CRM record and Knowledge

3, or 5 with Web search or Read web pages

  • The play's projected cost (on the step card and in the Test on 5 records ceiling) assumes the longest allowed prompt, so it can be higher than what a run actually charges. Runs charge the skill's real estimate.

  • Agent instructions can read your Knowledge sources at no extra cost.

  • For Employment check, the Invalid email counts as left policy can be set by asking Clu.

  • Skill outputs (for example {{play.first_line}} from Write) can feed later steps such as Add to sequence. More on each skill in Skills.

Logic steps

Branch

Routes records down 2 to 6 paths: If, Else if and Else. Each path has its own conditions on record fields, skill outputs or CRM data. A record goes down the first path it matches; the rest fall to Else, and leave the play if no step follows Else. Free.

Approve

Holds each record until a person approves or rejects it. Free. Full details in [Approvals](#approvals) below.

Wait

Setting

Options

For a time

Hours 1 to 72, Days 1 to 365, or Business days 1 to 60

Until a date

A Date field on the record, with Days before or after (up to 365 either way)

If the date is missing

Drop from the play or Continue on the next run

If the date has passed

Continue on the next run or Drop from the play

Waiting records show under Waiting records on the Runs tab. Free.

Code

Runs JavaScript to compute typed outputs from record fields you declare as inputs. Limits: up to 20,000 characters of code, 1 to 30 inputs, 1 to 12 typed outputs, 3 seconds per batch of records. Code has no network access, cannot import packages and cannot read secrets. Free.

Hand off

Sends records to another play of the same agent (Hand records to), which receives them with the Another play sends records trigger. New play creates the receiving play. Free.

CRM steps

CRM Action

Reads from or writes to Salesforce or HubSpot. Free (it uses your CRM's API calls, not credits).

Action

What it does

Sync

Matches the record and creates or updates it (Match and create or update), or always creates one (Create a new record). Record type: Use CRM default, Contact or Lead

Look up

Reads the matching CRM record (owner, link, related data) without writing

Update fields

Writes chosen fields: Fill only when empty, Overwrite when different or Always overwrite

Create task

Task type Call, Email or To do; Priority; Due date (Days after this run or An upstream date field); Create once per source record or per CRM target

Log note

Adds a note to the record

Add to campaign

Salesforce campaign (with an optional campaign member status); on HubSpot it reads Add to list

Set owner

Changes the record owner

Add contact role

Salesforce only

Owner assignment options: Keep current owner (your CRM defaults), Assign one specific owner, Round-robin across all owners, Round-robin across chosen owners, Account owner, Owner from a field, or Rules, each with an Otherwise fallback.

Write safety: Inherit CRM protections (the default, follows your CRM settings, for example leaving records a rep owns alone) or Allow updates to owned records.

Review duplicates and Merge duplicates

Used only by CRM cleanup plays with the CRM duplicates trigger. See CRM duplicate cleanup.

Output steps

Add to sequence

Send to: a Cleanlist sequence, or (on an agent's play) lemlist, Outreach or Salesloft. Free: sending costs no credits.

Cleanlist sequence

  • Pick a Sequence, or create a new one.

  • Values stores per-person text from earlier steps (for example a Write first line) that your sequence emails use as {{play.first_line}} or {{play.<value name>}}. A person missing a value a step needs is stopped with the reason, for example "Stopped: no first line written".

  • People who replied or were stopped in another sequence are skipped. People added to a draft sequence wait there and start when you launch it.

  • Needs access to Sequences.

lemlist, Outreach or Salesloft

  • Connect from the step: Connect lemlist and Connect Salesloft take an API key; Connect Outreach opens Outreach sign-in in a new tab. An organization admin makes the connection. These connections are not on the Integrations page.

  • Pick the Sequence and Status. Sender: Sequence default, Record owner or One user (lemlist uses the sequence default), with a fallback user (Outreach requires one).

  • If active in another sequence: Skip (default) or Add anyway.

  • People are skipped when they have no email, unsubscribed from Cleanlist sequences, have a risky or invalid email, are already in that sequence, opted out or bounced there, are active elsewhere (unless Add anyway), or have no mapped sender. Existing people in the sequencer are never updated.

Notify

Setting

Options

Send to

Slack (pick a channel) or Email (with a Subject)

Send (agent plays)

Summary (one message per run), Digest (one message listing the records), or Each record (one message per record)

Recipients (Digest and Each record)

The Slack channel or default email recipients, or Each record's owner, with a choice for owners who can't be reached (for example Skip the record)

Message limit

1 to 200 messages

Approve to sequence

Adds a Slack button to approve adding the people to a sequence. The button expires after 7 days.

Slack channels must be internal to your Slack workspace. Free.

Webhook

Sends records to your own https endpoint. Free.

Setting

Options

URL

https only

Send

Each record, or Batches with a Batch size of 1 to 100

Body

A default JSON body, or your own

Authentication Type

None, Bearer token, Custom header (with a Header name), Basic or HMAC signature, each using a Saved secret

Headers

Up to 10 extra headers (Add header)

Outputs

With Each record, read values from the response into typed outputs with a response path such as $.data.score

Calls per period

1 to 10,000 (default 1,000)

Use Send test to check the endpoint once the play is saved. Secrets come from Settings → Connections → Secrets; see [Secrets](#secrets).

Export to Google Sheets

Adds a row per record, or updates the matching row, in the Google Sheet and Tab you pick, with the columns you choose. Free.

Create a Google Doc and Notion steps

Create a Google Doc creates one doc per record. Add a page to a Notion database adds one page per record, and Update a Notion page updates the matching page. Free; the apps must be connected.

Brief

Scheduled briefs (an agent with a Schedule trigger and no record play) have a Brief step: one unattended Clu turn that writes the brief, then a Notify step that sends it. It is charged like a Clu message, up to the agent's Brief credits per run (default 100, at most 1,000). See Agents: Scheduled briefs.

Failures and retries

On an agent's play, open a step's On failure settings:

Setting

Options

Retry temporary failures

Off, Once, Twice or 3 times, retried after 1, 6 and 24 hours

If this step fails

Stop, Continue, or Error path (send the record down a separate path)

New Enrich and CRM Action steps on an agent's play retry 3 times by default. A retry restarts at the step that failed and never charges earlier steps again. Records waiting for a retry show under Waiting records on the Runs tab.

Play size limits

A play can have up to 50 steps, branches nested up to 10 deep, and is limited to 200 KB in size. Records parked by Wait, Approve, retries and Hand off are capped at 50,000 per play.

Approvals

The Approve step pauses records until a person decides. Approvals appear on the agent's Approvals tab, in the Approvals inbox and, if you choose, in Slack.

Approve step settings

Setting

Options

Who approves

Play owner, People (up to 10), or Record owner

Notifications

Slack, Email, or neither (decide in the app only)

Deadline

None, or After a number of days (1 to 30)

At the deadline

Reject (default) or Approve

Show fields, up to 8

The record fields approvers see

Approvers get one reminder after 24 hours. Approved records continue on the Approved path. Rejected records take the Rejected path, or leave the play if it has none.

Where to decide

  • Approvals inbox: on the Agents tab, click Approvals. Tabs Pending and Decided, with Refresh and Download CSV. Each row shows the agent, play, step, how long it has waited, and when it expires (or "No deadline"). Select rows and click Approve selected (N) or Reject selected, or open one with Review and approve / Review and reject.

  • The agent's Approvals tab: the same records for one agent, plus Approve all at this step (N). The tab appears only when a play has an Approve step or approvals are pending.

  • Slack: approvers linked to Slack get Approve and Reject buttons (with reasons Not a fit, Wrong timing, Already in touch, Wrong person), and Approve all.

When you confirm, Cleanlist explains what happens next ("Records continue on the saved Approved path." or "Records take the Rejected path. With no Rejected path, they leave the play.") and lets you add a Reason, optional. When you approve a single record, you can edit the fields shown before it continues, except emails, phones, LinkedIn URLs and IDs.

Who can decide

An approver listed on the step, or an organization admin. In Slack, only the linked approver can use the buttons. The agent must be on: inside a paused agent the Approvals tab shows "Turn the agent on to decide." With nothing pending, the inbox shows "No approvals waiting".

Secrets

Secrets hold tokens and keys for Webhook step authentication, so they never appear in a play or in chat.

  • Where: Settings → Connections → Secrets. Visible to organization admins in workspaces that have Agents.

  • Add secret: a Name (up to 80 characters) and a Value (up to 8,192 characters), then Save secret. "The value will be hidden after saving."

  • Saved secrets lists each secret with a short hint (•••• and the last characters) and when it was last used.

  • Archive removes a secret from use ("It will no longer be available for Webhook steps."). A secret that a Webhook step still uses cannot be archived.

  • Values are encrypted at rest. Only Webhook steps can use secrets; Code steps cannot.

Related


Did this answer your question?