Skip to content
← Back to documentation
Technical Reference

Woodpecker

Cold email automation tool for sales teams to send personalized outreach campaigns

CategorySales And Crm
Authenticationcustom
Version0.1.0
Published scopes0 published scopes
Last updatedSeptember 24, 2026

Overview

Connect Woodpecker with Flows360

Cold email automation tool for sales teams to send personalized outreach campaigns

Use the Woodpecker connector to include its declared actions and events in Flows360 workflows without duplicating the integration logic inside each consuming system. This pinned connector version currently exposes 6 actions and 20 triggers.

Available actions

  • Create/Update Prospect in Campaign
  • Create/Update Prospect
  • Blacklist Domain
  • Get Prospect Responses
  • Find Prospect by Email
  • Custom API Call

Available triggers

  • Prospect Replied
  • Prospect Blacklisted
  • Prospect Opt-out
  • Prospect Bounced
  • Prospect Invalid
  • Prospect Autoreplied
  • Plus 14 additional declared triggers.

The capability list above is generated from the exact reviewed connector package so the public description stays aligned with the version Flows360 operates.

Technical guide

Technical reference

Package identity

  • Connector: Woodpecker
  • Package: @activepieces/piece-woodpecker@0.1.0
  • Exact artifact digest: sha256:17fc3920c3641900fa6bc17c1a76bda13246ef24114c32027d06d356238d11f8
  • Runtime: Activepieces-compatible deterministic worker
  • Source: the exact reviewed Activepieces source

Authentication

SECRET TEXT. Connection values are tenant-specific and remain in the consuming Studio instance; CDK stores definitions and field metadata, not customer credential values.

Action contracts

  • Create/Update Prospect in Campaign (add_prospect_to_campaign), Adds a new prospect or updates existing prospect data in a campaign Classification: read.
  • Create/Update Prospect (add_prospect_to_list), Adds a new prospect or updates existing prospect in the global prospect list Classification: read.
  • Blacklist Domain (blacklist_domain), Add a domain to the blacklist to block sending to all prospects within that domain Classification: read.
  • Get Prospect Responses (get_prospect_responses), Fetch all responses from a specified prospect Classification: read.
  • Find Prospect by Email (find_prospect_by_email), Search for a prospect by their email address Classification: read.
  • Custom API Call (custom_api_call), Make a custom API call to a specific endpoint Classification: read.

Trigger contracts

  • Prospect Replied, webhook.
  • Prospect Blacklisted, webhook.
  • Prospect Opt-out, webhook.
  • Prospect Bounced, webhook.
  • Prospect Invalid, webhook.
  • Prospect Autoreplied, webhook.
  • Prospect Saved, webhook.
  • Prospect Nonresponsive, webhook.
  • Prospect Clicked a Link, webhook.
  • Prospect Opened an Email, webhook.
  • Prospect Interested, webhook.
  • Prospect Maybe Later, webhook.
  • Prospect Not Interested, webhook.
  • Campaign Email Sent, webhook.
  • Follow-up After Autoreply, webhook.
  • Secondary Replied, webhook.
  • Campaign Completed, webhook.
  • Task Created, webhook.
  • Task Done, webhook.
  • Task Ignored, webhook.

Verification

Deterministic execution evidence is recorded for the pinned artifact, including 1 exercised action entrypoint and 0 exercised trigger entrypoints.

Capability summary

Authenticationcustom
Supported objects26
Supported actions6
Triggers20

Authentication

Authentication method: custom

Authentication profiles

connection · custom
  • API Key Required · protected credential

Supported objects

