Skip to main content

Available tools

Campaign management

createEmailCampaign

Create a Woodpecker email campaign with one email step and minimal configuration.

ParameterTypeDescription
namestring, optionalCampaign name
timezonestringCampaign timezone
dailyEnrollintegerDaily prospect enrollment limit
emailAccountIdsarraySMTP account IDs
versionsarrayEmail content versions (max 5)
deliveryTimesobjectDelivery times
followupAfterobject, optionalDelay before processing the next step

createLinkedinProfileVisitCampaign

Create a Woodpecker LinkedIn campaign with one profile visit step.

ParameterTypeDescription
namestring, optionalCampaign name
timezonestringCampaign timezone
dailyEnrollintegerDaily prospect enrollment limit
linkedinAccountIdintegerLinkedIn account ID
followupAfterobject, optionalDelay before processing the next step

createLinkedinConnectionRequestCampaign

Create a Woodpecker LinkedIn campaign with one connection request step.

ParameterTypeDescription
namestring, optionalCampaign name
timezonestringCampaign timezone
dailyEnrollintegerDaily prospect enrollment limit
linkedinAccountIdintegerLinkedIn account ID
bodyVersionsarray, optionalConnection request message versions (max 5; empty/null sends the connection request without a message)
followupAfterobject, optionalDelay before processing the next step

createLinkedinDirectMessageCampaign

Create a Woodpecker LinkedIn campaign with one direct message step.

ParameterTypeDescription
namestring, optionalCampaign name
timezonestringCampaign timezone
dailyEnrollintegerDaily prospect enrollment limit
linkedinAccountIdintegerLinkedIn account ID
bodyVersionsarrayDirect message content versions (max 5)
followupAfterobject, optionalDelay before processing the next step

listCampaigns

Retrieve campaigns with optional status filtering.

ParameterTypeDescription
pageNumberintegerPage number (1-based)
statusesarrayFilter by status (RUNNING, DRAFT, EDITED, PAUSED, STOPPED, COMPLETED)

retrieveCampaignDetails

Get detailed campaign structure including all steps and configurations.

ParameterTypeDescription
campaignIdintegerCampaign ID

retrieveCampaignStatistics

Fetch campaign performance metrics and analytics.

ParameterTypeDescription
campaignIdintegerCampaign ID

updateCampaignSettings

Modify campaign-wide settings including name, email accounts, daily limits and timezone.

ParameterTypeDescription
campaignIdintegerCampaign ID
namestring, optionalCampaign name
emailAccountIdsarray, optionalList of email account IDs
timezonestring, optionalCampaign timezone
dailyEnrollintegerDaily enrollment limit

buildCampaignUrl

Generate Woodpecker app URL for campaign access.

ParameterTypeDescription
campaignIdintegerCampaign ID

Campaign control

runCampaign(campaignId) - Start campaign execution

pauseCampaign(campaignId) - Pause campaign

stopCampaign(campaignId) - Stop campaign

deleteCampaign(campaignId) - Remove campaign entirely

makeCampaignEditable(campaignId) - Enable campaign modifications

Step management

addEmailStep

Add an email follow-up step to an existing campaign.

ParameterTypeDescription
campaignIdintegerCampaign ID
parentIdstringParent step ID
versionsarrayEmail content versions (max 5)
deliveryTimesobjectDelivery times
followupAfterobject, optionalDelay before processing the next step

addLinkedinProfileVisitStep

Add a LinkedIn profile visit follow-up step to an existing campaign.

ParameterTypeDescription
campaignIdintegerCampaign ID
parentIdstringParent step ID
linkedinAccountId integerLinkedIn account ID
followupAfterobject, optionalDelay before processing the next step

addLinkedinConnectionRequestStep

Add a LinkedIn connection request follow-up step to an existing campaign.

ParameterTypeDescription
campaignIdintegerCampaign ID
parentIdstringParent step ID
linkedinAccountId integerLinkedIn account ID
followupAfterobject, optionalDelay before processing the next step
bodyVersionsarray, optionalConnection request message versions (max 5; empty/null sends the connection request without a message)

addLinkedinDirectMessageStep

Add a LinkedIn direct message follow-up step to an existing campaign.

ParameterTypeDescription
campaignIdintegerCampaign ID
parentIdstringParent step ID
linkedinAccountId integerLinkedIn account ID
followupAfterobject, optionalDelay before processing the next step
bodyVersionsarrayDirect message content versions (max 5)

updateCampaignStep

Modify step delivery times and scheduling.

ParameterTypeDescription
campaignIdintegerCampaign ID
stepIdstringStep ID
payloadstringUpdated delivery configuration

updateEmailStepVersion

Update email content, subject lines, signatures and tracking settings.

