Aller au contenu
NouveauDécouvrir comment
Amélioration

Fewer leads get stuck waiting for research

Leads whose research could not complete used to wait indefinitely and never receive a first email. They are now released after a limit and written from what is known.

Leads no longer wait forever for research that is not going to finish. After a limit, a lead is released and its email is written from whatever is known, rather than holding the lead out of the campaign indefinitely.

What changed

Before writing a first email, the product researches the prospect: their site, their company, what they do. Better research produces a better email, so waiting for it is the right default.

The waiting had no end. A lead whose research kept failing stayed held, and held leads never enter the sending queue. They sat in the campaign, counted in its total, and never received anything.

This was invisible in the obvious places. The campaign looked healthy, the leads looked present, and the only symptom was a send count that never reached the list size. On a campaign of any real size, a shortfall of a few percent looks like ordinary attrition.

Research holds now have a ceiling. When a lead reaches it, the hold is released, the email is written from what is available, and the lead enters the queue like any other. The record shows the research was incomplete, so a thin email has an explanation attached.

Why it matters

A lead that never receives anything is worse than a lead that receives an average email. The average email might work. The absent one certainly does not, and it consumed a place on the list and whatever the lead cost to acquire.

The economics only go one way here. Holding costs a guaranteed zero. Sending a less personalised email costs a lower expected response than a well researched one, which is still considerably better than nothing.

There is a compounding effect too. Held leads accumulate. A campaign running for weeks builds a growing population of leads that will never be contacted, and each one is a small permanent loss rather than a delay.

How to use it

Nothing to configure. Ceilings apply automatically.

A lead released after incomplete research shows that on the lead, so you can see which emails were written from thin information.

If research failed for a reason since fixed, retry it. A lead whose site was down during a genuine outage is worth researching again, and the retry starts fresh.

What a thin email looks like

It leans on what is verifiable rather than inventing specifics. Where a well researched email can reference something particular about the company, a thin one talks about the category and the problem, and does not pretend to knowledge it does not have.

That is a real downgrade in expected response, and it is a deliberate one. The alternative, filling gaps with plausible sounding guesses, is far worse: a confident sentence about the wrong company ends the conversation immediately and permanently.

The writing rules apply either way. An email cannot claim a fact that research did not establish, whatever the state of the research.

When research fails

Websites go down, and a site that is unavailable during the research window produces nothing.

Some sites cannot be read at all. Pages built entirely in the browser, sites behind aggressive bot protection, and single page applications that serve an empty shell to anything that is not a full browser all defeat straightforward reading.

Some companies have almost no public information. A small business with a one page site simply does not have much to find, and no amount of retrying changes that.

Where the ceiling sits

High enough that a genuine outage is survived. A site down for an afternoon does not cost the lead its research, because the retries span longer than that.

Low enough that a lead is not held for days. The whole point is to bound the wait, and a ceiling generous enough to never bite would be no ceiling at all.

Different kinds of failure get different ceilings, since a timeout and a site that does not exist deserve different amounts of patience.

Held leads that were already stuck

Leads that had been sitting in a research hold when this went out were released rather than left there. Some of them had been waiting for a long time.

That produced a burst of sending on affected campaigns as a backlog cleared. Sending limits and windows still applied, so nothing went out faster than the campaign was configured to allow, but the daily volume on those campaigns was at its ceiling for a few days.

Where the research behind a long held lead had aged past the point of being useful, it was refreshed before writing rather than used as it was. A stale fact is worse in an email than no fact.

Reading the campaign afterwards

The most direct check is the send count against the list size. Those two should now converge as a campaign completes, where before a persistent gap was normal.

Where a gap remains, the campaign explains it. Suppressed addresses, bounced ones, and leads still legitimately in progress all account for part of a list that has not been sent to.

What should no longer appear is a gap with no explanation attached, which was the whole shape of this problem.

Retrying research yourself

Where you know the cause has cleared, a lead can be researched again from the lead itself, and the retry gets a fresh set of attempts rather than resuming an exhausted count.

This is worth doing selectively rather than in bulk. A lead whose site was down during a genuine outage is a good candidate. A lead whose company has no website at all is not, and retrying it produces the same empty result at the same cost.

The recorded reason is the guide. If it names a timeout or an unreachable site, a retry is plausible. If it says nothing usable was found, more attempts will find the same nothing.

Availability

Live now on all plans, applied to leads currently held as well as new ones.

Toutes les nouveautés

Une prospection qui continue quand vous vous déconnectez.Leads, emails, relances et réponses, gérés.

Connectez des boîtes illimitées et laissez les agents IA trouver les leads, écrire chaque email et relancer. Ou envoyez vos propres modèles en mode manuel. À partir de $29/mois.

$1 pour 3 jours · Annulez quand vous voulez · Sans engagement

Installer avec l'IA

Votre agent de code installe la CLI et les skills FirstSales pour vous.

Prompt pour 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.