Skip to main content

Prospect replied

prospect_replied

This event is triggered whenever a prospect's response is detected or when their status is manually updated to RESPONDED. If a prospect who is already marked as RESPONDED sends another response, Woodpecker will detect it in your mailbox and trigger the webhook again.

The payload contains prospect data as well as the response content.

Payload

[
{
"method": "prospect_replied",
"prospect": {
"id": 1234567890,
"email": "erlich@bachmanity.com",
"first_name": "Erlich",
"last_name": "Bachman",
"company": "Bachmanity",
"website": "https://bachmanity.com",
"linkedin_url": "https://linkedin.com/erlich-bachman",
"tags": "#VISIONARY",
"title": "CEO",
"phone": "+1 987-654-321",
"address": "700 Welch Road",
"city": "Palo Alto",
"country": "United States",
"snippet1": "You are running a successful startup incubator Bachmanity",
"snippet2": "",
"snippet3": "",
"snippet4": "",
"snippet5": "",
"snippet6": "",
"snippet7": "",
"snippet8": "",
"snippet9": "",
"snippet10": "",
"snippet11": "",
"snippet12": "",
"snippet13": "",
"snippet14": "",
"snippet15": "",
"snippet_labels": {
"my snippet label": "You are running a successful startup incubator Bachmanity"
},
"industry": "IT",
"state": "California",
"last_contacted": "2025-03-20T14:32:34+0100",
"status": "REPLIED",
"in_campaign": 2,
"emails_sent": 3,
"imported": "saasinamerica.csv",
"interested": "INTERESTED",
"campaign_id": 123456,
"campaign_name": "SaaS in America",
"campaign_email": "jared.dunn@piedpiper.com",
"campaign_emails": [
"jared.dunn@piedpiper.com",
"richard.hendricks@piedpiper.com",
"jian@bachmanity.com"
],
"campaign_email_sent": 2,
"step": 2,
"step_type": "EMAIL",
"followup_after": "2025-03-22T00:00:00+0100"
},
"email": {
"id": 191867492,
"mail_id": 123321,
"subject": "Reply message subject",
"sender": "Erlich from Bachmanity",
"email": "erlich@bachmanity.com",
"date": "2025-03-21T20:47:40+0100",
"message": "reply content"
},
"timestamp": "2025-03-21T20:47:47+0100",
"firm_id": 456789
}
]
note

Campaign-related parameters (campaign_id, campaign_name, campaign_email, campaign_emails, campaign_email_sent) have values only if webhook was generated in a specific campaign.

Fields that do not have a value are returned as an empty string or null.

info

step_type field is not available in the payload if the status change was done manually on global (not campaign) level.

Similarly, email object contains the presented data only if an email response triggered the webhook. Otherwise it is an empty object.

Body schema

FieldTypeDescription
[].methodobjectWebhook event type
[].prospectobjectContains prospect data
  └─ idintegerUnique identifier of a prospect
  └─ emailstringProspect's email address
  └─ first_namestringProspect's first name
  └─ last_namestringProspect's last name
  └─ companystringProspect's company name
  └─ websitestringProspect's website URL
  └─ linkedin_urlstringProspect's LinkedIn profile URL
  └─ tagsstringTags associated with the prospect. Tags start with a # and are separated with a space
  └─ titlestringProspect's job title
  └─ phonestringProspect's phone number
  └─ addressstringProspect's address
  └─ citystringProspect's city
  └─ countrystringProspect's country
  └─ snippetstringProspect custom snippets. There are 15 snippet fields (snippet1 to snippet15)
  └─ snippet_labelsobjectCustom snippet labels
  └─└─ label_namestringKey - value pairs representing a snippet label and its value
  └─ industrystringProspect's industry
  └─ statestringProspect's state or region
  └─ last_contactedstringDate when the prospect was last contacted (ISO 8601 format)
  └─ statusstringProspect's status
  └─ in_campaignintegerTotal number of campaigns the prospect is enrolled in
  └─ emails_sentintegerTotal number of emails sent to the prospect from all campaigns
  └─ importedstringName of a file prospect was imported from
  └─ interestedstringProspect's Interest Level status. Available levels: INTERESTED, MAYBE_LATER, NOT_INTERESTED or ""
  └─ campaign_idintegerUnique identifier of the campaign
  └─ campaign_namestringName of the campaign
  └─ campaign_emailstringOne of the campaign sending email addresses. If multiple are used, refer to campaign_emails instead
  └─ campaign_emailsarray[string]List of campaign sending email addresses
  └─ campaign_email_sentinteger/nullNumber of emails sent from the specific campaign the webhook comes from
  └─ stepinteger/nullProspect's current step in campaign
  └─ step_typestring/nullStep type the prospect is currently on: EMAIL, MANUAL_TASK, LINKEDIN_DIRECT_MESSAGE. Null if a prospect hasn't been contacted yet. Not available in the payload if the status change was done manually on global (not campaign) level.
  └─ followup_afterstring/nullThe earliest date after which a prospect can be contacted. Primarily used for follow-ups after an autoresponse. Field is available only if its value was not null when the webhook was triggered.
[].emailobjectContains response data
  └─ idintegerUnique identifier of a response
  └─ mail_idstringID of the IMAP mailbox that received the message. Use v2/mailboxes for more information
  └─ subjectstringSubject line of the response
  └─ senderstringRespondent's name
  └─ emailstringRespondent's email address
  └─ datestringResponse date (ISO 8601 format)
  └─ messagestringResponse message in HTML format
[].timestampstringTimestamp of triggering the webhook (ISO 8601 format)
[].firm_idstringID of your Woodpecker account