SurveyMonkey

Using SurveyMonkey for Salesforce

Salesforce

Paid feature
Log in to see if this feature is included in your plan.

Get the integration! SurveyMonkey for Salesforce is an Enterprise add-on. Contact Sales or your Customer Success Manager (CSM). Limitation: The integration setup is only available in English.

With SurveyMonkey for Salesforce, you can build automations to trigger surveys and push data back to Salesforce records for in-context analysis. Create reports, dashboards, and automate flows to take action on feedback.

When you integrate survey data with Salesforce, you can better understand, measure, and react to various customer interactions to improve the overall health of your business relationships.

Create your survey and set up your Salesforce object before you create your mappings. Learn more in our Getting Started guide.

  • If your SurveyMonkey plan has Power and Casual seats, you need an Enterprise Power seat to access the integration. Learn more about seats and permissions.
  • To avoid permission issues, it’s best to use a Salesforce account with a “system admin” profile. Learn more about recommended Salesforce permissions.

You can connect multiple accounts, including sandbox environments. This process leverages OAuth 2.0 for a secure integration. This process leverages OAuth 2.0 for a secure integration.

To access the integration:

  1. Sign in to the Salesforce account you want to connect to SurveyMonkey.
  2. In SurveyMonkey, select the Products icon and select Apps & Integrations.
  3. Select Salesforce.
  4. Select Connect or Connect Sandbox to connect your Salesforce account. If you’ve signed in to Salesforce, we’ll automatically connect to your signed-in account.

Refreshing Sandbox environments: Your Salesforce connection will break when you refresh your sandbox environment. To keep your mappings, reconnect to your sandbox environment, then copy the mappings from your old connection to the new one.

To connect the survey you want to map to Salesforce:

  1. After adding your connection, select your username.
  2. On the My Mappings page, select Connect Survey.
  3. Select a survey title from the dropdown. You can connect any survey you own or that has been shared with you with full access. Surveys are listed by title, not by nickname.
  4. Select Next.

Mappings send your survey data back to Salesforce. You'll create mappings to send specific data, such as a response or survey metadata, to a Salesforce object. You can choose from two mapping types:

  • Managed package: This convenient, out of the box option sets up object mapping for you, so you don’t need to build a custom object or fields in Salesforce to hold your response data. The mapping creates a separate SurveyMonkey Response record for each question answered – so if your survey has 5 questions, it creates 5 SurveyMonkey Response records. Learn more about our managed package.
  • Custom object mapping: If you need more custom mapping, you can choose to map responses to a custom or standard object. You can use three different mapping actions: Create a new record, Update an existing record, or Update or create a record.

For each mapping type, you can also select the following options:

  • Sync partial responses to Salesforce: Each time a survey taker clicks Next to move on in the survey, each answered question on that page will sync, rather than syncing upon survey completion
  • Disable active assignment rules on creating or updating Salesforce records: Active assignment rules aren't re-applied when Accounts, Cases, or Leads records are created or updated.

The table below describes the mapping actions you can use in your custom Object Mappings.

Mapping actionWhat it does
Create a newCreate a new record in the Salesforce object you choose for each survey response. This option doesn't check to see if the record already exists—it just creates a new record each time.
Update an existingUse a query mapping to find existing object records. If an object exists, it's updated. If the record doesn't exist, an entry is added to your Error Log.
When you select this option, you can choose to Overwrite record fields that have existing values. This will replace existing data on your object. This can help you keep data current. However, if you need to revert these changes, you may need to manually update data later.
Update or createUse a query mapping to find existing object records. If an object exists, it's updated. If it doesn't exist, a new record is created.

After choosing your mapping action, you can set up your mapping. There are 3 mapping types you can use to map data to Salesforce.

