Your First Campaign
This guide walks you through running your first outbound campaign using GTM Skills, from building your company context to sending emails. Expect 2-3 hours for a 200-company campaign.What You’ll Build
By the end, you’ll have:- Company context file with ICP, voice, and proof points
- 200+ qualified target companies
- Enriched data for personalization
- Segmented and tiered prospect list
- 150+ generated emails ready to send
Prerequisites
Get Extruct API Token
Sign up at extruct.ai and grab your API token. Free trial includes 100 credits.
Campaign Workflow
Step 1: Build Company Context
Start with the context-building skill to capture your ICP, voice, and proof points.| Section | What to provide | Example |
|---|---|---|
| What We Do | Product one-liner, key numbers | ”API-first company search engine. 50M+ companies indexed.” |
| Voice | Sender name, tone, constraints | ”From: Sarah Chen. Tone: technical peer. No superlatives.” |
| ICP | Target profiles with sizes | ”B2B SaaS, 20-200 people, US/EU, selling to enterprise” |
| Win Cases | 2-3 happy customers | ”Acme Corp uses us for supplier discovery. 10K searches/mo.” |
| Proof Library | Ready-to-paste PS sentences | ”PS. Shopify runs 50K lookalike searches/mo to find acquisition targets.” |
The context file lives at
claude-code-gtm/context/{company}_context.md and all other skills read from it.Step 2: Build Your Target List
Use list-building to find 200-500 companies matching your ICP. Option A: Start from a win case (recommended)Step 3: Enrich for Personalization
Add 3-5 research columns to segment and personalize.- Create AI agent columns
- Run enrichment (1 credit per cell)
- Monitor progress
- Show you a quality spot-check
Step 4: Generate Hypothesis Set
Create pain hypotheses based on your ICP and win cases.claude-code-gtm/context/{vertical-slug}/hypothesis_set.md
Example hypothesis:
Step 5: Segment and Tier
Match companies to hypotheses and assign tiers.| Tier | Criteria | What happens |
|---|---|---|
| Tier 1 | Strong fit + data-rich + clear hook | Personalized email + review |
| Tier 2 | Medium fit or data-rich | Templated email |
| Tier 3 | Weak fit or missing data | Hold for re-enrichment |
Step 6: Find Decision Makers
For Tier 1 + Tier 2 companies, find the right people.Step 7: Get Verified Emails
Enrich LinkedIn profiles with verified emails.- Ask for your Prospeo API key
- Run enrichment in batches
- Report hit rate (expect 60-80%)
- Save to
claude-code-gtm/csv/input/{campaign}/contacts.csv
Step 8: Build Email Prompt
Create a self-contained prompt template for this campaign.- Context file (voice, value prop, proof library)
- Hypothesis set (pain mechanisms, evidence)
- Enrichment columns (for personalization rules)
claude-code-gtm/prompts/{vertical-slug}/en_first_email.md
Step 9: Generate Emails
Run the prompt against your contacts CSV.claude-code-gtm/csv/output/{campaign}/emails.csv
Quality checks:
- Word limits respected
- Enrichment data actually used (not generic)
- Proof points vary per recipient
- Example queries are specific to each vertical
Step 10: Review Tier 1 Emails
For Tier 1 companies, run response simulation.- Generic phrasing
- Weak hooks
- Confusing value prop
- Proof points that don’t resonate
Step 11: Upload to Sequencer
Load finalized emails into your email sequencer.- Map CSV fields to Instantly lead schema
- Create or find campaign
- Upload leads with dedup
- Show pre-send checklist
- Email accounts connected and warmed
- Sending schedule set (timezone, daily limits)
- Custom variables rendering correctly
- Unsubscribe link present
- Reply handling enabled
File Structure After Campaign
After Sending: Feedback Loop
After 1-2 weeks, import campaign results.- Add a row to Campaign History
- Update Active Hypotheses (promote winners, demote losers)
- Update Proof Library based on new learnings
Next Steps
- Managing Multiple Verticals - Scale to multiple ICPs
- Feedback Loops - Import results to improve campaigns
- Environment Setup - Configure API credentials
Troubleshooting
Low enrichment hit rate (less than 50%)- Tighten your ICP - too broad means low data coverage
- Try different enrichment prompts
- Run a second enrichment pass with different agent type
- Try a different contact enrichment provider
- Run a waterfall (two providers)
- Focus on larger companies (better data coverage)
- Add more enrichment columns before segmentation
- Relax tier thresholds
- Re-run list building with tighter filters