Survey Expert Ryan Farmer observes that many well-known companies aren’t branding their surveys, and discusses why survey design is hyper-important when you want to gather customer feedback.
SalesForce.com Integration
Version 3.x Instructions
Optional: Go to the SurveyGizmo version 2.x instructions
We’ve gotten a lot of interest in our SalesForce.com module, which is basically just a custom implementation of our API. This tutorial covers the operations you can do with SalesForce as well as special things you should keep in mind when using it. If you’re interested in auto-sending a survey from SalesForce, you also might want to check out auto-sending a survey from SalesForce tutorial.
Please note that this feature requires a SalesForce account level of Enterprise or Unlimited.
- Load SalesForce data into your survey
- Format a Survey URL to Load a SalesForce Record
- Taking Advantage of Email Invites
- Create or update SalesForce records with data in your survey
Our SalesForce Integration is in the form of an Integration Module that uses SalesForce’s XML API. SalesForce integration requires access to the SalesForce API, which is only available at certain SalesForce account levels. It’s all encapsulated so you don’t need to do any coding.
From your Account Settings (top-right) » API tab, you just need to supply SurveyGizmo with a SalesForce username and password to access your account. Here’s a screen shot:

Load SalesForce Data into your Survey
Once you add that information, a new action will appear for use in your surveys when you click Add actions in the survey editor: SalesForce.

Give your SalesForce action a name and click Add and Edit Action in the bottom right.

From here you can choose to populate the survey from SalesForce, update existing SalesForce records, or create new SalesForce records in your SalesForce account. You can do this to any SalesForce object, including custom objects. In the screenshot above we are choosing to load a SalesForce contact record into our survey. Click Save in the bottom-right.
Next we need to tell SalesForce which record to load. This is typically done from a url query string parameter, which you will add to the survey url when you publish it (see below). You can also do it from a hidden field in your survey or in an email invite field. Here we are using the merge code wizard to select “URL Variable,” then replacing “xxx” with “cid” as the merge code wizard indicates.

Now all we need to do is to map the fields from SalesForce to corresponding questions in our survey. (This is directly below the section in the screen shot above.)

Format a Survey URL to Load a SalesForce Record
When it comes time to deploy your survey, you will need to configure your survey url to match how you set it up in the section above. First, you’ll want to get the Web Link URL or create a new Web Link from the Publish tab for your survey.

Next, append a question mark, the parameter name that you specified in the step above (“cid” in our case) and an equals sign.
http://acme.salesforce.sgizmo.com/s3/?cid=
Here’s where it gets interesting. You will need to add the correct contact id for the person you are sending this url to, so how you do it will depend on what system you use. In many email marketing and content management systems, it will be a merge code that looks something like this:
http://acme.salesforce.sgizmo.com/s3/?cid=[%some_field_name%]
Check the documentation for your product to get the exact merge code.
Taking Advantage of Email Invites
If you uploaded your contacts to our Email Invite system, you can include the SalesForce contact id as a custom field and use that to load the record instead of a url parameter.

Create or Update Records in SalesForce
Creating or updating a record in SalesForce is essentially the reverse of loading. Create the SalesForce action, Choose the record to update, and choose to either Create a new record or Update an existing record:

If simply adding a new record, the next step is to map the fields that will be updated (see the end of this section).

If updating a record, you will need the unique ID for the particular record to be updated, which you passed over during the early sections. In the below image, we are grabbing the contact id from the query string value: cid.

As you can see, the fields on the left are your survey questions, and you map them to SalesForce in reverse of the method used in the load action.

NB: If you’re interested in auto-sending a survey from SalesForce, you also might want to check out our auto-sending a survey from SalesForce tutorial.
Version 2.x Instructions
We’ve gotten a lot of interest in our SalesForce.com module, which is basically just a custom implementation of our API. This tutorial covers the operations you can do with SalesForce as well as special things you should keep in mind when using it. If you’re interested in auto-sending a survey from SalesForce, you also might want to check out auto-sending a survey from SalesForce tutorial.
- Load SalesForce data into your survey
- Format a Survey URL to Load a SalesForce Record
- Taking Advantage of Email Invites
- Create or update SalesForce records with data in your survey
Our SalesForce Integration is in the form of an Integration Module that uses SalesForce’s XML API. It’s all encapsulated so you don’t need to do any coding.
From your Accounts » API Tab, you just need to supply SurveyGizmo with a SalesForce username, password to access your account. Here’s a screen shot:

Load SalesForce data into your survey
Once you add that information, a new action will appear for use in your surveys when you click Add actions in the survey editor: SalesForce Integration.

From here you can choose to populate the survey from SalesForce, update existing SalesForce records, or create new SalesForce records in your SalesForce account. You can do this to any SalesForce object, including custom objects. In the screenshot above we are choosing to load a SalesForce contact record into our survey.
Next we need to tell SalesForce which record to load. This is typically done from a url query string parameter, which you will add to the survey url when you publish it (see below). You can also do it from a hidden field in your survey or in an email invite field. Here we are using the merge code wizard to select “URL parameter,” then replacing “XXX” with “cid” as the merge code wizard indicates.

Now all we need to do is to map the fields from SalesForce to corresponding questions in our survey. (This is directly below the section in the screen shot above.)

Format a Survey URL to Load a SalesForce Record
When it comes time to deploy your survey, you will need to configure your survey url to match how you set it up in the section above. First, you’ll want to get the standard url from the Publishing tab for your survey.

Next, append a question mark, the parameter name that you specified in the step above (“cid” in our case) and an equals sign.
http://acme.salesforce.sgizmo.com?cid=
Here’s where it gets interesting. You will need to add the correct contact id for the person you are sending this url to, so how you do it will depend on what system you use. In many email marketing and content management systems, it will be a merge code that looks something like this:
http://acme.salesforce.sgizmo.com?cid=[%%some_field_name%%]
Check the documentation for your product to get the exact merge code.
Taking Advantage of Email Invites
If you uploaded your contacts to our Email Invite system, you can include the SalesForce contact id as a custom field and use that to load the record instead of a url parameter.

Create or Update Records in SalesForce
Creating or updating a record in SalesForce is essentially the reverse of loading. As you can see, the fields on the left are your survey questions, and you map them to SalesForce the way you did the reverse in the load action.

NB: If you’re interested in auto-sending a survey from SalesForce, you also might want to check out our auto-sending a survey from SalesForce tutorial.