Content · Claude Code skill

Unipile Campaign skill and the Yalc Framework

The campaign orchestration skill for LinkedIn outbound. Variant testing, daily caps, sequence advancement, and Notion sync built in.

Yalc Fit Score
10/10
License
MIT (Yalc)
Cadence
3 step (connect
Cap
30 connects/day
Last reviewed
2026-04-29
Trigger phrases

Say this to fire the Unipile Campaign skill

Any of these natural language phrases activates the skill inside Claude Code.

create outreach campaign
launch LinkedIn campaign
new campaign for these leads
start outreach for <list>
LinkedIn sequence for <prospects>
campaign for these prospects
What it does

Unipile Campaign, plainly

The Unipile Campaign skill takes a list of qualified prospects and a campaign hypothesis and runs a 3 step LinkedIn sequence: connection request, follow up DM 1, follow up DM 2. Each campaign supports multiple message variants for A B testing. Daily sends respect LinkedIn's behavioral limits (30 connects per day per account). Sequence state lives in Notion via the Campaigns DB.

Where the Unipile Outreach skill is the message verb, this skill is the campaign engine. It enforces cadence, manages variants, advances steps based on response state, and never re-sends to prospects who replied. Combined with the Yalc rule "skip DMs if prospect replied", you get a safe, hands-off LinkedIn outbound system.

Where it slots in

Position in the GTM operating system

Intake
Enrich
Score
Route
Draft
Send
Listen

The Unipile Campaign skill sits at the **send** node specifically for multi step LinkedIn sequences. It chains with `unipile-outreach` (the underlying message verb) and `notion-page-writer` (state writeback) to deliver outbound campaigns at scale.

The skill enforces three guardrails by default: 30 connects per day per account, no DM if the prospect replied, and variant rotation. These are non-negotiable for LinkedIn account safety.

The Yalc Framework

Running the Unipile Campaign skill end to end

Workflow position

The campaign engine. Yalc creates campaigns, this skill executes them daily within safety limits, advances prospects through the sequence, and writes outcomes to Notion.

Required inputs

  • → A connected Unipile LinkedIn account (use unipile-outreach skill to set up)
  • → Qualified leads list with LinkedIn URLs (typically from earleads-leads-qualification)
  • → Campaign hypothesis and 1 to 3 message variants per step
  • → Notion Campaigns DB and Unified Leads DB data source IDs

Outputs

  • → Notion campaign page with variants, schedule, and tracking
  • → Daily LinkedIn invite sends within the 30/day cap
  • → Sequence advancement (prospect moves from connect to DM1 to DM2 based on response)
  • → Reply log with intent classification, written back to Notion

Chaining recommendations

Upstreamearleads-leads-qualification (qualified leads) → unipile-campaign (create + run)
DownstreamUnipile inbox replies → Claude (intent classify) → Notion + HubSpot writeback

Anti patterns to avoid

Don't run 5 campaigns at once on the same LinkedIn account. The 30/day cap is global per account, not per campaign. Total volume across all running campaigns must stay under cap.
Don't send DM 2 to anyone who replied to DM 1. The skill's reply detector enforces this; never disable the gate.
Don't rotate variants without enough volume per variant. With small lists (under 50), pick one variant and stick to it. Variant testing only makes sense above 100 sends per variant.
Operator take

Pros, cons, who it's for

Pros

  • Multi step sequence (connect, DM1, DM2) with variant testing
  • Hard 30/day cap per account, enforced automatically
  • Reply detection prevents redundant DMs
  • Notion sync keeps the team aligned without dashboards
  • Battle tested across Earleads client campaigns since March 2026

Cons

  • LinkedIn-only. For email campaigns, use email-sequence skill or Instantly directly.
  • Requires Notion to be set up correctly (Campaigns DB plus Unified Leads DB)
  • 3 step max. Longer sequences require manual extension.
  • Single account per campaign. For multi-sender, route through HeyReach instead.

Who it's for

  • Yalc operators running LinkedIn outbound at 100 to 1000 prospects per campaign
  • Agency AMs running campaigns for clients with one LinkedIn account each
  • Founders running their own outbound from a single LinkedIn account
Dependencies

What this skill expects to find

Other skills

MCP servers

Environment variables

Requires Notion Campaigns DB (data source ID `dcacce4d-77a6-44a7-b7ff-1f7bf281e012`) and Unified Leads DB (data source ID `56e04a3e-a757-4714-b328-1e5910a80bb1`). The skill reads campaigns from the first, prospects from the second.

Related

The Unipile Campaign ecosystem inside Yalc

Alternatives

Skills that overlap

FAQ

Frequently asked

Why only 3 steps in the sequence?

Three steps (connect, DM1, DM2) is the LinkedIn safe pattern. Beyond that, response rates plummet and account flagging risk increases. Add value content posts between steps if you need more touches without messaging.

How does variant rotation work?

The skill assigns each prospect to a variant on first contact. The same prospect always sees the same variant across all 3 steps. Variants rotate round-robin across new prospects entering the campaign.

What happens if a prospect doesn't accept the connection?

They sit in the queue. The skill checks daily; if accepted, they move to DM1 cadence. If still pending after 14 days, the skill marks them as inactive and moves on.

Can I pause a campaign mid-sequence?

Yes. Update the Notion campaign status to "paused" and the next daily run skips the campaign. Resume by changing back to "active".

How are replies routed?

Replies surface in the unified Unipile inbox. The skill reads new replies daily, classifies intent via Claude, writes the classification to the prospect's Notion page, and prevents further DMs.

Does the skill respect time zones?

Send schedule respects the LinkedIn account's local time zone. The skill batches sends to the prospect's morning hours when timezone data is available, otherwise sends evenly through the workday.

Get the Unipile Campaign skill

Clone the Yalc skill set, drop in your env, run from your next Claude Code session.

gh repo clone Othmane-Khadri/YALC-the-GTM-operating-system && cp -r YALC-the-GTM-operating-system/.claude/skills/unipile-campaign ./.claude/skills/