Articles on: Integrations

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 example reply, 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:
  1. 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).
  2. 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 type equals reply (or whatever event you intend).
  • Optional — only certain replies: For type: "reply", SuperSend includes reply.category (intent, e.g. interested), reply.mood, reply.confidence, plus reply.text and reply.subject. Add another Router branch or Filter (e.g. reply.category equals interested) 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

contact.first_name

Last Name

contact.last_name

Company

contact.company_name

Email

contact.email

Phone

contact.phone

Gross_Monthly_Revenue_Dropdown__c

Under contact.custom — use the same name you gave the field in SuperSend

When present; see example below

(e.g. Task description, custom field)

reply.text, reply.subject

Present when type is reply

(e.g. routing or scoring)

reply.category, reply.mood, reply.confidence

Present on many reply events when AI classification ran; use in Filters


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


  1. Add a column to your CSV (e.g. Gross_Monthly_Revenue_Dropdown__c or any name you prefer).
  2. During CSV import, map that column to Custom Field (not a standard field).
  3. When the webhook fires, that data is sent under contact.custom using 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


  1. Go to CampaignSettingsIntegrations.
  2. Add a Webhook integration.
  3. Enter your Make.com webhook URL (from Step 3).
  4. 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
  1. Save.



Step 3: Create Make.com Scenario


  1. In Make, create a new scenario.
  2. Add WebhooksCustom webhook as the trigger.
  3. Copy the webhook URL and paste it into SuperSend (Step 2).
  4. If this scenario should only handle replies (or one event type), add a Router or Filter after the webhook so Salesforce runs only when type matches (e.g. reply). Add extra filters on reply.category if you only want certain intents.
  5. Add SalesforceCreate a record (or Update a record).
  6. Connect your Salesforce account in Make.
  7. 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) |


  1. 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 add type = reply before the Salesforce module.
  • Custom field empty or wrong path in Make: In Campaign SettingsIntegrationsWebhook, 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 contact and 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.




Updated on: 07/04/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!