ParameterTypeDescription
campaignIdintegerCampaign ID
stepIdstringStep ID
versionIdstringVersion ID
subjectstringEmail subject
messagestringEmail body (HTML supported)
signaturestringSENDER or NO_SIGNATURE
trackOpensbooleanEnable open tracking

updateLinkedinStepVersion

Update LinkedIn connection request or direct message content.

ParameterTypeDescription
campaignIdintegerCampaign ID
stepIdstringStep ID
versionIdstringVersion ID
messagestringEmail body content

deleteCampaignStep

Remove steps from campaigns.

ParameterTypeDescription
campaignIdintegerCampaign ID
stepIdstringStep ID

Prospect management

addProspectsToDatabase

Adds new prospects to your global prospect list without enrolling them in any campaign.

ParameterTypeDescription
prospectsPayloadstringArray of prospect objects

Notes:

  • Prospects are added to your account but not to any campaign
  • Available for future campaign enrollment
  • Useful for building a prospect database before campaign creation

addProspectsToCampaign

Bulk add prospects with full contact information and custom snippets.

ParameterTypeDescription
campaignIdintegerCampaign ID
prospectsPayloadstringArray of prospect objects

Note: Always check for DUPLICATE prospects in response. Use updateProspectsInCampaign for duplicates if data updates are needed.

updateProspectsInDatabase

Updates existing prospects in your global database or adds new ones if they don't exist.

ParameterTypeDescription
prospectsPayloadstringArray of prospect objects

Notes:

  • Existing prospects are updated based on email address
  • New prospects are added if email doesn't exist
  • Only include fields you want to update
  • Updates apply globally (affects all campaigns using these prospects)

updateProspectsInCampaign

Update existing prospect data (requires explicit user request).

ParameterTypeDescription
campaignIdintegerCampaign ID
prospectsPayloadstringArray of prospect objects

listProspectsInDatabase

Lists prospects from your global prospect database (not tied to any specific campaign).

ParameterTypeDescription
pageNumberintegerPage number (1-based)

Notes:

  • Returns paginated results of all prospects in your account
  • These prospects can be added to any campaign
  • Useful for managing your overall prospect database

listProspectsInCampaign

Paginated retrieval of campaign prospects.

ParameterTypeDescription
campaignIdintegerCampaign ID
pageNumberintegerPage number (1-based)

searchProspects

Searches for prospects that match specific criteria across your entire database.

ParameterTypeDescription
pageNumberintegerPage number (1-based)
searchCriteriaobject (optional)JSON object with search parameters
filterCriteriaobject (optional)JSON object with additional filters

Available search fields:

  • email - Email address
  • first_name - First name
  • last_name - Last name
  • company - Company name
  • organization_id - Organization ID
  • industry - Industry
  • website - Website URL
  • tags - Tags (case-sensitive, without leading #)
  • title - Job title
  • phone - Phone number
  • address - Street address
  • city - City
  • state - State/Province
  • country - Country
  • snippet1 through snippet15 - Custom fields

Available filter fields:

  • id - Comma-separated list of prospect IDs
  • status - Prospect's global status: ACTIVE, BOUNCED, REPLIED, BLACKLIST, INVALID
  • campaigns_id - Comma-separated list of campaign IDs that prospects are enrolled in
  • contacted - Whether a prospect has ever been contacted
  • interested - Interest level: INTERESTED, MAYBE-LATER, NOT-INTERESTED, NOT-MARKED

Notes:

  • Tag searching is case-sensitive, don't use leading # when searching by tags
  • Search criteria uses OR for same field, AND for different fields
  • To filter OPT-OUT prospects, use "BLACKLIST" status
  • Multiple filter values are comma-separated

deleteProspects

Permanently deletes prospects from your database and/or specific campaigns.

ParameterTypeDescription
prospectIdsstringComma-separated list of prospect IDs to delete
campaignIdsstring (optional)Comma-separated list of campaign IDs from which to remove prospects

Notes:

  • Without campaignIds: Deletes prospects globally from your entire database
  • With campaignIds: Removes prospects only from specified campaigns
  • This action is permanent and cannot be undone
  • Requires explicit user confirmation before execution
  • Use prospect IDs (not email addresses) obtained from list/search operations

Warning: Global deletion removes prospects from all campaigns and your database. Local deletion (with campaignIds) only removes them from specified campaigns while keeping them in your global database.

Account management

listMailboxes

Retrieve available email accounts for campaign assignment.

ParameterTypeDescription
filter stringFilter to use when listing mailboxes (SMTP, IMAP, ALL)

listLinkedinAccounts

Retrieve available LinkedIn accounts for campaign assignment.

ParameterTypeDescription
filter stringFilter to use when listing accounts (AVAILABLE_FOR_CAMPAIGN, ALL)