- Signals first, sequences second
- The ten B2B buying signals, ranked
- The four signal sources Kiin runs
- How to build a signal-based sequence (job changes and funding rounds)
- How to add signals to an existing sequence
- Why the first step is automated
- Signal-based vs traditional cold outreach
- Tools that enrol prospects when a trigger fires
- Where LinkedIn Ads fit: the loop
- How Kiin runs it
- FAQ
The core principle: signals first, sequences second
Traditional cold outbound works like this: build a list, write a sequence, blast the list. The timing is arbitrary. You are reaching people based on who they are, not what they are doing.
Signal-based outbound flips it. You wait for a specific action — a signal — and trigger outreach while the signal is fresh. The prospect engaged with your content 30 minutes ago? That is when you reach out. They visited your pricing page this morning? That is the trigger. A VP of Marketing at a target account just liked a competitor's post about LinkedIn ads? That is intent.
The timing is better, the context is better, and the first line writes itself, because you can name the thing they did. That is the whole mechanism. Everything else on this page is plumbing.
What counts as a buying signal? The ten B2B signals, ranked
Not all signals are equal. A pricing-page visit and a job change are both "signals", but one says "I am evaluating this week" and the other says "I will have budget in two months". Here is how we rank them, what detects them, how fast they decay, and what the first message should reference. Strength is our judgement from running these flows across client accounts, not a measured conversion rate — the measured numbers are in the LinkedIn Ads section below.
| # | Signal | Detected by | Strength | Decays in | First message references |
|---|---|---|---|---|---|
| 1 | Pricing, demo or comparison page visit from a known company | Website visitor identification (RB2B, Warmly, Dealfront, Lead Forensics) + Clay | Highest | Hours | The page — "saw a few people from [company] on our pricing page this week" |
| 2 | Opened a lead gen form and did not submit | LinkedIn retargeting audience → conversation ad or list export | Very high | Days | The offer they opened |
| 3 | Engaged with your thought leader ad (like, comment, profile visit) | Trigify | High | Days | The post — "you commented on [name]'s post on X" |
| 4 | Engaged with a competitor's or an influencer's post on your topic | Trigify (topic listening) | High | Days | The topic, never the competitor |
| 5 | New in role at a target account (30–90 days in) | Clay job-change monitoring, UserGems, Champify | High | Weeks — but the window opens late | The role — "new heads of demand gen usually rebuild the channel mix in their first quarter" |
| 6 | Funding round announced | Clay (Crunchbase / news), Trigify | Medium-high | 2–4 weeks | The round and what it is usually spent on |
| 7 | Hiring for the role your product replaces or supports (SDRs, demand gen, RevOps) | Clay job-post monitoring | Medium | Weeks | The job post |
| 8 | Company engaging with your ads without a person identified | LinkedIn company engagement report (via the API) | Medium | Weeks | Nothing specific — this is warm outbound, not signal-based |
| 9 | Tech-stack change (added or dropped a tool you integrate with or compete with) | BuiltWith / Clay | Medium-low | Months | The tool |
| 10 | Third-party intent data (Bombora, G2, 6sense topic surges) | Intent provider | Low on its own | Weeks | Nothing — use it to prioritise, not to open |
Two rules fall out of the table. First, first-party signals beat third-party signals: something the prospect did with you (1–3) is worth more than something they did in general (9–10), because you can reference it. Second, decay decides the architecture: signals 1–4 need automation within hours; 5–7 can wait for a daily batch; 8–10 are prioritisation inputs for the list, not triggers for a message.
The four signal sources Kiin runs
1. Thought leader ad engagers. Trigify collects likes, comments, profile visitors and engagers from your thought leader ads. Clay filters for ICP fit, enriches with company and contact data, and pushes qualified people to LinkedIn outbound (HeyReach or Aimfox) and email (Instantly or Smartlead). A Slack notification pings the SDR. The first step is automated; the SDR only handles warm replies.
2. Website visitors. A visitor-identification tool names companies (and, in the US, often people) arriving from LinkedIn ad traffic and organic. Clay filters for ICP, finds the right contacts, enriches, and pushes to LinkedIn and email plus a Slack notification. Someone visited your pricing page from a thought leader ad click — that is the highest-intent signal on the list.
3. Topic listening. Trigify scrapes engagers on competitor posts, industry-influencer content and relevant topic discussions. A VP of Marketing liking content about LinkedIn ads might be considering running ads or changing agency. Clay filters out non-ICP contacts (including other agencies), enriches, and pushes to sequences.
4. Hiring and funding. Company just raised a Series A? A new Head of Demand Gen started last month? Clay monitors job changes and funding events, enriches company and contact data, and triggers outreach to the right people when budget is being allocated and decisions are being made. The build for this one is below.
How to build a signal-based outbound sequence, step by step (job changes and funding rounds)
This is the exact flow, using Clay as the orchestration layer. The same skeleton works for any signal; only the trigger and the message change.
The longer walkthrough with message templates is in how to build a signal-based sequence on job changes and funding rounds; this is the operating version.
Step 1 — Define the trigger precisely
- Job change: person matching your ICP titles (say, Head/Director/VP of Demand Gen, Marketing, Growth, RevOps) started a new role at a company matching your ICP firmographics (size band, industry, geography) between 30 and 90 days ago. Not day one — new hires spend the first month listening. Not month six — the channel mix is set by then.
- Funding round: ICP-matching company announced a Seed, A or B in the last 14 days, amount above your floor. Below Seed the budget is not real; above Series C the buying process is too slow for a trigger.
Step 2 — Detect it
In Clay, a scheduled table (daily is fine for these two signals) pulls: job changes via Clay's people-monitoring or a UserGems/Champify feed for your existing relationships; funding via the Crunchbase or news enrichment. Trigify can also surface both from LinkedIn posts ("excited to announce I've joined…", "we raised…"), which catches them earlier than databases do.
Step 3 — Filter for ICP before anything else
This is the step people skip and regret. Clay's ICP filter removes non-target titles, non-target company sizes, competitors, agencies, existing customers and open opportunities (pull the exclusion list from the CRM). Without it you send "congratulations on the new role" to a marketing intern and your own client's CMO.
Step 4 — Enrich with a waterfall
Work email via a waterfall (Clay tries several providers in order and stops at the first valid one), LinkedIn URL, company description, recent posts, one or two "why now" facts: the round size and lead investor, or the predecessor's tenure and what changed. These become merge fields; they are the difference between a templated message and a personalised one.
Step 5 — Route and sequence
Clay pushes the row via webhook to the outbound tool with the merge fields attached. The sequence itself is short:
| Day | Channel | Job-change version | Funding version |
|---|---|---|---|
| 0 | LinkedIn connection request, no note (or a one-line note if the platform allows) | Fires within hours of the trigger | |
| 1 | Email 1 | The role, one observation about what people in it usually rebuild first, one line on what you do, a soft ask | The round, what it usually gets spent on in your category, one line on what you do, a soft ask |
| 3 | LinkedIn message (if connected) | Two lines. Same angle, shorter. | |
| 6 | Email 2 | Social proof: one named customer, one number. No new pitch. | |
| 12 | Email 3 | The break-up, with a resource (a benchmark, a template) that is useful whether or not they reply. | |
Four touches over twelve days. Longer sequences to signal-triggered people lower reply rates, because the signal has decayed by touch five and you are now just cold email with a stale opener.
Step 6 — Hand off replies to a human
Every reply lands in Slack with the signal, the merge fields and the thread. The SDR's job starts here, not before. Anyone who replies is also suppressed from every other automated sequence — the number one way these systems embarrass you is two robots talking to the same person.
Step 7 — Measure by signal
Reply rate, meeting rate and pipeline per signal type, not per sequence. That is what tells you whether funding rounds are worth monitoring in your market or whether the job-change trigger should move to 45 days. Signal is the segment.
How to integrate signal data into an existing outbound sequence
You do not need a new sequence for every signal. If you already run cold sequences in Instantly, Smartlead, HeyReach or lemlist, do three things:
- Add a "signal" custom field and a "signal step 0". The field carries the signal type and the reference (the post, the page, the role, the round). Step 0 is a conditional first message that only sends when the field is populated; everyone else enters at the old step 1. One sequence, two entry points.
- Feed it by webhook from Clay. Clay's HTTP/webhook enrichment pushes the contact and the merge fields into the sequence tool's API; every tool above accepts inbound contacts with custom fields. No Zapier needed, though Zapier or Make work if you prefer them.
- Move signal contacts to the front of the queue and off other sequences. A person who just visited pricing should not sit behind 400 cold contacts in the daily send limit, and should not also be in a cold sequence. Suppress on entry.
The failure mode to avoid: bolting a "I noticed you visited our site" line onto an otherwise unchanged five-touch cold sequence. The signal earns you a better first message and a shorter sequence, not a creepier long one.
Why the first step is automated
Speed. Signals decay fast. A LinkedIn ad engagement from 30 minutes ago is hot. The same engagement from three days ago is cold. Automation fires within hours, not days.
No time-zone dependency. Your SDR team is in one time zone. Your prospects are everywhere. Automation does not sleep.
Personalisation at volume. Clay pulls company data, recent news, mutual connections and the signal itself into the first message without a human writing each one.
SDR morale. Following up on every signal manually is exhausting, and most signals do not reply. Automation handles the 90% that do not respond; the SDR handles the 10% who do — the warm conversations where a human adds value.
Signal-based outbound vs traditional cold outreach
| Traditional cold outbound | Signal-based outbound | |
|---|---|---|
| Who gets contacted | Everyone on a list that matches the ICP | ICP-matching people who just did something |
| When | When the sequence reaches them | Within hours of the signal |
| First line | About you, or a generic observation about them | About the thing they did |
| Volume | High, limited by sending infrastructure | Low, limited by how many signals you generate |
| Sequence length | 5–8 touches | 3–4 touches |
| What drives it | Data vendors and copywriting | Your own content and ads — signals are created, not bought |
| Where it fails | Reply rates in the low single digits, domain reputation, the whole category's decline | Not enough signals — which is a demand-generation problem, not an outbound one |
| Role of the SDR | Send, follow up, book | Reply, qualify, book |
Cold still has a role for a new segment where you have no content and no audience yet. But its reply rates have been falling for years, and the reason signal-based works is not that it is cleverer — it is that it is smaller, later and about them. The constraint moves from "how many emails can we send" to "how many signals can we generate", and that is the right constraint to have, because it is solved by the ads and content you are running anyway.
Which tools automatically enrol prospects into a sequence when a trigger fires?
The honest answer is that no single tool does the whole job well; the stack is three layers. Detection tools see the signal, an orchestration layer decides who qualifies and what to say, and the sequence tool sends. The full comparison, with what each tool is actually for, is in the best signal-based outbound and GTM tools; the short version:
- Detection — LinkedIn engagement: Trigify is the one built for it: it monitors posts (yours, competitors', topic keywords) and returns the people who engaged, with profiles. Phantombuster can scrape the same likes and comments, but it is a general-purpose scraper you schedule and maintain yourself; Trigify is a monitor that runs continuously and hands off to Clay. If you are doing this seriously, Trigify; if you are testing the idea for a month, Phantombuster is cheaper (the full comparison).
- Detection — website: RB2B (person-level, US), Warmly, Dealfront, Lead Forensics (company-level). All push to Clay or Slack.
- Detection — job changes and funding: Clay natively, UserGems and Champify for tracking past customers and champions who move, Crunchbase for rounds.
- Orchestration and enrichment: Clay, without much competition. Waterfall enrichment, ICP scoring, AI-written merge fields, webhooks out. Cargo and n8n are the alternatives if you want to own the workflow layer.
- LinkedIn sequencing: HeyReach (multi-account, built for agencies), Aimfox, La Growth Machine, Expandi, Dripify.
- Email sequencing: Instantly, Smartlead, lemlist, Apollo. All take inbound contacts by API with custom fields, which is what "automatic enrolment" means in practice.
What to ask of any tool in the chain: does it accept a webhook in, does it expose the fields you need out, and can it suppress a contact everywhere when they reply. Those three answers matter more than any feature list.
Where LinkedIn Ads fit: the loop
Signals are created, not bought. The reason Kiin runs outbound and LinkedIn Ads as one system is that the ads are the signal factory: thought leader ads to a defined account list produce engagers (signal 3), send people to the site (signal 1), and open lead gen forms (signal 2). The outbound layer harvests them. The data on the warm side of that loop is in our research: on LinkedIn, retargeting audiences produce 71% more leads per send than cold on conversation ads and open 18% more, and a retargeting pool books 55% of calendar-link clicks against 28% for an uploaded list. The same warmth that makes a conversation ad convert is what makes a signal-triggered email get a reply.
How the whole thing is built, from account list to signal-based outbound, is on the GTM outbound service page, and the six-flow version of the strategy is in the best GTM strategy for sales-led B2B SaaS.
The person who builds and runs all of the above is a GTM engineer — hired, fractional, or an agency.
How Kiin runs it
- Account list first. Every signal is filtered against a named list. If you cannot name the companies you want, you are not ready for signal-based outbound or for LinkedIn Ads.
- First-party signals over third-party. Ads engagement, site visits and form opens before intent data. We create the signals we act on.
- Automate touch one, humanise touch two. The first message is templated with real merge fields and fires in hours. A human takes over on reply.
- Four touches, twelve days. Signal sequences are short. If the signal did not earn a reply in four touches, the signal was weak; add them to warm outbound, do not add touches.
- Suppress aggressively. Customers, open opportunities, replies, competitors, agencies. One person, one sequence.
- Measure per signal type. Reply, meeting and pipeline by trigger, monthly. Kill the triggers that do not book.
- Run warm outbound alongside. Company-level ad engagement catches the accounts that never click.