Webhooks

Coldreach can send real-time HTTP POST notifications to your server when key events occur. Configure webhook URLs in your Coldreach settings to start receiving events.

Overview

Webhooks let you react to events in Coldreach without polling the API. When an event fires, Coldreach sends a JSON payload to your configured URL via HTTP POST with a Content-Type: application/json header.

WebhookTrigger
New OpportunitiesNew qualified accounts are discovered for your campaigns
First TouchThe first email in a sequence is sent to a contact
Positive ReplyA positive reply is received from a contact

Setting Up Webhooks

  1. Go to Settings > Notifications in the Coldreach app
  2. Find the webhook you want to enable
  3. Click Setup and enter your endpoint URL
  4. Coldreach will send a POST request to your URL whenever the event occurs

Your endpoint must return a 2xx status code. Non-2xx responses are treated as failures.

New Opportunities Webhook

Triggered when Coldreach discovers new qualified accounts matching your campaign criteria. This is typically evaluated on a weekly basis.

Configure this under New Opportunities > Webhook in your notification settings.

First Touch Webhook

Triggered when the first email in a sequence is sent to a contact. Useful for syncing outreach activity to your CRM or triggering downstream workflows.

Payload

{
  "fullName": "Jane Smith",
  "firstName": "Jane",
  "lastName": "Smith",
  "email": "[email protected]",
  "linkedInURL": "https://linkedin.com/in/janesmith",
  "companyName": "Acme Corp",
  "companyWebsiteURL": "https://acme.com",
  "companyDescription": "Enterprise SaaS platform for...",
  "companyLocation": "San Francisco, CA",
  "campaignId": 123,
  "campaignName": "Series B SaaS Companies",
  "subject": "Quick question about Acme",
  "body": "Hi Jane, I noticed that..."
}

Fields

FieldTypeDescription
fullNamestringContact's full name
firstNamestringContact's first name
lastNamestringContact's last name
emailstringContact's email address
linkedInURLstringContact's LinkedIn profile URL
companyNamestringCompany name
companyWebsiteURLstringCompany website URL
companyDescriptionstringCompany description from LinkedIn or website
companyLocationstringCompany headquarters location
campaignIdnumberID of the campaign that triggered outreach
campaignNamestringName of the campaign
subjectstringEmail subject line
bodystringEmail body content

Positive Reply Webhook

Triggered when a contact sends a reply that is classified as positive. This fires for both email and LinkedIn channels.

Payload

{
  "assignmentId": 456,
  "channel": "email",
  "contactEmail": "[email protected]",
  "contactName": "Jane Smith",
  "contactLinkedInUrl": "https://linkedin.com/in/janesmith",
  "companyName": "Acme Corp",
  "companyUrl": "https://acme.com",
  "companyDomain": "acme.com",
  "replyMessage": "Thanks for reaching out! I'd love to learn more...",
  "senderEmail": "[email protected]",
  "campaignId": 123,
  "campaignName": "Series B SaaS Companies"
}

Fields

FieldTypeDescription
assignmentIdnumberInternal assignment ID
channelstring"email" or "linkedin"
contactEmailstringContact's email address
contactNamestringContact's full name
contactLinkedInUrlstringContact's LinkedIn profile URL
companyNamestringCompany name
companyUrlstringCompany website URL
companyDomainstringCompany domain (e.g. acme.com)
replyMessagestringThe reply message body
senderEmailstringEmail address that sent the original outreach
campaignIdnumber | nullID of the associated campaign
campaignNamestringName of the associated campaign

Best Practices

  • Use HTTPS — Always use an HTTPS endpoint for security.
  • Respond quickly — Return a 2xx response within a few seconds. Process the payload asynchronously if needed.
  • Handle duplicates — In rare cases, the same event may be delivered more than once. Use assignmentId or campaignId + email as an idempotency key.
  • Validate payloads — Check that incoming requests contain the expected fields before processing.