Use Case

Build a full outbound campaign in one prompt

Going from 'I want to reach VPs of Engineering at Series B SaaS companies' to actually sending personalized emails takes 5 tools and 3 hours: build the list, enrich contacts, verify emails, write copy, import to sequencer. Every step is a different tool, a different tab, a different billing model.

The 5-tool problem

Building an outbound campaign manually looks like this:

  1. Apollo or LinkedIn Sales Nav to build the list
  2. Hunter or Prospeo to find emails
  3. ZeroBounce or NeverBounce to verify
  4. ChatGPT or Claude to write personalized lines
  5. Instantly or Lemlist to send

Each tool has its own login, billing model, and export format. A 200-contact campaign takes 2-3 hours of tab-switching.

How to build a campaign in one prompt

Step 1: Describe your ICP

Tell Claude Code
Find 50 VPs of Engineering at Series B US SaaS companies with 100-500 employees. Enrich via waterfall for verified emails. Generate a personalized first line for each. Push to my Instantly campaign 'Eng Leaders Q2'. Start with 5 as a pilot.

Claude Code reads the Deepline campaign builder skill and runs:

deepline enrich --input icp-search.csv --output campaign.csv \
  --with 'contacts=apollo_org_search:{"person_titles":["VP Engineering"],"num_employees_ranges":["100-500"]}' \
  --with-waterfall email \
  --with 'verify=leadmagic_email_validation:{"email":"{{email}}"}' \
  --with 'personalize=deeplineagent:{"prompt":"Write a 15-word personalized opener for {{first_name}} at {{company}}"}' \
  --rows 0:4

Step 2: Review the pilot

Deepline runs 5 contacts first. You see:

  • Each contact with verified email
  • The personalized first line
  • Credits used
Tell Claude Code
Looks good. Run the full list and push to Instantly.

Step 3: Scale to full list

Claude Code continues with the full run and sequences:

deepline enrich --input icp-search.csv --output campaign.csv \
  --with 'contacts=apollo_org_search:...' \
  --with-waterfall email \
  --with 'verify=leadmagic_email_validation:...' \
  --with 'personalize=deeplineagent:...'

deepline enrich --input campaign.csv --with instantly_add_to_campaign --payload '{"campaign_id":"eng-leaders-q2"}'

Results land in your sequencer ready to send.

What happens under the hood

StageWhat Deepline does
List buildingApollo search filtered to your ICP criteria
Email enrichmentWaterfall across 10+ providers, cheapest first
VerificationLeadMagic or IPQualityScore validation
PersonalizationClaude writes a one-sentence opener per contact
Sequencer pushInstantly, Smartlead, or Lemlist API import

Cost breakdown

Campaign sizeCreditsManaged mode cost
50 contacts30-40~$3-4
200 contacts120-150~$12-15
500 contacts300-400~$30-40

Personalization adds ~0.1 credits per contact. Sequencer push is free.

Who uses this

  • GTM engineers building repeatable outbound systems
  • Founders running founder-led sales
  • Agencies spinning up campaigns across multiple clients

Deploy as a weekly workflow

Once the one-off works:

Tell Claude Code
Deploy this as a workflow that runs every Monday at 8am.

Claude Code deploys:

deepline workflows deploy eng-leaders-campaign --trigger cron --schedule "0 8 * * MON"

Fresh leads, fresh personalization, every week. Run history in the dashboard.

Common questions

Frequently Asked Questions

1Can I customize the personalization prompt?+

Yes. Add instructions: 'Reference their company's recent funding round if available. Keep it under 15 words.'

2What sequencers are supported?+

Instantly, Smartlead, Lemlist, HeyReach. More coming.

3What if my ICP is more specific?+

Add filters: 'Must be hiring engineers. Must use Snowflake or dbt.'

Campaign builder flow: ICP to list to enrichment to personalization to sequencer

Try this yourself

Install the CLI and run this use case in under 5 minutes.