Skip to content
← Processes

Outbound from buying signals

Each morning, companies with a new stack or hiring signal are scored on your rubric, checked against the CRM and live sequences, and given one opener per buyer.

TheirStack→Apollo.io→Jev→HubSpot→Lemlist→Serper→FullEnrich→Slack
Starts
Daily schedule
Steps
7
Checks and gates
0
A person decides
Never, runs alone

Trigger · Schedule

Daily schedule

Each morning the run opens on the signals of the day before, so a company that adopted the tool you plug into on Tuesday is in sequence on Wednesday.

Claude runs the rest autonomously

  1. 1

    AI builds the universe on stack and hiring.

    TheirStack

    TheirStack

    Companies that started running the tools you plug into, backed by more than one posting, and companies hiring for the pain you solve come back as one list with the detections behind it.

    Apollo.io

    Apollo.io

  2. 2

    AI scores on your rubric.

    Jev

    Jev

    Every company is scored on your profile written as closed questions, with a probability next to each answer, and the middle band goes to a person instead of a label.

  3. 3

    AI drops what the CRM or a sequence holds.

    HubSpot

    HubSpot

    A customer, an open deal, another rep's claim, a company inside the cool-off or a person already in any sequence leaves the list with its reason, before anything is bought.

    Lemlist

    Lemlist

  4. 4

    AI reads why now, matches the buyer.

    TheirStack

    TheirStack

    Each company's postings and news come back as signals with the exact sentence behind them, and the signal names which of your buyer roles to write to.

    Serper

    Serper

  5. 5

    AI finds the buyers, enriches their emails.

    Apollo.io

    Apollo.io

    Two people per company come back with a verified work email, false affiliations purged, and anyone already in a sequence stopped.

    FullEnrich

    FullEnrich

  6. 6

    AI picks the play, writes each opener.

    Your outbound playbook decides how many people to write to and in what order, and one opener per person is written from the signal, with only citable figures.

  7. 7

    AI fills the campaign, updates the CRM.

    Lemlist

    Lemlist

    Everyone with an email joins the paused campaign with their opener, each company gets one note with its signal and score, and the team gets the recap with every company that stopped and why.

    HubSpot

    HubSpot

    Slack

    Slack

The companies most likely to buy this quarter said so yesterday, without meaning to. One started running the tool your product plugs into. One opened three postings for the role your product exists for. Someone on the team reads a newsletter, notices one of them, looks it up in the CRM, finds the right person on LinkedIn, writes a note, and does this for one company a day when the list had forty. By the time the sequence starts, the signal is three weeks old, two of the companies were already customers, and one was being worked by a colleague.

Each half of this is already a system. The signals are published, by the tools companies run and the jobs they post. The CRM knows who is a customer and who has a deal open. The outreach tool knows who is already being written to. Your profile of a good customer can be written as questions a model answers with a probability, and your playbook for working an account is written down. The run is the join, done every morning on yesterday's signals, with every company it drops named and the reason beside it.

What you get

Every company that showed a buying signal yesterday is scored on your rubric with a probability next to the score, checked against the CRM, every running sequence and every rep's claims, mapped to its buyers with a verified email each, and in a paused campaign with one opener per person by the time the team sits down, with every company it dropped named and the reason beside it.

Where the buying signals come from, and how they are scored

Two sources, read for the day before and merged on the company's domain:

  • The stack, from TheirStack: companies that started running the tools yours plugs into, or their rivals, read at company level and kept only when more than one posting backs the detection. An agency or consultancy tagged with the tool because it sells work on it leaves here.
  • Hiring, from the same source: postings opened for the roles that mean a company needs what you sell. One posting is a signal; three for the same role is a stronger one.

Every company is resolved in Apollo for its description, headcount and ownership, then scored by Jev on one rubric: your ideal customer profile written as closed questions, answered with a probability rather than a paragraph. The run keeps what is clearly in, parks what is clearly out and sends the band between to a person. The score, the probability and the model's name stay on the company, which is what makes the threshold mean the same thing tomorrow.

The buyers are found in Apollo and their emails come back from the FullEnrich waterfall; the reason to write now comes from the postings read in full and from a news search through Serper. The CRM is HubSpot, the campaign lives in Lemlist, and the team hears about it in Slack.

What makes signal-based outbound hold up

The CRM is read before anything is bought, and not once but four times. A customer, by lifecycle stage on the domain and never the display name. An open deal, by pipeline and stage identifier and never a label that gets renamed. A company another rep has claimed, or that anyone touched inside the cool-off, from the team's own register. And, once people are found, a person already in any sequence in the workspace or sitting on an open deal as a CRM contact. A company that passes is claimed with the date, so the next morning and the next rep find it held. Two correct processes writing to the same person in one week, or two reps paying twice for the same company, are the failures this exists to prevent, and the recap names every company it stopped and why.