ObjectReadWriteNotes
Create/Update Prospect in Campaign Yes No Adds a new prospect or updates existing prospect data in a campaign
Create/Update Prospect Yes No Adds a new prospect or updates existing prospect in the global prospect list
Blacklist Domain Yes No Add a domain to the blacklist to block sending to all prospects within that domain
Get Prospect Responses Yes No Fetch all responses from a specified prospect
Find Prospect by Email Yes No Search for a prospect by their email address
Custom API Call Yes No Make a custom API call to a specific endpoint
Prospect Replied Yes No webhook trigger declared by the pinned package.
Prospect Blacklisted Yes No webhook trigger declared by the pinned package.
Prospect Opt-out Yes No webhook trigger declared by the pinned package.
Prospect Bounced Yes No webhook trigger declared by the pinned package.
Prospect Invalid Yes No webhook trigger declared by the pinned package.
Prospect Autoreplied Yes No webhook trigger declared by the pinned package.
Prospect Saved Yes No webhook trigger declared by the pinned package.
Prospect Nonresponsive Yes No webhook trigger declared by the pinned package.
Prospect Clicked a Link Yes No webhook trigger declared by the pinned package.
Prospect Opened an Email Yes No webhook trigger declared by the pinned package.
Prospect Interested Yes No webhook trigger declared by the pinned package.
Prospect Maybe Later Yes No webhook trigger declared by the pinned package.
Prospect Not Interested Yes No webhook trigger declared by the pinned package.
Campaign Email Sent Yes No webhook trigger declared by the pinned package.
Follow-up After Autoreply Yes No webhook trigger declared by the pinned package.
Secondary Replied Yes No webhook trigger declared by the pinned package.
Campaign Completed Yes No webhook trigger declared by the pinned package.
Task Created Yes No webhook trigger declared by the pinned package.
Task Done Yes No webhook trigger declared by the pinned package.
Task Ignored Yes No webhook trigger declared by the pinned package.

Supported actions

Create/Update Prospect in Campaign · Read

Adds a new prospect or updates existing prospect data in a campaign

add_prospect_to_campaign · Risk: low · Retry: safe

Inputs

  • campaign_id · string · Required, Select the campaign to add prospects to
  • email · string · Required, Prospect email address
  • first_name · string · Optional
  • last_name · string · Optional
  • company · string · Optional
  • website · string · Optional
  • linkedin_url · string · Optional
  • tags · string · Optional, Tags starting with # separated by spaces (e.g. #VC #Startup)
  • title · string · Optional
  • phone · string · Optional
  • address · string · Optional
  • city · string · Optional
  • state · string · Optional
  • country · string · Optional
  • industry · string · Optional
  • status · string · Optional, Prospect status in the campaign
  • snippets · array · Optional, Custom snippets for personalization (supports HTML). Max 15 snippets.
  • send_after · string · Optional, Earliest date and time the prospect can be contacted
  • force · boolean · Optional, Add prospect even if their global status is not ACTIVE (use with caution)
  • file_name · string · Optional, Name of the import batch (visible in the imported column)
Create/Update Prospect · Read

Adds a new prospect or updates existing prospect in the global prospect list

add_prospect_to_list · Risk: low · Retry: safe

Inputs

  • email · string · Required, Prospect email address
  • update · boolean · Optional, If enabled, updates existing prospect data. If disabled, existing prospects remain unchanged.
  • first_name · string · Optional
  • last_name · string · Optional
  • company · string · Optional
  • website · string · Optional
  • linkedin_url · string · Optional
  • tags · string · Optional, Tags starting with # separated by spaces (e.g. #VC #Startup). Appends to existing tags when updating.
  • set_tags · string · Optional, Replaces all existing tags with these (only when updating). Use empty string to clear all tags.
  • title · string · Optional
  • phone · string · Optional
  • address · string · Optional
  • city · string · Optional
  • state · string · Optional
  • country · string · Optional
  • industry · string · Optional
  • status · string · Optional, Prospect status
  • snippets · array · Optional, Custom snippets for personalization (supports HTML). Max 15 snippets.
  • file_name · string · Optional, Name of the import batch (visible in the imported column)
Blacklist Domain · Read

Add a domain to the blacklist to block sending to all prospects within that domain

blacklist_domain · Risk: low · Retry: safe

Inputs

  • domain · string · Required, Domain to blacklist (e.g. example.com)
Get Prospect Responses · Read

Fetch all responses from a specified prospect

get_prospect_responses · Risk: low · Retry: safe

Inputs

  • prospect_id · number · Required, The unique ID of the prospect
  • campaign_id · string · Optional, Filter responses by campaign (optional)
Find Prospect by Email · Read

Search for a prospect by their email address

find_prospect_by_email · Risk: low · Retry: safe