Mapping typeWhat it doesAvailable for
Query mappingsQuery mappings tell the integration how to find existing records. You can use a custom variable to map to a specific Salesforce Record ID.❌ Create a new record
✅ Update existing records
✅ Update or create records
Survey content or dataMap your SurveyMonkey response and other metadata to the appropriate Salesforce object fields.
You can map any response field to one or more objects in Salesforce. If data fails to map, an entry is added to your Error Log.
✅ Create a new record
✅ Update existing records
✅ Update or create records
More dataAdd more data to pass static values through to an object field each time a survey response comes in. For example, you can send a record type ID to designate which record type a survey should sync to if multiple exist for your object. Or, you can send a "survey taken" value, such as text or a checkbox, to track people who have taken your survey.✅ Create a new record
✅ Update existing records
✅ Update or create records

Build mappings for your survey.

If you create mappings on a shared survey, the owner won’t be able to see your mappings.

Create a new standard or custom object record every time someone submits a survey. To create new object records:

  1. Connect your survey to the Salesforce integration.
  2. Select Add Object Mapping or the Edit icon to review your mapping selections.
  3. In the first dropdown, select Create a new.
  4. Click Select object to choose the object you want to map your responses to.
  5. Select survey content or data to map to Salesforce. Map any survey questions and data to your object in Salesforce. You can select an existing or new Custom Variable to pass known info about a survey taker through your survey (for example, Account ID or Case ID).
    • Certain Salesforce fields can only hold certain data types. Use our field mapping guide to make sure you map to compatible fields in Salesforce.
    • If you see an exclamation mark icon, there may be an error with your mapping. Hover over the icon to review the error.
  6. (Optional) Add more data to map to Salesforce. You can map any static value back to Salesforce, such as the survey language or locale. This value will be mapped every time someone takes your survey.
  7. Select Save Object.
  8. (Optional) Once back on the Object Mappings page, select Disable active assignment rules on creating or updating Salesforce records.
  9. Select Next.

Update an existing standard or custom object when someone submits a survey. You have two options:

  • Update an existing: Find an existing record to update. If we can’t find an existing record, an error displays in the Audit Log.
  • Update or create: Find an existing record to update. If we can’t find an existing record, we’ll create a new one.

To update existing records:

  1. Connect your survey to the Salesforce integration.
  2. Click Add Object Mapping or the Edit icon to review your mapping selections.
  3. In the first dropdown, select whether to Update an existing record or Update or create.
  4. (Optional) Check the box to Replace any existing data in record fields. If you choose this option, we'll overwrite any existing values in your Salesforce fields with the survey data you map.
  5. Click Select object to choose the object you want to map your responses to.
  6. Add a query mapping. Query mappings, like a matching rule in Salesforce, tell SurveyMonkey how to find the record to update.
    • Select the source for your mapping. It’s best to map a * New custom variable to the appropriate record ID in Salesforce.
      If you can't use a Salesforce record ID, you can use a field from your survey, like an email address, to find the matching record. However, the response will fail to sync if duplicate records are found.
    • Select the Salesforce field you want to place this data in.
  7. Select survey content or data to map to Salesforce. Map any survey questions and data to your object in Salesforce. You can select an existing or new Custom Variable to pass known info about a survey taker through your survey (for example, Account ID or Case ID).
    • Certain Salesforce fields can only hold certain data types. Use our field mapping guide to make sure you map to compatible fields in Salesforce.
    • If you see an exclamation mark icon, there may be an error with your mapping. Hover over the icon to review the error.
  8. (Optional) Add more data to map to Salesforce. You can map any static value back to Salesforce, such as the survey language or locale. This value will be mapped every time someone takes your survey.
  9. Click Save Object.
  10. (Optional) Once back on the Object Mappings page, click Disable active assignment rules on creating or updating Salesforce records.
  11. Click Next.

Create a new SurveyMonkey Response object every time someone submits a survey. You’ll install our managed package to do this. The managed package makes it easy to send data to Salesforce and build Salesforce reports for survey responses. You can also customize Salesforce page layouts to better review survey data.

You’ll download the managed package while in SurveyMonkey. You don’t need to download anything from the Salesforce App Exchange.