Nothing expensive is bought for a company that already failed a cheaper test. Sourcing is almost free, the rubric costs a fraction of a cent per company, the CRM reads are free, and only the companies that pass all of them reach a people search, a reveal or an enrichment credit. A company parked by the rubric or stopped by a check costs nothing further.

A signal is quoted or it is not a signal. Each company's postings are read in full, because the sentence worth quoting lives in the description, and each signal is kept with that sentence and its date. The signal also names the buyer: a company hiring its first sales manager is a message to the founder, a company that just adopted the tool you plug into is a message to whoever runs it.

One opener per person, from the source

Your outbound playbook says how many people to write to in a company of a given size, in what order, with what gap, and which signals warrant the full play. The run decides per company, names the rule, and sends a signal too weak on its own to the watchlist instead of to a sequence. Every opener is written fresh from the signal, two sentences and one question, in the person's language, with nothing the sources did not say, no figure your proof points do not mark citable and no customer not marked citable. A draft that fails either check is not written, and the row says why, which is a finding about your proof points rather than a failure of the run.

People are added to a campaign your team keeps paused, each with their opener, and the campaign's own report proves nothing left. Each company gets one note in the CRM with its signal, its score and the play chosen, and nothing else is written there. The team gets one recap: what each source returned, what passed the rubric, who is in the campaign, and the skipped line, every customer, open deal, claim, cool-off, person already in a sequence and company with no one to reach, each with its reason.

The prompt

The real prompt behind the steps above, detailed enough that an agent with the same tools can run it as written. The Run buttons copy the full version, which also carries the steps for connecting those tools.

# Outbound from buying signals

You have access to a job-posting and tech-stack source, a company and
people database, a scoring model, a CRM, an outreach tool, a web
search tool, an email enrichment waterfall, and a messaging tool. Run
this every morning for **[the signals of the day before]**.


## 1. Build the universe on stack and hiring

Two sources, one list, merged on the company's domain.

- **The stack.** From the tech-stack source, companies that started
  running **[the tools yours plugs into, and their rivals]** in the
  last week, in **[your countries and headcount band]**, in one call
  for the whole category. A detection resting on a single posting is
  one job ad, not a stack: keep only companies whose detection rests
  on **[at least two]** postings. A company whose industry is an
  agency or a consultancy is tagged with the tool because it sells
  work on it, and it leaves here.
- **Hiring.** From the same source, companies that opened a posting in
  the last day for **[the roles that mean a company needs what you
  sell]**. One posting is a signal; three for the same role is a
  stronger one, and the count is kept.

Resolve every company in the company database for its description,
headcount, founding year and ownership, ten domains per call. Keep
the record light: domain, name, headcount, industry, what was
detected and the postings behind it. Report the total each source
returned beside what was kept, so the team can see whether the
segment is bigger than the morning.

## 2. Score on your rubric

Send every company to the scoring model with the same rubric, in
batches: **[your ICP written as closed questions, for example: is
this company a buyer of what you sell, yes or no; which segment is it
in, one of your named segments or none; how well does it fit, on a
scale of 0 to 4]**. Send only the fields the judgement needs, never
the whole record.

Each answer comes back with a probability. Read it with two
thresholds: a fit above **[0.8]** is in, below **[0.4]** is parked,
and the band between goes to a person with the reasons, never forced
to a label. Store the score, the probability and the model's name on
the company, so the threshold is reproducible. A company parked here
costs nothing further: no search, no enrichment, no credit.

## 3. Drop what the CRM or a sequence holds

This is where most of the morning's list stops, and it stops before
anything is bought. Four checks, in order, on every company that
passed the rubric:

1. **A customer.** Match the domain against the CRM's companies, on
   the domain property and never the display name, and read the
   lifecycle stage. A customer leaves the list.
2. **An open deal.** Read the deals associated with each matched
   company, by pipeline and stage identifier, never by stage label.
   A company with an open deal leaves the list, and its owner gets one
   line saying it just showed a signal.
3. **Another rep's claim.** Read **[your claims register]**: a company
   claimed by another rep inside **[the claim window]**, on your
   exclusion list, or touched by anyone inside **[the cool-off after
   a touch]** leaves the list with that reason.
4. **A person already in a sequence.** Once people are found in step
   5, look each email up in the outreach tool's whole workspace, not
   one campaign, and against the CRM's contacts with their deals. A
   person already in a sequence, or a CRM contact on an open deal,
   stops.

A company that passes is claimed for this run's owner in the register
with the date, so the next morning and the next rep find it held.
Nothing billable is spent on a company this run has not claimed.

## 4. Read why now, match the buyer

For each claimed company, read its postings of the last **[90 days]**
in full, since the sentence worth quoting lives in the description,
and search the news of the last month for funding, expansion and
leadership changes. Keep each signal with the exact sentence it rests
on and its date. A signal with no quote behind it is not written.

