SuperSend → Make → Salesforce Setup
SuperSend → Make → Salesforce Setup
Purpose
Send contact data from SuperSend into Make.com, which then syncs to Salesforce. Use this when you need events (replies, opens, contact added, etc.) in SuperSend to trigger CRM updates in Salesforce via Make.
Replies vs noise: Choosing Reply in SuperSend turns on that event type; it does not, by itself, teach Make what to do with other events or how to treat “good” vs “bad” replies. Use Webhooks: Replies, Bounces, and CRM Automation for how SuperSend classifies inbound mail (reply, bounce, autoresponse) and how to reduce noise. This article adds Make-specific steps below.
One webhook, many event types — filter in Make
- Each POST body includes
type(for examplereply,open,click,contact_added). That is how you know which event fired. - If you enable only Reply in the Webhook integration, SuperSend still sends only reply events for that toggle—but if you also enable Open, Click, etc., the same Make webhook URL receives every enabled event. Your scenario should not assume every request is a reply.
- Recommended for a “replies → Salesforce” flow:
- In SuperSend, enable Reply and turn off events you do not want hitting this URL (often Bounce and Autoresponse if you only want human-style replies — see the article above).
- In Make, immediately after Webhooks → Custom webhook, add a Router (or a Filter on the path to Salesforce) so the Salesforce module runs only when
typeequalsreply(or whatever event you intend).
- Optional — only certain replies: For
type: "reply", SuperSend includesreply.category(intent, e.g.interested),reply.mood,reply.confidence, plusreply.textandreply.subject. Add another Router branch or Filter (e.g.reply.categoryequalsinterested) before creating or updating Salesforce records.
Use Test → on the Reply event and Webhook delivery logs → View Payload to confirm the exact paths in your bundle.
Field Mapping
Salesforce Field | Webhook payload path | Notes |
|---|---|---|
First Name | |
|
Last Name | |
|
Company | |
|
| ||
Phone | |
|
Gross_Monthly_Revenue_Dropdown__c | Under | When present; see example below |
(e.g. Task description, custom field) | | Present when |
(e.g. routing or scoring) | | Present on many |
Custom fields: Any custom data you add to contacts (via CSV or API) is sent in the webhook under contact.custom. The field name in the webhook matches whatever you named it when adding the contact—your CSV column header or the key you used in the API.
Step 1: Add Custom Fields in SuperSend
Option A: CSV Upload
- Add a column to your CSV (e.g.
Gross_Monthly_Revenue_Dropdown__cor any name you prefer). - During CSV import, map that column to Custom Field (not a standard field).
- When the webhook fires, that data is sent under
contact.customusing the column name as the field name.
Option B: API
When creating contacts via API, include custom fields:
{
"email": "john@acme.com",
"first_name": "John",
"last_name": "Doe",
"company_name": "Acme Corp",
"phone": "+1234567890",
"TeamId": "your-team-id",
"CampaignId": "your-campaign-id",
"custom": {
"Gross_Monthly_Revenue_Dropdown__c": "100k-500k"
}
}
Step 2: Configure Webhook in SuperSend
- Go to Campaign → Settings → Integrations.
- Add a Webhook integration.
- Enter your Make.com webhook URL (from Step 3).
- Enable the events you need:
- Contact Added — when contacts enter the campaign
- Reply — when a contact replies
- Open — when an email is opened
- Click — when a link is clicked
- Finished — when contact completes the sequence
- Save.
Step 3: Create Make.com Scenario
- In Make, create a new scenario.
- Add Webhooks → Custom webhook as the trigger.
- Copy the webhook URL and paste it into SuperSend (Step 2).
- If this scenario should only handle replies (or one event type), add a Router or Filter after the webhook so Salesforce runs only when
typematches (e.g.reply). Add extra filters onreply.categoryif you only want certain intents. - Add Salesforce → Create a record (or Update a record).
- Connect your Salesforce account in Make.
- Map fields from the webhook to Salesforce:
| Map from (Make) | To Salesforce |
|-----------------|----------------|
| 1.contact.first_name | First Name |
| 1.contact.last_name | Last Name |
| 1.contact.company_name | Company |
| 1.contact.email | Email |
| 1.contact.phone | Phone |
| 1.contact.custom.Gross_Monthly_Revenue_Dropdown__c | Gross_Monthly_Revenue_Dropdown__c |
| 1.reply.text or 1.reply.subject | Task description, note, or custom field (when event is a reply) |
- In Make, use the data inspector on the webhook trigger to see the incoming data and map each field. The structure SuperSend sends is shown below. Activate the scenario.
What SuperSend Sends to Make
When an event fires (reply, open, contact added, etc.), SuperSend sends a JSON payload to your webhook. Always check type first in Make.
Example when the event is a reply (type: "reply") — reply carries the inbound message and optional AI fields for filtering:
{
"event_id": "a1b2c3d4-...",
"timestamp": "2026-01-19T14:32:15.123Z",
"type": "reply",
"CampaignId": "campaign-uuid",
"conversationId": "conv-uuid",
"app_url": "https://app.supersend.io/...",
"campaign": { "id": "...", "name": "..." },
"team": { "id": "...", "name": "..." },
"org": { "id": "...", "name": "..." },
"reply": {
"text": "Thanks, let's book a call next week.",
"subject": "Re: Your outreach",
"received_at": "2026-01-19T14:32:15.123Z",
"category": "interested",
"mood": "positive",
"confidence": 0.92
},
"contact": {
"id": "contact-uuid",
"email": "john@acme.com",
"first_name": "John",
"last_name": "Doe",
"company_name": "Acme Corp",
"phone": "+1234567890",
"title": "CEO",
"custom": {
"Gross_Monthly_Revenue_Dropdown__c": "100k-500k"
}
}
}
For open, click, contact_added, etc., the top-level type changes and the body includes different nested objects (for example open, click) instead of or in addition to reply. Use Test → per event to see each shape.
Custom fields: If you added custom data when importing the contact (CSV column mapped to Custom Field, or custom in the API), it appears in contact.custom. The key is whatever you named the field. If the contact has no custom fields, contact.custom may be empty or missing.
Custom Fields Quick Reference
- From CSV: Add a column, map it to Custom Field during import. The column header is the field name in the webhook.
- From API: Include
custom: { "YourFieldName": "value" }in your request. That key is the field name in the webhook. - In Make: Use the webhook’s data inspector to see the incoming data. Custom fields appear under the contact object.
Troubleshooting
- Salesforce updates on opens/clicks when I only wanted replies: You enabled multiple events in SuperSend, or your Make scenario has no Filter / Router on
type. Restrict toggles in SuperSend and/or addtype=replybefore the Salesforce module. - Custom field empty or wrong path in Make: In Campaign Settings → Integrations → Webhook, use Test → next to the event you care about (sample or real contact). Open Webhook delivery logs for that integration and use View Payload to see the exact JSON we sent. Verify your custom field appears under
contactand note the exact field name you used. - Webhook not firing: Check that the event (e.g. Reply, Contact Added) is enabled in the Webhook integration.
- Salesforce API name: Use the Salesforce API name (e.g.
Gross_Monthly_Revenue_Dropdown__c), not the label.
Related Articles
- Webhooks: Testing, Delivery Logs, and Payloads
- Webhooks: Replies, Bounces, and CRM Automation
- Webhook Integration
- Zapier and Make Setup
- Integrations Overview
Updated on: 07/04/2026
Thank you!