Skip to content
NewSee how
Improvement

See which leads are waiting on your review

Leads held back for your review now appear in campaign analytics and in your contact list, so a campaign that looks quiet tells you it is waiting on you rather than looking broken.

Leads that are held back waiting for your approval now show up in campaign analytics and in your contacts view, with a count and a reason.

What changed

A campaign can hold a lead back for review instead of sending to it. That is the behaviour you asked for when you turned review on, and it works correctly. The problem was that a held lead was invisible. It was not in the sent numbers, not in the failed numbers, and not flagged anywhere you would naturally look.

The result was a campaign that appeared to be doing nothing. You would open analytics, see a send count lower than expected, and have no way to tell whether the campaign had stalled, run out of leads, hit a connector problem, or was simply waiting on you. Three of those need urgent attention. The fourth needs two minutes of clicking approve.

Held leads now appear as their own group in campaign analytics, with a count you can click into. The same leads carry a visible status in your contacts view, so you can find them from either direction. The status says why the lead is held, not only that it is.

How to use it

Open any campaign's analytics. If leads are being held for your review, you will see them counted separately from sent, opened, and replied. Click the count to see which leads they are.

From there you can review the drafted email for each one and approve it, edit it before approving, or skip the lead entirely. Approving releases the email into the normal sending schedule, which means it goes out in the next available send slot rather than immediately.

You can also work from the other direction. Your contacts view now shows the held status on the individual contact, so if you are looking at a particular prospect and wondering why nothing has gone out to them, the answer is on the record itself.

If you see a large number of held leads and you did not expect review to be on, check the campaign's settings. Review is a per campaign setting, and it is easy to leave on from a test run and forget about it before a larger send.

Why it matters

A silent hold is worse than a visible failure. When a campaign fails loudly you go and fix it. When a campaign quietly does less than you expected, you tend to assume the product is underperforming, and the assumption sits there for days.

We saw this in practice. Campaigns with review turned on looked like campaigns with a delivery problem, and the natural response was to check connectors, check the schedule, check the lead list, and find nothing wrong with any of them. The actual answer was a queue of drafts waiting on an approval that nobody knew was pending.

Making the hold visible turns a debugging session into a task. The count tells you how much work is waiting. The reason tells you whether it needs your judgement or a settings change. Neither requires you to go looking.

Reading the reason

A lead can be held for more than one reason, and the reason changes what you should do about it.

A lead held because the campaign has review enabled is waiting purely on your approval. Nothing is wrong. Read the draft, approve or edit, move on.

A lead held because the draft did not clear the quality bar is a different situation. The email was written and then judged not good enough to send. Approving it manually is possible, but it is worth reading the draft first, because a low scoring draft usually means the research behind it was thin.

A lead held because something it depends on is missing, such as a connector that has disconnected, will clear on its own once you fix the underlying thing. Approving the individual leads is not the fix in that case.

What this does not change

Review still holds emails in exactly the same way it did before. Nothing about the approval rules, the ordering, or the sending behaviour has changed. The only difference is that the held leads are now countable and findable from the screens you already use.

If you had review turned on and were seeing lower send numbers than expected, those leads were never lost. They were queued, and they are still queued. You will now see them, and you can work through the backlog whenever you are ready.

Working through a backlog

If you find a large queue waiting, do not approve it in one pass without reading. A backlog that built up over weeks usually contains drafts written against research of varying quality, and the weakest of them are the ones most worth catching.

Read a sample of ten first. If they are consistently good, the rest almost certainly are too, and you can move quickly. If two or three of the ten are thin, that tells you something about the research on that campaign, and it is worth looking at the lead list before releasing the rest.

Skipping a lead is a real option and it is often the right one. A prospect whose draft has nothing specific to say about them is a prospect who will read the email as a template. Removing them from the campaign costs you nothing and protects the domain you are sending on.

Deciding whether to keep review on

Review earns its keep at two moments. The first is a new campaign, where you are checking that the instructions you wrote produce the emails you expected. The second is a campaign aimed at prospects who matter enough that a weak email would be expensive.

For everything else it is worth turning off once you trust the output, because a review queue you do not work through is a campaign that does not send. The visible count now makes that trade explicit. You can see the cost of leaving review on, rather than discovering it in a send number that looks lower than it should.

All updates

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.