The signal names the buyer: a company hiring its first sales manager
is a message to the founder, a company that just adopted the tool you
plug into is a message to whoever runs it. Write down which of
**[your buyer roles]** each signal points at. A company with no signal
is still worked; it opens on the segment instead of a reason.

## 5. Find the buyers, enrich their emails

Search the people database one domain per call, with the buyer roles
from step 4, the person's country and at most three candidates, and
keep **[two]** per company: the one the signal points at and one
beside them. Reveal each by their identifier, never by name plus
company, and read the contact record as well as the person record: an
address is usable only when both agree.

Send the misses to the enrichment waterfall as one job for the whole
morning, work emails only. Purge false affiliations: the email domain
belongs to the company, the employer returned matches it, and the
same person is not attached to two companies in this run. Then run
check 4 of step 3 on every email. A company where nobody resolves
keeps its claim and is reported for a person to find someone by hand.

## 6. Pick the play, write each opener

Read each company against **[your outbound playbook: how many people
to write to by segment, in what order, with what gap, and which
signals warrant the full play]**. Decide per company: the full
sequence, one person only, or the watchlist for a signal too weak on
its own. Name the rule.

Then write one opener per person: two sentences at most, the signal
first, quoted where it is a quote, and one question. In the person's
language. No pitch, no adjective about the company, nothing the
sources did not say, no figure your proof points do not mark citable,
no customer named that is not marked citable. A draft that fails
either check is not written, and the row says why.

## 7. Fill the campaign, update the CRM

Add each person with an email to **[the campaign your team keeps for
signal-based outbound]**, with their opener as the first-step
variable, deduplicated on email. That campaign is kept paused, and its
reports call proves it: the lead count up by the morning's people, and
nothing reviewed, in sequence or sent. If the campaign is found
running, add nobody and report that it was.

Write one note on each company in the CRM: the signal with its quote,
the score with its probability, the tier and the play chosen. Nothing
else: no property, stage, deal or owner. Create a company only when
the domain search came back empty.

Post one recap to the team: the universe against the total each
source returned, how many passed the rubric, how many were parked, and
every company that stopped with its reason, customers, open deals,
claims, cool-offs, people already in a sequence, unreachable, no
draft. The skipped line is how a rep finds out that half the segment
already belongs to someone else before the next morning repeats it.

## Output

Report: companies from each source against each source's total,
scores with their probabilities and the band sent to a person,
companies stopped at each of the four checks with their reasons,
signals found with their quotes, people found, emails verified and
purged, the play per company, drafts written and withheld, the
campaign and its paused state, and the notes written.

Why run it with Tulina

A prompt helps one person. A process moves a team.

Pasted into a chat, the prompt above works once, for whoever pasted it. In Tulina, "Outbound from buying signals" becomes a process the team shares, that keeps its history, runs on its own, and stays inside the same security perimeter as the tools it calls.

  • The whole team works on the same one

    PersonalTeamOrganisation

    A process lives where it belongs: yours, your team's or the whole organisation's. Whoever runs it can improve it, and everyone starts from the best version instead of explaining the job again.

  • Every edit is a version

    v1v2v3

    Each change is a new version with the previous one kept, so a bad edit is undone by restoring an earlier one. Every run records the version it followed, and what a run teaches goes back into the process.

  • It runs without you

    schedulewebhookon demand

    A hosted agent runs the process on Tulina's own infrastructure, on a schedule or when an event arrives, and keeps going when you close the chat. Nothing to host. Every run is tracked to its outcome.

  • Inside the same security perimeter

    vaultrolesrun log

    Credentials stay in the vault, never in the prompt. Roles decide who may run what, every call is logged, and a step a person has to approve waits for that person.

Questions about signal-based outbound prospecting

Yes, from sources that already publish them: the tools a company started running, read at company level and kept only when more than one posting backs the detection, and the roles it opened that mean it needs what you sell. Each signal is kept with its date and, when it is quoted in an opener, with the exact sentence it rests on.

With one rubric written as closed questions and sent to a scoring model that answers each with a probability rather than a paragraph: is this a buyer, which segment, how well does it fit on a scale. The run reads the probabilities with two thresholds, keeps what is clearly in, parks what is clearly out and sends the middle band to a person with the reasons. The score, the probability and the model's name stay on the company, so the threshold means the same thing tomorrow.

By reading the CRM, the outreach tool and the team's own claims before anything is bought, in four checks: a customer by lifecycle stage on the domain, an open deal by pipeline and stage identifier, a company claimed by another rep or touched inside the cool-off, and a person already in any sequence in the workspace or on an open deal as a CRM contact. A company that passes is claimed with the date, so two reps never pay for or write to the same person.

No. People are added to a campaign your team keeps paused, each with their own opener, and the campaign's own report proves nothing left. If that campaign is found running, the run adds nobody and says so. A person reads the campaign and launches it.

Processes that share tools with this one. The shared tools are lit.

See Tulina in a 30-minute demo.

Book a demo