Want to get customer feedback from Delighted right into Salesforce without a bunch of copy-pasting or duct-taped spreadsheets? You’re not alone. Tons of teams want this — but the details can get murky, and most of the “guides” out there gloss over the parts where things break. This guide is for people who actually have to set up the integration (admins, ops folks, or just the unlucky one who got assigned). I’ll walk you through getting Delighted and Salesforce talking to each other, show you what works (and what’s a waste of time), and help you avoid the stuff that makes you want to throw your laptop out the window.
What You’ll Need Before You Start
Let’s get real: not everyone can do this from scratch in five minutes. You’ll need:
- A Delighted account (Delighted)
- A Salesforce account (with admin rights, or a friendly admin who owes you a favor)
- API access on both sides (Salesforce “Enterprise” edition or higher usually includes API access, but check)
- Basic comfort with webhooks, fields, and maybe a little bit of JSON
- A clear idea of what feedback you actually want in Salesforce (more on this later)
Don’t have all these? Get them sorted first. You can hack around some stuff, but API access and admin rights aren’t optional.
Step 1: Decide What You Actually Want to Sync
Before you touch any settings, get crystal clear about what you want out of this integration. Do you just want NPS scores showing up on contact records? The full survey response? Only responses above/below a certain score? If you skip this step, you’ll end up with a Salesforce org full of junk nobody reads.
Typical choices: - Sync every response to a custom “Feedback” object (works well if you want full data) - Attach the latest score to the Contact or Account (simpler, but you lose history) - Trigger Salesforce workflows (like alerts for low scores)
Pro tip: Start simple. You can always add more fields or fancy automations later. Most teams overcomplicate this and regret it.
Step 2: Set Up a Custom Object or Fields in Salesforce
You need somewhere for the feedback to land. There are two main ways:
- Custom Object (“Delighted Feedback”):
- Good if you want a full history of responses per customer.
-
Add fields like: Score, Comment, Survey Type, Response Date, Delighted Response ID, etc.
-
Custom Fields on Contact/Account:
- Good for just the latest NPS/CSAT score.
- Add fields like: Last NPS Score, Last Feedback Comment, Last Response Date.
How to add these: - Go to Salesforce Setup > Object Manager. - Either create a new custom object (“Delighted Feedback”) or add fields to your existing Contact/Account object. - Make fields API-accessible. - Note the API names — you’ll need them for mapping.
Don’t overthink field types for now. Text, number, and date cover 99% of use cases.
Step 3: Set Up a Salesforce Connected App (API Access)
Delighted will need a way to talk to Salesforce. The cleanest way is via a Connected App.
- In Salesforce:
- Go to Setup > Apps > App Manager.
- Click “New Connected App.”
- Give it a name (“Delighted Integration” is fine).
- Enable OAuth settings.
- Add “Full Access (full)” and “Perform requests on your behalf at any time (refresh_token, offline_access)” to the OAuth scopes.
- Set the callback URL to something like
https://app.delighted.com/oauth/callback
(you can update later if needed). - Save and make a note of the Consumer Key and Secret.
-
You may need to wait 10-15 minutes for the app to be available.
-
Check permissions:
- Make sure the integration user (Delighted will use this) can read/write the objects and fields you set up.
If you don’t want to mess with Connected Apps:
Some folks use tools like Zapier or Tray.io as a middle layer. It’s easier, but you lose some reliability and control. Up to you.
Step 4: Connect Delighted to Salesforce
This is where things get a little more “choose your own adventure,” because Delighted doesn’t have a native Salesforce integration built-in (as of mid-2024). You’ve got two main options:
Option A: Use Delighted’s Webhooks + Salesforce’s API
This is the most direct, code-light way, but it’ll take a little setup.
- In Delighted:
- Go to Integrations > Webhooks.
- Click “Add Webhook.”
- Set the URL to a Salesforce endpoint that can accept incoming data (most use a Salesforce “Apex REST” endpoint, or you can use middleware like Zapier, Workato, or AWS Lambda to catch the webhook and forward to Salesforce).
-
Choose which survey events trigger the webhook (usually “Response Created”).
-
Payload mapping:
- Delighted sends JSON with all the response data. Map fields like score, comment, person’s email, etc. to your Salesforce fields.
- If you’re using middleware, set up the mapping there (Zapier, for example, makes this drag-and-drop).
- If you’re going direct to Salesforce, you’ll need an Apex REST service to handle the POST request, parse the JSON, and create/update the right records.
Heads up:
- Salesforce isn’t great at receiving unauthenticated webhooks directly. Most teams use middleware to avoid headaches.
- Zapier, Workato, or similar tools add cost, but save hours of debugging.
Option B: Use a Third-Party Integration Tool
If you’re not a developer and don’t want to write code, just use something like Zapier.
- In Zapier:
- Create a new Zap: Trigger is “Delighted Response Received.”
- Action is “Create Record” in Salesforce (pick your object/fields).
- Map the fields.
- Test it.
- Turn it on.
Downsides:
- Zapier has limits (tasks per month, delays, won’t scale forever).
- Not great for massive volumes, but fine for most small/medium teams.
Step 5: Test the Integration
Before you tell anyone it’s “done,” run through a few test surveys and make sure:
- Responses show up in Salesforce where you expect (right object, right fields).
- Data is accurate (no mismatches or missing info).
- No duplicate records (especially if you sync the same response more than once).
Don’t skip this. Most “it’s broken!” tickets come from bad field mapping or permissions.
Pro tip:
Do a test with a real customer or colleague (not just yourself). Sometimes, test records act differently than real data due to permissions or validation rules.
Step 6: Automate Actions (Optional)
Once data is flowing, you might want things to happen automatically in Salesforce:
- Send alerts on low scores: Use Salesforce Flows or Process Builder to notify sales/support if a customer gives a bad rating.
- Update Opportunity or Account health: Roll up NPS scores for reporting.
- Kick off customer follow-up tasks: Create tasks for CSMs to call back unhappy customers.
Start small. Automations can spiral out of control and create more noise than value.
What Works, What Doesn’t, and What to Ignore
What works: - Middleware tools (Zapier, Workato) for quick wins and non-dev teams. - Direct API/webhook connections if you have dev resources. - Keeping your field mapping dead simple.
What doesn’t: - Overcomplicating your Salesforce schema. Don’t create 20 custom fields “just in case.” - Syncing every possible field from Delighted. Most teams only use the score, comment, and date. - Relying on native integrations that don’t exist (Delighted doesn’t have a built-in Salesforce app — ignore anyone who says otherwise).
What to ignore: - “Real-time” promises. There’s always a little delay. If you need instant feedback, set expectations. - Overly complicated error handling. Log errors and move on — don’t build a Rube Goldberg machine for rare failures.
Keeping It Simple: Final Thoughts
Integrating Delighted with Salesforce isn’t rocket science, but it’s easy to overthink. Focus on what your team actually needs, keep the field mapping simple, and don’t get sucked into building an over-engineered monster. Start with just the essentials (score, comment, date, contact), see how it works, and improve it over time. Most importantly: test with real data and make sure people actually use the info once it lands in Salesforce.
If something breaks, don’t panic — almost every issue is a bad permission, a typo in a field name, or a webhook that needs tweaking. Take it step by step, and you’ll have feedback syncing automatically (and your boss off your back) in no time.