The Salesforce Integration
Delighted’s Salesforce (SFDC) integration offers the ability to:
- Trigger Delighted surveys: Automatically send an email survey to a customer based on activity in Salesforce. These triggers can be one of our presets, like a contact being updated, or custom workflows built directly in your Salesforce instance.
- Sync response data to contacts: Automatically sync response data to matching contacts in Salesforce. When syncing feedback, you’ll be able to see a contact’s most recent score, comment, response timestamp, and any properties passed over with the survey request.
- Sync response data to the account level: Automatically roll response data synced to contacts up to the account level in Salesforce.
Salesforce is a premium integration, limited to specific plan levels. For more information, see our Pricing page.
In this section
- Advantages of the Salesforce integration
- Best practices when using the Salesforce integration
- Setting up the integration package (required)
- Syncing response data to Salesforce
- Setting up the response sync
- Testing and troubleshooting the sync connection
- Triggering surveys from Salesforce
- Setting up preset survey triggers
- Setting up custom survey triggers
- FAQs: Salesforce
Advantages of the Salesforce integration
Delighted’s Salesforce integration can help drive workflows and serve as the foundation for custom reports. Here are some of the key benefits of the integration:
- Consolidate your dashboards: Syncing data from Delighted to Salesforce in real-time ensures that you’ll have both feedback and existing SFDC data in a single location, allowing you all the necessary data right at your fingertips.
- Enable workflows and automation: Our integration pushes over all the response data, from scores to timestamps, to your Salesforce instance. As Contact records are updated with new feedback, consider leveraging Workflows and/or Apex Triggers to automate processes based on freshly synced Delighted responses.
- Allow for custom reporting: Generate reports that focus on Delighted response data, or draw on a blend of Delighted data and existing SFDC data (ex. tracking NPS over time, highlighting NPS in conjunction with other metrics like MRR).
- Help identify customers prior to churn: Delighted's Salesforce integration syncs scores in real-time to set the foundation for quick follow-up with dissatisfied customers before they call it quits.
- Help identify customers for upgrades: Positive feedback can be a strong indicator of customers interested in additional product offerings, upgrades, cross-selling opportunities and added MRR.
Best practices when using the Salesforce integration
Below are a few of the best practices to make your Delighted integration seamless:
- Verify your Salesforce edition: Not all Salesforce editions include use of the API. Check Salesforce’s Trailblazer Community page to confirm your edition/API is supported.
- Install the integration with a generic user: User account changes, security updates, or adjustments to access-related settings in Salesforce can result in expired access and token-based issues. To sidestep this issue completely, consider installing the integration while signed in as a generic user (ex. email@example.com vs. firstname.lastname@example.org).
- Be aware of any workflows or restrictions: When setting up the integration, be sure to clear any workflows or configurations in Salesforce that would restrict updating of Contact records. There is a potential to encounter issues when running the sync if you’re triggering flows off of Delighted objects/fields or have custom configurations that require specific conditions be met before updating a Contact record.
Setting up the integration package (required)
No matter whether you’re syncing responses back to Salesforce, triggering survey sends, or both, you’ll need to start by installing the Delighted integration package in Salesforce.
- In Delighted, head to the Integrations tab and choose Salesforce
- Click “Connect and turn on”
- You’ll be redirected to Salesforce. If prompted, enter your login credentials
Authorize the Delighted connection and click “Install” to complete. We recommend installing for All Users. You can click on “View Components” to see what data we’ll be syncing over
- Approve third-party access and let the install complete
Syncing responses to Salesforce
The Salesforce integration works by syncing response data in three phases:
- Response is received in Delighted: After this, we wait 10 minutes so that the respondent has time to add a comment
- We search for a matching Contact record in Salesforce: By default, we will look to match by email address. However, if you include the property salesforce_contact_id, we will sync based on that Contact ID
- Feedback is synced to the matching Contact: Feedback is synced in two ways—the most recent score left by that respondent will flow into a Custom Field, while any other details that you want included (from the response timestamp to the property data you sent with the survey request) will be synced to a Related List
There are a few components required to facilitate the integration between Delighted and Salesforce:
- Custom Fields: Each field is designed to show an aspect of the Delighted response within Salesforce. For example, Timestamp will show the exact timestamp the response was received within Delighted. Delighted’s Custom Fields are great components to pull in for any custom reporting you’re doing within Salesforce.
- Apex Class/Triggers: Apex components are required for Delighted to interact with the Salesforce API because they power the syncing action.
- Custom Objects: Custom Objects are like the parent of your Custom Fields. For example, the “Delighted Response” Custom Object contains all related Custom Fields for the package (ex. Comment, Permalink, Properties, etc.). If you’d like to find the API name for each of the Custom Fields for the Delighted package, the Custom Object is a great place to locate them.
- API Access: Syncing data from Delighted to Salesforce requires making calls to the Salesforce API. We make about 6 HTTP requests to the Salesforce API for each survey response.
Within each Contact record’s Related List, you’ll see all responses provided by that respondent.
You can also find all Delighted response data under the “All Tabs” section for “Delighted Responses.”
Setting up the response sync
Once the Delighted integration package has been installed, you’re ready to enable the response data sync! To do this:
- In Delighted, head to the Integrations page and choose Salesforce
- Check the box to Sync responses to contacts and accounts
- Save your changes
- Configure the contact layout (details below)
- Configure the account layout (details below)
Configuring the contact layout
- Head to Salesforce and log in
Head to any available Contact record
- Click “Edit Layout” on the top right-hand corner of the page
Drag and drop the Last Delighted Response field to your Contact record
- Drag and drop the Delighted Related List to the Related List section of your Contact record
Optional: Edit your Related List to reorder where the Delighted information appears in your Contacts
- Save your changes
Configuring the account level layout
If you'd like to have your Delighted feedback roll up to the account level, follow the steps for the Contact layout, but on the account level! This will display an account-level score based on feedback from the contacts associated with that account.
Testing and troubleshooting the sync connection
Testing the connection
To test the integration, you’ll want to create a contact in Salesforce with an email address that you have access to and send a Delighted survey to that email. Then, confirm that the response data was synced correctly.
- From the main Salesforce page, click the “+” icon in your navigational menu (next to “Subscriptions”)
- From the All Tabs page, click on the link for “Contacts”
- On the Contacts page, click “New” (often under the Recent Contacts field)
- Enter the Contact details, including the email address to send the survey (choose one that you have access to for testing purposes)
- Click “Save”
- Head to Delighted and click “Survey people”
- Click “Survey people” under the Email platform
- Enter the test email address
- Click “Next: Review”
- Click “Send immediately”
- Check your email and respond to the survey. Note: the throttle period will apply to this email survey, so be sure to reach out to get that throttle disabled for testing or use an email that you haven't sent to yet
- Wait approximately 10 minutes for the default delay to pass, then check the Salesforce Contact record to see your test response data synced over!
Troubleshooting the connection
Think about the following if you need to troubleshoot Delighted-SFDC syncing:
- Consider the delay: While we delay syncing for 10 minutes, we recommend waiting 30 minutes to sync over as there may be other concurrent activity in your SFDC instance that is slowing API activity.
- Confirm the email address: Be sure that the email on the Contact record exactly matches the email listed on the Delighted response.
- Confirm the Contact record: We only sync to the Contact records (versus Person Accounts, etc).
- Try a hard reset: If all the above looks correct and you’re still not seeing data sync across, try running a hard reset by:
- Turning off the SFDC integration in Delighted
- Removing the integration from Delighted
- Removing the Delighted package from SFDC
- Reinstalling the integration again via Delighted.
If you’re still having issues with the integration after reviewing the above, contact our Concierge Team!
Triggering surveys from Salesforce
The Delighted Salesforce integration allows you to automatically trigger surveys based on either standard triggers that are preconfigured in Delighted, or based on custom triggers that you can set up in your Salesforce instance.
Currently, the Salesforce integration supports triggering based on the following Entities:
How does Delighted determine which Contacts on an Account are surveyed?
For Account and Opportunity, by default, we’ll trigger a survey only to Accounts with 3 or less Contacts. In those instances, we’ll trigger a survey to all Contacts on the account or opportunity.
By default, if an Account has more than 3 Contacts, we will not dispatch the survey. In this case, you can use the Custom Field setting to specify the exact Contact we should survey. To do this:
Go to Object Manager in Salesforce
On the following page, click on Account
Click on Fields & Relationships
Click on “New”
Click on “Lookup Relationship”
On the next page, click on “Contact” for the “Related To” drop-down menu
Configure the New Relationship fields as shown below
- Field Label: Delighted Survey Contact
- Field Name: x_DelightedInc_Survey_Contact
- Description: Which contact should be surveyed in Delighted for Account level triggers (e.g. Opportunity, Account)?
- Help Text: Which contact should be surveyed in Delighted for Account level triggers (e.g. Opportunity, Account)?
- Child Relationship Name: Accounts
- Required: Leave unchecked
- What to do if the lookup record is deleted? Leave checked as “Clear the value of this field. You can't choose this option if you make this field required.”
- Lookup Filter: Nothing required
This should look like:
For “Step 4. Establish field-level security for reference field”, configure permissions as needed
For “Step 5. Add reference field to Page Layouts”, add to all page layouts on an Account level
For “Step 6. Add custom related lists”, add to all Related Lists
The field is now available on your Account layout to select one specific Contact to be surveyed.
Properties passed when triggering surveys
The properties that are automatically passed to Delighted depend on which object in Salesforce is used as the trigger for survey sends. See below for the complete list of properties based on each object—this list applies whether you are using preset or custom triggers.
Triggered by Case
Triggered by Account
Triggered by Opportunity
Triggered by Contact
It is not possible to pass custom properties when triggering your survey from within Salesforce.
Setting up preset triggers
Delighted’s Salesforce integration includes a handful of Standard Triggers (preset triggers), which include the following events:
- Account Created
- Case Created
- Case Closed
- Contact Created
- Opportunity Created
- Opportunity Won
- Opportunity Lost
- For Case and Contact, we’ll dispatch the survey to the Contact associated with those entities.
- For Account and Opportunity, by default, we’ll trigger a survey only to Accounts with 3 or less Contacts. If an Account has more than 3 Contacts, we will not dispatch the survey. If you need to trigger a survey to an Account or Opportunity that has more than 3 associated Contacts, please check out Triggering surveys from Salesforce for details on sending based on a Custom Field added to the Account.
- You cannot create duplicate triggers (ex. You can only have one “Account Created” trigger)
- If using an Account Created trigger, be sure to select a delay that is not Immediate, as that will give the system time to look-up any Contacts that are associated with the Account after it is created. The exception here is if you set a Custom Field on the Account when creating it (more on this in the Appendix).
How to set up
Click on “Trigger surveys from Salesforce activity”
Click on “Use standard triggers” and then “+ Add a new trigger”
Select your preferred trigger and delay
Click on “Save changes” to register the updated settings
Setting up custom triggers
Custom Triggers allow you to define the exact rules regarding what triggers a Delighted survey. Using a combination of Workflow Rules and Outbound Messages, you can define specific conditions for triggering surveys - all directly within your Salesforce instance.
We currently support the creation of Workflow Rules and Outbound Messages for:
- Be sure that the Outbound Message and Custom Workflow are both built around the same entity (ex. Case, Account, etc.)
- If you’re testing, be sure to contact the Customer Concierge team at (email@example.com) if you need the throttle dropped (i.e. need to more rapidly resend to the same address)
How to set up
Click on “Configure custom triggers on Salesforce”
Copy the URL shown underneath “Your Salesforce outbound message target URL” by clicking the icon to the far right of the URL
Head to your Salesforce instance
Go to your Outbound Messages section
Create a new Outbound Message
Select the Object associated with your Outbound Message. (Note: This must be either Account; Case; Opportunity; or Contact)
Edit the Outbound Message
- Name: Name the message whatever you’d like! We recommend “Delighted Outbound Message”
- Unique Name: This will auto-fill after completing the Name field. You can leave as-is.
- Description: Include detail to help you recall the intent of this message, something like “Used for calling the Delighted API”
- Endpoint URL: Paste the URL from Step 2 above, or jump back to your Delighted Salesforce page to grab that URL again
- User to Send As: Leave this as the default selection
- Protected Component: Leave this as the default selection (unchecked)
- Send Session ID: Check this box
- Opportunity Fields to Send: Leave this as the default selection
Head to your Workflow Rules section
Click on “New Rule”
Select the Object associated with your Workflow Rule. (Note: This must be either Account; Case; Opportunity; or Contact and must match the Object selected in Step 6)
Configure your Workflow Rule:
- Rule Name: Name the message whatever you’d like! We recommend “Delighted Survey”
- Description: Include detail to help you recall the intent of this Workflow Rule, something like “Dispatching a Delighted Survey after an Account is created”
- Evaluation Criteria: Select “created, and any time it's edited to subsequently meet criteria”
- Rule Criteria: This can be configured as you prefer - no requirements on the Delighted side!
Click “Save & Next”
Under “Immediate Workflow Actions,” click on the option for “Select Existing Action”
On the following page, under “Search,” select the option for “Outbound Message”
Select and add the Outbound Message you created, moving it from “Available Actions” to “Selected Actions"
Click “Done” on the following page
Activate your Workflow Rule
You’re all set! Your Custom Trigger is now up and running!
In this section
- Where can I find the Delighted package in Salesforce?
- Can I integrate multiple Delighted projects with one Salesforce instance?
- What versions of Salesforce are supported?
- How can I tell which project a response came from in Salesforce?
Where can I find the Delighted package in Salesforce?
If you or your team needs to review the Delighted components further, such as grabbing a custom field name for reporting purposes, follow the steps below:
- From your main SFDC dashboard, use the Quick Find function and type in Installed
- Once you see the InstalledPackages, click through that link
- On the Installed Packages page, find the package with the Package Name of Delighted and click through that link
- On the following page, click on the View Components button to reveal all components related to the package
Can I integrate multiple Delighted projects with one Salesforce instance?
Each project is independent, so you’ll need to set up the integration for each project desired.
Keep in mind, however, that when a response syncs from Delighted to Salesforce, we won’t automatically mark which projects it has come from. Instead, consider including a property called ‘ProjectName’ in each scheduled survey. The value of this property should match the name of the project as it’s configured in Delighted.
With this configuration, individual contact records in Salesforce will carry information about which survey project the response is tied to and you’ll be able to easily create downstream reports or workflows on a project-by-project basis.
What versions of Salesforce are supported?
Delighted's Salesforce integration works on both Salesforce Classic and Salesforce Lightning instances.
How can I tell which project a response came from in Salesforce?
Currently, the best way to tell which project a response is tied to is to pass a property called "Project name" when scheduling your survey to send. This property will sync back to Salesforce with the rest of your survey properties!