Inputs

  • email · string · Required, Email address to search for (exact match or partial)
  • include_campaign_details · boolean · Optional, Include information about campaigns the prospect is enrolled in
Custom API Call · Read

Make a custom API call to a specific endpoint

custom_api_call · Risk: low · Retry: safe

Inputs

  • url · object · Required
  • method · string · Required
  • headers · object · Optional, Authorization headers are injected automatically from your connection.
  • queryParams · object · Optional, Appended to the URL as ?key=value.
  • body_type · string · Optional
  • body · object · Optional
  • response_is_binary · boolean · Optional, Enable for files like PDFs, images, etc.
  • failsafe · boolean · Optional, On a failed request, output the error instead of failing the step.
  • timeout · number · Optional, Seconds to wait for a response. Empty: up to the flow limit (10 min).
  • followRedirects · boolean · Optional, Follow 3xx redirects instead of returning them as the response.

Triggers

Prospect Replied · Webhook

Triggers when a prospect replies to an email or their status is manually set to RESPONDED

Prospect Blacklisted · Webhook

Triggers when a prospect is added to the blacklist

Prospect Opt-out · Webhook

Triggers when a prospect opts out from receiving emails

Prospect Bounced · Webhook

Triggers when an email to a prospect bounces

Prospect Invalid · Webhook

Triggers when a prospect email is marked as invalid

Prospect Autoreplied · Webhook

Triggers when an autoreply is detected from a prospect

Prospect Saved · Webhook

Triggers when a prospect is saved

Prospect Nonresponsive · Webhook

Triggers when a prospect is marked as nonresponsive

Prospect Clicked a Link · Webhook

Triggers when a prospect clicks a link in an email

Prospect Opened an Email · Webhook

Triggers when a prospect opens an email

Prospect Interested · Webhook

Triggers when a prospect is marked as interested

Prospect Maybe Later · Webhook

Triggers when a prospect is marked as maybe later

Prospect Not Interested · Webhook

Triggers when a prospect is marked as not interested

Campaign Email Sent · Webhook

Triggers when a campaign email is sent to a prospect

Follow-up After Autoreply · Webhook

Triggers when a follow-up is scheduled after an autoreply

Secondary Replied · Webhook

Triggers when a secondary email address replies

Campaign Completed · Webhook

Triggers when a campaign is completed

Task Created · Webhook

Triggers when a task is created

Task Done · Webhook

Triggers when a task is marked as done

Task Ignored · Webhook

Triggers when a task is ignored

Setup

Setup

  1. Add the Woodpecker connector to the workflow in the target Flows360 Studio instance.
  2. Create or select the tenant-specific connection required by the connector. Connection secrets remain in the Studio connection boundary and are not copied into CDK documentation.
  3. Provide the connection fields declared by the pinned package:
  • No provider credential fields are declared by the pinned package.
  1. Select the required action or trigger and complete its declared input fields. Required and optional inputs are defined by the exact package schema.
  2. Test the workflow in the appropriate environment before enabling production scheduling or event delivery.

Limitations

Limitations and operational notes

  • This content describes @activepieces/piece-woodpecker@0.1.0; provider behaviour can change independently and should be revalidated when the provider or connector version changes.
  • Only the 6 actions and 20 triggers declared by this pinned package are represented here.
  • Tenant credentials and connection values are not stored in the public connector record.
  • Provider-side permissions, account entitlements, quotas and rate limits remain subject to the connected provider account and are not inferred when the package does not declare them.
  • Deterministic execution evidence is recorded for the pinned artifact, including 1 exercised action entrypoint and 0 exercised trigger entrypoints.

Troubleshooting

Why canu2019t the connector authenticate?

Check the tenant connection in Studio and confirm every required Woodpecker connection field is present. Re-authorise OAuth-based connections if the provider token or consent has expired. Do not place credential values in CDK content or logs.

Why is an action or trigger unavailable?

Confirm that the workflow is using @activepieces/piece-woodpecker@0.1.0 and compare the requested capability with the declared action and trigger list for this version. A capability that is not declared by the pinned package should not be presented as supported.

What should I check after a provider-side change?

Revalidate authentication, required fields, action/trigger behaviour and provider documentation before publishing refreshed connector content or moving a new package version into production.