Most B2B teams run LinkedIn outreach and cold email as two separate campaigns — different tools, different lists, different schedules, sometimes different people. Then they wonder why contacts go silent, or worse, why they respond asking to be removed because they received the same pitch twice on the same day from two different tools. The problem isn't the channels. It's that there's no system tying them together.
A coordinated multichannel outbound sequence — where LinkedIn and email share the same contact data, follow timing rules that prevent channel conflicts, and route every touch back into a single HubSpot timeline — consistently outperforms single-channel campaigns on reply rate and meeting booked rate. This guide covers the exact architecture: one Clay enrichment table feeding two export lists, how to configure Dripify for LinkedIn and Instantly for email, the conflict rules that prevent your channels from stepping on each other, and how every engagement signal ends up in HubSpot as a unified contact record.
Why Single-Channel Outbound Is Leaving Pipeline on the Table
The math on single-channel outbound is limiting before you send the first email.
LinkedIn-only sequences reach roughly 30% of any target account list — the subset that has an active LinkedIn profile, checks it regularly, and is reachable via connection request or InMail. Email-only sequences reach a different 40–60%, assuming you can find and verify work emails at scale. Run one channel and you're leaving the other half of your addressable market untouched.
The response rate picture makes the case stronger. According to HubSpot's 2024 State of Sales report, cold email reply rates average 2–5% for generic outreach sequences. LinkedIn connection acceptance rates for personalized requests average 20–35%, according to LinkedIn B2B Institute research on outreach effectiveness. The same decision-maker who files your email into the "maybe later" folder may accept your LinkedIn connection request within 48 hours — because LinkedIn feels more personal and the ask is smaller.
The deeper problem is what most "multichannel" setups actually look like in practice: two parallel single-channel campaigns targeting the same list with no coordination. The result is a prospect receiving a LinkedIn connection request on Monday and a cold email from the same company on Tuesday, each referencing a different hook, neither aware of the other. This reads as disorganized at best, and spam at worst.
B2B buyers require an average of 10–15 touchpoints before engaging with a vendor, according to Gartner. A coordinated multichannel outbound sequence is the only way to hit that number efficiently without burning channels.
The fix is treating LinkedIn and email as two output channels from a single data and orchestration layer. Instead of two campaigns fighting over the same list, you have one system that decides which channel fires when, prevents conflicts, and tracks everything in one place. That's what this guide builds.
For an overview of how signal-based outbound fits into the larger GTM picture, that post covers the signal detection layer that feeds this sequence.
Comparison: Single-Channel vs. Coordinated Multichannel Outbound Sequence
| Metric | LinkedIn Only | Email Only | Coordinated Multichannel |
|---|---|---|---|
| Avg reply rate | 3–8% (messages) | 2–5% | 8–15% |
| Contact coverage | ~30% of list | ~50% of list | ~70% of list |
| Channel conflicts | N/A | N/A | Eliminated by conflict rules |
| CRM data quality | LinkedIn activity only | Email activity only | Unified timeline in HubSpot |
| Sequence complexity | Low | Low | Medium (but systemized) |
The Architecture: One Clay Table, Two Output Lists
The entire system runs from a single Clay enrichment table. Every prospect lives in that table. Every signal gets detected and recorded there. Every decision about which channel fires and when is made there, and both Dripify (LinkedIn) and Instantly (email) receive their contact lists as filtered exports from that single source.
The Clay table has two distinct export filters:
Export List A — LinkedIn-ready contacts (fed to Dripify):
linkedin_urlis populated and validlinkedin_connection_status=not_senticp_score>= 7
Export List B — Email-verified contacts (fed to Instantly):
work_emailis populatedemail_verification_status=validemail_sequence_status=not_enrolledicp_score>= 7
Contacts can appear on both lists. That's intentional. The timing rules (covered in the Coordinating Timing section below) govern when each channel fires relative to the other. The goal isn't to run one channel per contact — it's to run both channels in a sequence designed so they don't collide.
For a deeper understanding of how to build the signal-based GTM system with Clay that feeds this table, that post covers the enrichment and signal-detection architecture in full.