To map to the SurveyMonkey Response object:

  1. Connect your survey to the Salesforce integration.
  2. Click Sync all responses to SurveyMonkey’s Response object. The first time you do this, you’re prompted to install the package in your Salesforce instance and provided with an installation link. When installing, we recommend selecting For All Users.
  3. (Optional) Click Disable active assignment rules on creating or updating Salesforce records. This only applies if your mapping is updating fields directly on the case object.

To relate the SurveyMonkey Response records to other records, add an object mapping. You’ll need to map to lookup fields on the SurveyMonkey Response object. 

  1. Select Add Object Mapping or Edit to review your mapping selections.
  2. Click Select an Action, then select Update an Existing.
  3. Select Account, Case, Contact, Lead, or Opportunity. To associate your responses to a different object, you can add additional lookup fields to the SurveyMonkey Response object in your Salesforce setup.
  4. Add Query Mappings to tell Salesforce how to find the related records. Use a Custom Variable to pass the Record ID from Salesforce.
  5. (Optional) Add any survey field mappings to map survey fields to fields on this object.
  6. Click Save Object.
  7. (Optional) If you want to associate your survey responses to multiple objects, repeat steps 4 – 7.
  8. Once back on the Object Mappings page, click Next.

Choose how to send your survey. You can use a Web Link pasted into your own email, or use a custom SurveyMonkey Email Invitation. There are 2 options you can use to send your survey.

You can’t use a collector owned by someone else. If you want to use an existing collector, make sure to choose one that you created.

  • Web Link: Create a Web Link to send in an email from Salesforce or another provider. Web Links are easy to set up and allow you to use Advanced Logic and Piping to customize your survey questions with Salesforce data. However, you’ll need to build your own email template in Salesforce or your other email provider.
  • Email Invitation: Trigger a SurveyMonkey email invitation using a Salesforce flow. For example, you can send a survey invitation after closing a case in Salesforce. You'll need to create your own Outbound Message and flow in Salesforce.

If you’re using Piping or Advanced Branching with custom variables, use the Web Link deployment option. A Web Link will let your Salesforce data inform your survey logic or customize your survey questions.

To use a Web Link:

  1. Select an existing web link collector or select New Web Link.
  2. Choose the object that will trigger your survey. Salesforce can send your survey when changes to an object meet certain criteria (for example, when a Case is closed or a Contact is 90 days old). You’ll use this object later when you create your Salesforce flow.
    If you're not sending your survey from Salesforce, select None. I'm not using Salesforce Flows to trigger my survey.
  3. Select Next.
  4. Select the Salesforce objects to map to any custom variables you added. When you send the survey from Salesforce, we’ll pull in data from these fields in your web link. We’ll also sync this data to SurveyMonkey so you can filter responses and pipe data into your survey.  
  5. (Optional) Select Add data to add more fields to your survey link. 
    • Click Select data to choose your Salesforce field. Choose the object with the field you want, then select the field. Then, select Save.
    • Select New custom variable to map the field to SurveyMonkey. Enter a Variable ID (this is visible in the survey URL). Then, enter a Variable label (a name for the variable so you can recognize it later). Then, select Save.
  6. When you’re ready, select Generate link.
  7. Copy the URL. It includes the custom variables you chose to map to the object.
  8. Go to Salesforce to complete the setup. Review the instructions below for help.

If you’re sending your survey from Salesforce, create an email template and flow. You may need to contact your Salesforce admin for help.

To set up your email in Salesforce:

  1. In Salesforce, build your email template and add your web link to the email body. 
  2. Create an email alert using your email template. Make sure to use the object you chose to trigger your survey when you created your web link.
  3. Create a flow that sends your email alert when conditions are met. Make sure to use the object you chose to trigger your survey when you created your web link. 

Example: You want to trigger a survey when someone closes a case. When you build your flow, choose Case as the object to trigger your survey. Select the Case object for your email alert. In Salesforce, create a flow that sends your email when a Case status changes to Closed. When the email is sent, the custom variables in the survey link will populate with data for the person receiving the email.

