- Real outreach.
campaigns.runstarts contacting the campaign’s prospects. It also resumes a paused or stopped campaign. - Pause and stop.
campaigns.pauseandcampaigns.stopboth halt contact untilcampaigns.runis called again; they differ in the status they leave the campaign in. - Adding prospects can partly succeed.
prospects.addToCampaignreturns a result per prospect, and an entry withstatus: 'ERROR'was not added.DUPLICATEis not an error. If none could be added, Woodpecker answers 400: the call throws aWoodpeckerCoAPIErrorwhosebody.prospectsholds the reasons. force. Prospects whose global status is notACTIVEare rejected unless you passforce: true, and with it they may be contacted again even after replying elsewhere or opting out.- Deleting a step.
campaigns.deleteStepneeds the campaign inDRAFTorEDITEDstatus and the step’s ID. Both come from Woodpecker’s campaign API (POST v2/campaigns/{id}/make_editableandGET v2/campaigns/{id}), which this plugin does not wrap yet. A deleted step cannot be restored. - Rate limits. Woodpecker runs one request at a time per account and queues six more for up to 15 seconds each. Anything past that is dropped, with a 429 on v2 and a 409
E_TOO_MANY_REQUESTSon v1. The plugin retries both up to three times with backoff. Every other 409 is a real conflict and is not retried. - Paging.
prospects.listInCampaignsreturnsnext_page, which stays set while pages come back full, so a full last page leads to one empty page. Woodpecker’sX-Total-Countheader is not exposed. - Webhooks. The plugin does not receive webhooks.
webhooks.listEventslists the event types from Woodpecker’s docs without calling the API.
- 8 typed API operations
Setup
1
Install
2
Add the plugin
corsair.ts
corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
No setup required yet. When you make your first request as a tenant, Corsair prompts for the API key.More: API Key
4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
List running campaignsWhat’s next
API reference
Every
woodpeckerco.api.* operation with input and output types.Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.