Skip to main content

Secondary response

secondary_replied

This event is triggered whenever a secondary response is detected. prospect object contains the data of a prospect you contacted in a campaign; secondary_prospect contains the data of a person who responded from a different email.

The payload contains prospect data and the secondary prospect's data. If you'd like to fetch the response content, use the responses endpoint.

Payload

[
{
"method": "secondary_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": "",
"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"
},
"secondary_prospect": {
"id": 1234567896,
"email": "jian@bachmanity.com",
"first_name": "",
"last_name": "",
"company": "",
"website": "",
"linkedin_url": "",
"tags": "#SECONDARYEMAIL",
"title": "",
"phone": "",
"address": "",
"city": "",
"country": "",
"snippet1": "",
"snippet2": "",
"snippet3": "",
"snippet4": "",
"snippet5": "",
"snippet6": "",
"snippet7": "",
"snippet8": "",
"snippet9": "",
"snippet10": "",
"snippet11": "",
"snippet12": "",
"snippet13": "",
"snippet14": "",
"snippet15": "",
"snippet_labels": {
"my snippet label": ""
},
"industry": "",
"state": "",
"last_contacted": "",
"status": "BLACKLIST",
"in_campaign": null,
"emails_sent": null,
"imported": "",
"interested": "",
"campaign_id": "",
"campaign_name": "",
"campaign_email": "",
"campaign_emails": "",
"campaign_email_sent": null,
"step": null,
"step_type": null
},
"timestamp": "2025-03-21T20:47:47+0100",
"firm_id": 456789
}
]
note

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

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
  └─ 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.
[].secondary_prospectobjectContains secondary prospect's data. Contains the same fields as the prospect object but most of them are empty strings or nulls (as shown in the example body). Only fields that will always contain a value are described below
  └─ idintegerUnique identifier of a secondary prospect
  └─ emailstringSecondary prospect's email address
  └─ tagsstringBy default, secondary prospects will have a tag #SECONDARYEMAIL
  └─ statusstringBy default, secondary prospects have the status BLACKLIST assigned
[].timestampstringTimestamp of triggering the webhook (ISO 8601 format)
[].firm_idstringID of your Woodpecker account