woodpecker-campaign

SKILL.md

Woodpecker Campaign Setup Skill

This skill provides the definitive workflow for creating a Woodpecker campaign using the V2 API and correctly enrolling prospects using the V1 API, ensuring visual linkage and account signatures.

Quick Start

  1. Get your API Key from Woodpecker (Settings > Marketplace > API keys).
  2. Find your Email Account ID (needed for campaign creation).
  3. Use the scripts in this skill to automate the 2-step process.

Key Findings & Gotchas

  • API Splitting: Campaign creation should use V2 (/rest/v2/campaigns). Prospect enrollment MUST use V1 (/rest/v1/add_prospects_campaign).
  • The Linkage Secret: To make prospects appear in the Woodpecker dashboard for a V2 campaign, you must nest the campaign_id inside a campaign object in the enrollment payload.
  • Signature Handling: Setting "signature": "SENDER" in the V2 step body uses the account's configured professional signature automatically.
  • Status & Force: Always set prospect status to ACTIVE and use force: True in the enrollment payload to override any prior global status.

Workflow Patterns

1. Create Campaign (V2)

Endpoint: POST https://api.woodpecker.co/rest/v2/campaigns Header: X-API-KEY: YOUR_KEY

{
  "name": "Campaign Name",
  "email_account_ids": [123456],
  "settings": {
    "timezone": "Europe/Paris",
    "daily_enroll": 50
  },
  "steps": {
    "type": "START",
    "followup": {
      "type": "EMAIL",
      "body": {
        "versions": [{
          "subject": "{{SNIPPET_2}}",
          "message": "<div>Bonjour {{FIRST_NAME}},<br><br>{{SNIPPET_1}}</div>",
          "signature": "SENDER"
        }]
      }
    }
  }
}

2. Enroll Prospects (V1)

Endpoint: POST https://api.woodpecker.co/rest/v1/add_prospects_campaign Header: X-API-KEY: YOUR_KEY

{
  "campaign": {
    "campaign_id": 2418XXX
  },
  "force": true,
  "prospects": [
    {
      "email": "lead@example.com",
      "status": "ACTIVE",
      "snippet1": "Personalized Message",
      "snippet2": "Dynamic Subject"
    }
  ]
}

Troubleshooting

  • 200 OK but campaign is empty: Check your payload nesting. Ensure campaign_id is inside {"campaign": {"campaign_id": ...}}.
  • Signature not showing: Verify "signature": "SENDER" is in the step version body and that the email account has a signature set in Woodpecker.
  • Prospects added to list but not campaign: This happens if the campaign object is missing from the V1 call.
Weekly Installs
2
First Seen
Feb 16, 2026
Installed on
amp2
gemini-cli2
antigravity2
github-copilot2
codex2
kimi-cli2