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
Field | Type | Description |
---|---|---|
[].method | object | Webhook event type |
[].prospect | object | Contains prospect data |
└─ id | integer | Unique identifier of a prospect |
└─ email | string | Prospect's email address |
└─ first_name | string | Prospect's first name |
└─ last_name | string | Prospect's last name |
└─ company | string | Prospect's company name |
└─ website | string | Prospect's website URL |
└─ linkedin_url | string | Prospect's LinkedIn profile URL |
└─ tags | string | Tags associated with the prospect. Tags start with a # and are separated with a space |
└─ title | string | Prospect's job title |
└─ phone | string | Prospect's phone number |
└─ address | string | Prospect's address |
└─ city | string | Prospect's city |
└─ country | string | Prospect's country |
└─ snippet | string | Prospect custom snippets. There are 15 snippet fields (snippet1 to snippet15 ) |
└─ snippet_labels | object | Custom snippet labels |
└─└─ label_name | string | Key - value pairs representing a snippet label and its value |
└─ industry | string | Prospect's industry |
└─ state | string | Prospect's state or region |
└─ last_contacted | string | Date when the prospect was last contacted (ISO 8601 format) |
└─ status | string | Prospect's status |
└─ in_campaign | integer | Total number of campaigns the prospect is enrolled in |
└─ emails_sent | integer | Total number of emails sent to the prospect from all campaigns |
└─ imported | string | Name of a file prospect was imported from |
└─ interested | string | Prospect's Interest Level status. Available levels: INTERESTED , MAYBE_LATER , NOT_INTERESTED or "" |
└─ campaign_id | integer | Unique identifier of the campaign |
└─ campaign_name | string | Name of the campaign |
└─ campaign_email | string | One of the campaign sending email addresses. If multiple are used, refer to campaign_emails instead |
└─ campaign_emails | array[string] | List of campaign sending email addresses |
└─ campaign_email_sent | integer/null | Number of emails sent from the specific campaign the webhook comes from |
└─ step | integer/null | Prospect's current step in campaign |
└─ step_type | string/null | Step type the prospect is currently on: EMAIL , MANUAL_TASK , LINKEDIN_DIRECT_MESSAGE . Null if a prospect hasn't been contacted yet |
└─ followup_after | string/null | The 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_prospect | object | Contains 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 |
└─ id | integer | Unique identifier of a secondary prospect |
└─ email | string | Secondary prospect's email address |
└─ tags | string | By default, secondary prospects will have a tag #SECONDARYEMAIL |
└─ status | string | By default, secondary prospects have the status BLACKLIST assigned |
[].timestamp | string | Timestamp of triggering the webhook (ISO 8601 format) |
[].firm_id | string | ID of your Woodpecker account |