The Clay Table Schema
These are the columns every Clay outbound table for a B2B multichannel sales cadence needs:
Identity columns:
first_name,last_name,company_name,titlelinkedin_url— required for Dripify exportwork_email— required for Instantly exportemail_verification_status— values:valid,invalid,risky,unknown. Use NeverBounce or Clay's built-in verifier. Onlyvalidcontacts go to Instantly.
Enrichment columns:
icp_score— Clay AI column. Prompt: score this contact 1–10 against your ICP criteria: [target company size range], [target industries], [title seniority], [tech stack signals]. Only contacts scoring 7+ enter either sequence.personalized_signal— a signal-based observation pulled from the contact or company (recent LinkedIn post, company news, hiring signal). Used as the personalization hook in the outreach message.
Status columns (updated by webhooks):
linkedin_connection_status— initial:not_sent. Updated tosent,accepted,declinedemail_sequence_status— initial:not_enrolled. Updated toenrolled,replied,bounced,unsubscribedlast_touch_channel— which channel fired most recently:linkedinoremaillast_touch_date— date of last touch from either channelconflict_status— the routing flag. Values:clear,linkedin_priority,email_priority,both_paused,archivedhubspot_contact_id— links the Clay row to the HubSpot contact record
Building the Clay Enrichment Table
Start with your target account list — the companies that match your ICP. Load them into Clay as the founding rows. From there, Clay handles the enrichment cascade.
Step 1: Waterfall Email Enrichment
Build a waterfall column for work_email that queries multiple providers in sequence and stops when it finds a valid result:
- Apollo — primary provider; best coverage for B2B emails
- Prospeo — strong secondary, especially for European contacts
- Hunter.io — domain-pattern-based fallback
- Claygent (Clay's AI search agent) — last resort for contacts with no direct data
After finding an email, immediately run it through the email_verification_status column using NeverBounce or Clay's built-in verifier. According to NeverBounce, email list validity decays at roughly 2–3% per month. Verify before sending, not after.
Step 2: LinkedIn URL Enrichment
Build a linkedin_url column using:
- Apollo or Prospeo (most reliable)
- Claygent as fallback — can search LinkedIn by name + company and return the URL
Add a formula column to validate the URL format (must start with linkedin.com/in/). Contacts with invalid LinkedIn URLs are excluded from the Dripify export.
Step 3: Build the ICP Scoring Column
Use a Clay AI column with a Claude API integration or Clay's built-in AI column. The prompt should encode your specific ICP criteria — not generic criteria. For example: "Score this contact 1–10 for fit against our ICP. ICP criteria: B2B SaaS company, 50–500 employees, US or Canada, VP or C-suite title in Sales or Marketing, company has raised Series A or B funding. Use the available columns to score. If you cannot determine a field, score it as 5."
Contacts scoring below 7 are filtered out of both exports. Don't send outreach to contacts your own system has flagged as low-fit.
Step 4: Set Up Status Columns
All five status columns (linkedin_connection_status, email_sequence_status, last_touch_channel, last_touch_date, conflict_status) should be initialized to their default values when a new row is added to the table. Use Clay automations to set these defaults on row creation. Webhooks from Dripify and Instantly will update them as the sequence progresses.
Setting Up the LinkedIn Sequence in Dripify
With the Clay table built and the Dripify export list filtered, import the LinkedIn-ready contacts into a Dripify campaign.
Import: Use Clay's CSV export (or direct Dripify integration via Zapier). The required Dripify columns are: first_name, last_name, linkedin_url. Optional: personalized_signal — mapped to a custom variable in Dripify for use in the connection note.
The 5-Touch LinkedIn Sequence
This 5-touch LinkedIn cold outreach automation sequence is designed around pace: each touch serves a different purpose in the connection and trust arc with the prospect.
| Day | Action | Notes |
|---|---|---|
| Day 1 | Profile view | Warms the prospect before the connection request; they see you visited |
| Day 3 | Connection request + personalized note | Note is 300 chars max; reference a signal from the personalized_signal column |
| Day 6 (if accepted) | First LinkedIn message | Short intro + specific value prop tied to their role or company context |
| Day 10 (if accepted) | Follow-up message | Different angle — share a relevant post, insight, or client result |
| Day 14 (if accepted) | Final message | Specific ask: "Open to a 15-minute call this week?" |
Daily limits: Stay under 100 connection requests per day and 150 messages per day. These are the practical safe limits that keep accounts below LinkedIn's automated activity detection threshold. Configure them in Dripify's campaign settings.
Webhook setup: In Dripify settings, connect a webhook to Clay (via Zapier or direct). On event type connection_accepted: update linkedin_connection_status to accepted in the Clay row. On connection_declined: update to declined. Trigger a separate Zap to log the event to HubSpot as an activity.
If a connection is declined, the contact stays in the Instantly email track unchanged. Dripify just stops sending follow-up messages to that contact.
For a full comparison of tools available for LinkedIn automation and email outreach, see this breakdown of the best B2B sales automation tools.
Setting Up the Email Sequence in Instantly
Export the email-verified contacts from Clay to Instantly. Use Clay's native Instantly integration to push contacts directly to a campaign, or export as CSV with the required columns: first_name, last_name, work_email, company_name.
The Dripify Instantly workflow here is straightforward: Clay feeds both tools from the same source list, filtered differently. What matters is that Instantly only receives contacts with a valid email verification status — never contacts marked risky or unknown.
The 5-Touch Email Sequence
| Day | Purpose | |
|---|---|---|
| Day 1 | Intro email: signal-based observation + problem statement | Subject: "Quick thought on [company_name]'s outbound" |
| Day 5 | Follow-up: different angle or resource | Reply thread for context continuity |
| Day 9 | Short bump: 2 sentences | "Did this land in a bad week? Happy to send something more relevant." |
| Day 14 | Proof point: case study or benchmark | "How a similar [industry] team added $[X] pipeline in 60 days" |
| Day 19 | Close the loop | "I'll stop reaching out — open to connecting down the road?" |
Email warmup: Run sending domains through Instantly's built-in warmup tool for a minimum of 30 days before launching cold sequences. A fresh domain sending 50 cold emails on day one will get marked as spam before the second email arrives. Deliverability benchmarks from Mailgun show that warmed domains land in the primary inbox roughly 3x more often than cold domains.
Sending limits: 30–50 emails per day per inbox during the first 60 days. Scale to 100/day after consistent inbox reputation is established. Use multiple sending accounts in Instantly if volume demands it — spread across the same sequence.
Webhook setup: Connect Instantly webhooks to update Clay on events: replied (update email_sequence_status to replied), bounced (update to bounced), unsubscribed (update to unsubscribed). All three events should also trigger a HubSpot activity log via Zapier.
Coordinating Timing: The Channel Conflict Rules Matrix
A LinkedIn email cadence B2B teams can scale requires explicit rules about which channel takes priority when. Without them, both tools fire independently and the "multichannel" sequence is just two single-channel sequences targeting the same people.
These rules run through the conflict_status column in Clay. Every export from Clay to Dripify and Instantly checks this column before including a contact.
The Channel Conflict Rules
| Trigger | Rule | Action in Clay |
|---|---|---|
| LinkedIn connection accepted before Day 4 email | Suppress Day 4–6 emails; switch to LinkedIn message track | Set conflict_status = linkedin_priority |
| Email reply received | Pause LinkedIn sequence | Set conflict_status = email_priority; flag for sales follow-up |
| LinkedIn message reply received | Pause email sequence | Set conflict_status = linkedin_priority; flag for sales follow-up |
| Email hard bounce | Remove from both sequences | Set conflict_status = archived; email_sequence_status = bounced |
| Connection request declined | Continue email track only | linkedin_connection_status = declined; email track continues unchanged |
| No response after 30 days on both channels | Archive | Set conflict_status = archived; do not re-enroll for 90 days |
Implementing the Rules in Clay
Add a formula column called conflict_status that evaluates the status columns together:
IF(email_sequence_status = "replied", "email_priority",
IF(linkedin_connection_status = "accepted" AND last_touch_channel = "linkedin", "linkedin_priority",
IF(linkedin_connection_status = "declined", "email_priority",
IF(email_sequence_status IN ["bounced", "unsubscribed"], "archived",
"clear"))))
The Dripify export filter: conflict_status IN ("clear", "linkedin_priority")
The Instantly export filter: conflict_status IN ("clear", "email_priority")
With this in place, a contact who replies to an email is automatically removed from the next Dripify export. A contact whose connection was accepted gets prioritized for LinkedIn follow-up and temporarily removed from the email track. No manual intervention required.

Routing All Signals Back to HubSpot
The sequence is only useful if a sales rep picking up a warm lead knows what's happened. Every touch from both channels needs to land on the same HubSpot contact record in the right order.
HubSpot Contact Properties to Create
Add these custom properties to the HubSpot Contact object:
linkedin_connection_sent_date(date)linkedin_connection_status(single-line text or dropdown)linkedin_last_message_date(date)email_sequence_enrolled_date(date)email_last_open_date(date)email_last_click_date(date)last_touch_channel(single-line text)multichannel_sequence_status— rollup field:in_sequence,replied,meeting_booked,archived
Integration Architecture
Dripify to HubSpot: Dripify has a native HubSpot integration. Enable it and map event types to HubSpot activities: connection sent, connection accepted, message sent, reply received. These appear on the contact's activity timeline in HubSpot.
Instantly to HubSpot: Instantly also has a native HubSpot integration. Map events: email sent, email opened, email clicked, email replied, unsubscribed. Same destination — the contact activity timeline.
Clay to HubSpot: Use Clay's HubSpot sync to push ICP score and status columns to the contact record. Configure sync to trigger on field change, not on a fixed schedule.
The result: A sales rep opening a HubSpot contact record for a warm lead sees the full LinkedIn email outbound sequence history: LinkedIn connection accepted on Day 3, LinkedIn message sent and read on Day 6, cold email sent Day 1 (opened but not clicked), follow-up email opened Day 5, no reply after 30 days. Full context, one screen, before the first call.
Frequently Asked Questions
Q: What is a multichannel outbound sequence?
A multichannel outbound sequence is a coordinated sales cadence that reaches prospects across multiple channels — typically LinkedIn and email — on a timed schedule designed to maximize response without channel conflicts. Unlike running two separate campaigns, a true multichannel sequence uses a single data layer to synchronize touches across channels and prevent the same prospect from receiving redundant or conflicting messages.
Q: How many touches should a B2B multichannel outbound sequence have?
Most effective B2B multichannel sequences run 8–12 total touches across 21–30 days, distributed between LinkedIn and email. Gartner research on B2B buying behavior indicates buyers require an average of 10–15 supplier touchpoints before engaging. The goal is reaching that number across channels without concentrating too many touches in one day or one channel.
Q: What is the best tool for LinkedIn cold outreach automation?
Dripify is the most reliable LinkedIn automation tool for B2B teams running multichannel sequences at scale. It handles connection requests, message sequences, and profile views on a schedule that stays within LinkedIn's daily activity limits. When combined with Clay as the data enrichment source, Dripify receives a pre-filtered, pre-scored contact list ready for sequencing — no manual uploads or list cleaning required.
Q: How do you prevent LinkedIn and email touches from conflicting in an outbound sequence?
The answer is a conflict_status column in your Clay enrichment table that evaluates both linkedin_connection_status and email_sequence_status and sets a routing flag. Export filters for both Dripify and Instantly check this flag before including a contact. When a connection is accepted, the contact moves to linkedin_priority and the email track pauses. When an email reply comes in, the contact moves to email_priority and the LinkedIn track pauses.
Q: Can Clay feed both Dripify and Instantly at the same time?
Yes. A single Clay enrichment table outputs two filtered export lists: one filtered for LinkedIn-ready contacts with valid LinkedIn URLs (fed to Dripify) and one for email-verified contacts (fed to Instantly). Both exports draw from the same underlying enrichment data. The conflict status column ensures that the same contact doesn't get aggressive outreach on both channels simultaneously.
Q: How do you track multichannel outbound activity in HubSpot?
Both Dripify and Instantly have native HubSpot integrations that log activity directly to the contact's timeline. Configure both integrations to log to the same contact record — Dripify logs LinkedIn events, Instantly logs email events. Add custom contact properties for each channel's key status fields, and use Clay's HubSpot sync to push ICP score and sequence status. The result is a unified contact timeline that shows both channels' history in chronological order.
Build the System Once, Run It at Scale
Single-channel outbound isn't just less effective — it's structurally incapable of reaching the full addressable market. A coordinated multichannel outbound sequence solves that by running LinkedIn and email from a single Clay data layer, with explicit conflict rules and full HubSpot attribution on every touch.
The build takes one afternoon to configure: set up the Clay table schema, build the two export filters, connect Dripify and Instantly via webhooks, configure HubSpot to receive activity from both, and write the conflict status formula. After that, the system runs contact enrichment, ICP scoring, conflict detection, and cross-channel sequencing automatically.
The question isn't whether to run multichannel outbound. It's whether to run two siloed campaigns or one coordinated system.
Take the GTM Maturity Assessment to see where your current outbound infrastructure stands and what to build next.
Sources
- HubSpot, State of Sales 2024 — benchmark data on cold email reply rates and time spent on selling activities
- Gartner, The B2B Buying Journey — research on touchpoints required before B2B buyer engagement
- Mailgun, Email Deliverability Best Practices — inbox placement rates for warmed vs. cold sending domains
- NeverBounce, Email List Decay Research — email validity decay rate of 2–3% per month
- LinkedIn B2B Institute, Outreach Effectiveness Research — LinkedIn connection acceptance rates for personalized outreach