To send an Email Invitation from SurveyMonkey:

  1. If you haven’t already, create your custom email message in SurveyMonkey. Then, come back to the integration.
  2. In the deployment step of your mapping, select your collector from the dropdown. It will be labeled as a Draft, not Open.
  3. Select Customize Message to select your survey, existing email invitation, and message. Or, select Default to use our default email message.
    If you don't select a draft message, we'll use the SurveyMonkey default email message.
  4. If the preview looks good, select Confirm.
  5. Select an object to monitor (the object that triggers your survey) and the email field to pull the email address from. These Salesforce fields will be sent with the Outbound Message, so they must be available fields on the object you are monitoring.
  6. If you selected custom variables in your object mappings, map these to their corresponding Salesforce fields. The Salesforce fields will be sent with the Outbound Message, so they must be available fields on the object you are monitoring.
  7. Select Save Mapping.
  8. Copy the URL.
  9. In Salesforce, create a new Outbound Message or pull up an existing one.
    • Paste the URL from SurveyMonkey as the Endpoint URL.
    • In Fields to Send, add the Email and any other fields you used in your object mappings. These fields will be sent in your Outbound Message.

Example: Let's say you monitored the Case object, selected Contact Email [for email], and mapped custom variables for Case ID and Contact ID. In your Outbound Message, add Contact Email, (Case) ID, and Contact ID.

  1. In Salesforce, create a flow to send your Outbound Message. Include the object you chose to monitor in your email invitation. For example, if you monitored the Case object, create a flow for the Case object.
  2. Save and test your flow. You can immediately check your collector in SurveyMonkey to confirm an email invitation is pending.

To change your email message after your collector has received responses:

  1. In SurveyMonkey, go back to your Email Invitation collector and select Invite more.
  2. Edit your email message, then select Resume later.
  3. Go back to the deployment step of your mapping.
  4. Select Customize Message.
  5. Select your survey, collector, and then the new template.
  6. Select Confirm if the preview looks good.

There are a few common errors with email invitations. Here are a few things to try to fix email invitation issues.

  • Make sure your Salesforce account has permissions to send Outbound Messages.
  • Check your Outbound Message in Salesforce. If you see an error, confirm that your endpoint URL is correct. This should be the link you got in the last distribution step in SurveyMonkey.
  • Make sure the right fields were added to the Outbound Message. Some fields have similar names. Including the wrong field can cause the flow to fail.

Take a test version of your survey to make sure your mappings work correctly. You can review mapping errors in the Audit Log.

Select Mappings near the top of the page to see a survey's audit logs or errors. You can select the iAudit log icon to view your successful syncs or select the !Error icon to view an error description.

Shared Mappings give your team visibility into your survey mappings for better collaboration.

To let your team access your survey and mappings:

  1. From SurveyMonkey, share your mapped survey with your team members. Make sure you give Full Access permissions to the Design Survey section.
  2. From the SurveyMonkey for Salesforce integration, go to My Mappings and click the Shared toggle for surveys you want to make available.

Don't see the Shared column in My Mappings? Contact your CSM to activate the feature for your team.

To view the team's shared mappings, hover over the down arrow next to Connected Accounts or My Mappings and select Shared Mappings.

There's a down arrow next to My Mappings.

Team members can Edit Shared Mappings but can't view the deployment options page. To get the invitation URL, team members can contact the survey owner.

If you build mappings in a Sandbox account, you can copy them over to a production account. To copy mappings:

  1. If you haven't already, add a connection for your other Salesforce account.
  2. On the My Mappings page, check the box for the survey you want to copy.
  3. Select Copy to Account.
  4. Select the account to copy your mapping to.
  5. Select OK.
  • How do I tie my responses to a specific record in Salesforce?
  • Will survey responses collected before I connected the integration populate in Salesforce?
  • How do we keep the responses sync active if the user that set up the mappings leaves the company?