Using the Alchemer Salesforce integration you can pull information from and push information to Salesforce.
Please fill out our request form to be notified of critical updates/changes to the Alchemer Salesforce integration.
Salesforce Integration Action Options
You can set up Alchemer Salesforce integration to do any of the following actions within your surveys:
Pull Data - When pulling data from Salesforce you can identify a given record and pull information associated with that record. This data can then be stored, displayed, used, and reported on in Alchemer. Learn more in our Salesforce Pull Action Tutorial.
Push Data - Pushing data simply means sending data to Salesforce. You can leverage logic options to push to different Salesforce objects under different circumstances. Learn more in our Salesforce Push Action Tutorial.
- Upsert - If you have a Salesforce ID, the ID will be used to update an existing record during an upsert. If an ID doesn't exist, a new record will be created. An upsert is a conditional action: update if it exists, insert if it doesn't.
- Insert - Insert is the term used for creating a new record. An identifier is not mapped in this case as it doesn't exist.
- Update - An update is just that, an update of an existing record. As such, an ID field or unique identifier is required.
Requirements for integrating Alchemer with Salesforce:
- An Enterprise or Unlimited edition of Salesforce including person accounts (these are paid accounts - our integration will not work with a Demo account)
- Alchemer Admin User
- Salesforce Admin or have access to the admin
- Must have access to the API in Salesforce
- Must know or be able to obtain your Salesforce Security Token
Getting Your Salesforce Security Token
You'll need your Salesforce password and security token in order to integrate with Alchemer. If you already know both you can skip to the next step. It is important to note that each time you change your Salesforce password your security token will update.
1. Log in to Salesforce.
2. In Salesforce, click your username and click the dropdown to get to the My Settings. Go to Personal > Reset My Security Token and then click the Reset My Security Token button.
3. This will send an email with your security token.
Integrating Your Salesforce and Alchemer Accounts
1. From the Left Hand Navigation Menu, go to Integrations > Date Connectors.
2. Scroll down to the Enterprise Level integration section and click Configure next to the Salesforce option.
3. Enter an account label (useful for identifying multiple Salesforce Accounts in Alchemer) and your Production Credentials. For the Password + Security Token field you must enter the password and security token together with no spaces. If you're just getting started and wish to only use your sandbox for testing you can leave the production credentials blank and enter only the sandbox credentials.
4. (Optional) Set a Default Object if you wish. The default object you specify will be selected by default when creating Salesforce actions. Often Alchemer Salesforce Integration users are only working with an object or two in Salesforce; we created this option to prevent you from having to scroll through the long list of possible objects when setting up Salesforce actions in your surveys.
5. (Optional) If you wish to receive an email when there is a problem with your authentication credentials, enter your email address (and/or the email address of others you wish to notify) in the Email Alerts field.
6. (Optional) If you have a Salesforce sandbox account enter Sandbox Credentials; this is optional but nice set up if you have it as we'll use the sandbox when recording test responses. Learn more about integrating with sandboxes.
Once you save your Salesforce credentials the system will check to make sure that it can communicate with Salesforce. You'll see a green checkmark if communication is successful. If you see anything other than a green checkmark double check that you entered your credentials correctly.
Integrating with Salesforce Sandboxes
If you have a Salesforce Sandbox account that you'd like to integrate with for testing purposes you can do so by entering your Salesforce sandbox account credentials when setting up your Salesforce integration.
Go to Integrations > Data Connectors. And add a new or edit an existing Salesforce integration.
What do I need to know about integrating with a Sandbox Account?
Test responses will always use a sandbox account if the credentials are present. Test responses include:
- Any response recorded via the New Test Response or Invite Others to Test buttons on the Test tab.
- Any response recorded via the Invite Others to Test option in Build > Preview.
- Any response recorded via Build > Preview that is selected to be recorded.
If you wish to test email campaign responses with your sandbox account you will need to delete your Salesforce production credentials. You will also need to record live email campaign responses. We recommend creating a test email campaign for this purpose.
Only test responses will use the sandbox credentials. The purpose of a sandbox is to allow you to experiment with custom fields, interdependencies, and such. However, often the relationship between objects may be different in these environments. If you need to test in your production account record a live response.
Can I integrate with a Salesforce Person Account?
Yes. The objects, custom objects, fields, and custom fields in the person account are accessible with the same SOAP API.
Can I map a File Upload question?
You can absolutely do this! It will send over the link to the uploaded file. Note: If your File Upload question allows for multiple files to be uploaded, only the first uploaded file will be passed to Salesforce. If you need multiple files, you will need separate File Upload questions for each required file.
Is there a limit to the information in one action I can pass?
Yes, there is a limit of 100 mapped fields. If you reach this quota you will need to contact support for your limit to be increased.
The Alchemer Salesforce Integration uses the Salesforce SOAP API. You may also be subject to the SOAP API limits described here.
I'd prefer to push a link to the Alchemer response or just a unique identifier for the response to Salesforce rather than the data. How can I do this?
While Response ID is not available in the response itself there are a couple of options for sending a unique value over to Salesforce. Check out our Unique Identifier Tutorial for more info.
Can I pull Salesforce data into Alchemer if I have multiple contact records with the same email address?
You can! The easiest way to do so is to use the Contact ID as the identifier when setting up your pull action.
International Characters in Salesforce
When a Salesforce account is created, it is assigned either an ISO-8859-1 character set or a UTF-8 character set. Alchemer uses UTF-8 encoding to pass data into Salesforce. In order to understand this data, your Salesforce account has to use UTF-8 character set. If your account uses an ISO-8859-1 character set, the data will not be passed successfully. As a result, you may have records that are not updated or not created. If you call your Salesforce representative, they should be able to change your character set to UTF-8 very quickly.
Passing Semi-Colon-Separated Checkbox Questions
By default, checkbox questions passed to Salesforce are comma separated. If you'd prefer to pass them as semi-colon (or another character if you wish) by following the below steps.
- Add a Hidden Value action to the page following your checkbox question
- Use the following merge code [question("value"), id="3", delimiter=";"] in the Value field
- Pass that Hidden Value field to Salesforce
Actions not Pushing Data to Salesforce?
Record a Response for your Salesforce action. Next, go to that response under Results > Individual Responses and click the Action Log. Here are few examples of the output to give you some clues.
This is what a successful Salesforce Push response looks like. There's a lot of bippity boppity boop there but the important part is the success value of 1, which means true.
The b;0 error in the Output field occurs when the incorrect Account ID is entered to be passed. If you are seeing this error, check your Salesforce Account ID to verify that it is correct.
If there is an input with no output this means that Salesforce did not accept our send. This can happen for a variety of reasons. We recommend checking your Salesforce fields for the following:
- Are required fields being completed in the send?
- Is there a character limit on any fields?
- Is the field you're mapping a read only field?
- What type of fields are you passing to in Salesforce? Some field types only accept certain types of information. For example some fields are boolean values (true or false) so they only accept those values. Checkout the Salesforce field definitions to learn more.
- Passing Boolean Values to Salesforce - When you are passing information to Boolean field in Salesforce, please make sure that you are using upper case T and F. If you use lowercase t or f, it will not pass the data.
- Radio buttons and checkboxes should be “PickLists” in Salesforce. A checkbox question will be a “Multi Select Picklist” not a “checkbox” in Salesforce.
- The reporting values in Survey must be exactly the same in Salesforce in order for the data to pass.
The easiest way to test is to delete the fields you are passing and then add them back one at a time, testing after each add so you can tell which one is not sending properly.
Integration won't connect?
The most common issue we see in support is the token and password combination being incorrect. The best way to make sure it is 100% correct is to reset your security token and if it still won't connect, reset your password, thus triggering a new security token.
An Error?! But why?
Sometimes Salesforce actions will time out. Salesforce can time out when there are a number of separate actions in your survey. Our Salesforce actions use the Salesforce API (SOAP) to send and request data. As with most APIs, Salesforce throttles requests. If you are making several requests, it can stop your data send if you exceed their throttling limit. Learn more about Salesforce SOAP API limits here.
Some good questions to ask to determine whether this is what is going on:
- How many SF actions do you have?
- How much information are you passing?
- Are you passing one field per action?
Long and short? Try to keep as many fields to one action as possible.