Salesforce Tools
Connecting to Salesforce
In order to use the Salesforce Input or Output tools in Alteryx, you must first connect to Salesforce using your Salesforce credentials:
1. Make sure you have the correct Salesforce URL; it will look something like https://[instance].salesforce.com .
2. Your Salesforce username
3. Your Salesforce password
4. A Security token that you can recover from your Salesforce administrator or using the steps below (if you have the sufficient privileges from your Salesforce admin):
In Salesforce.com, click on the picture icon in the top right-hand corner and click on my Settings:
Click on Personal > Reset My Security Token:
This will send out an automated email with your security token. Voila! You should be ready to connect!
Configuring the tool
Environment - Choose the environment that you wish to utilize for the data pull. We will automatically find the host name based on your email address.
User Name - Salesforce username (often an Email address).
Password - Password associated with Salesforce account.
Security Token - If necessary, you can send a new token to your email by logging in to Salesforce, going to “My Settings”, and selecting “Reset My Token” under the “Personal” tab.
Once you click the ‘connect’ button, Salesforce will authorize your credentials, and you will be able to begin using the tool to query Salesforce data.
Salesforce Input Tool (Querying Salesforce)
Query Builder:
The Query Builder has four fields that allow you to select the data you would like to pull from Salesforce simply, without having to write full SOQL (Salesforce Object Query Language) statements:
Table: Select the table you would like to pull fields from. *The list only includes ‘Queryable’ tables as defined by the flag ‘Queryable’ set to true or false returned by the API call.
Fields (optional): Select the fields in the table you need data from. If no fields are selected, all fields will be pulled.
Record Limit (optional): Place a MAX on the number of records you will pull.
WHERE Clause (optional): Using a SOQL statement, specify the conditions that you require for the data you pull. *You do not need to include ‘WHERE’ in the statement. Ex. AccountID = ‘2543456’
It is best practice to limit the records you bring in with the Fields, Record Limit, and WHERE clause arguments in the Salesforce Tool instead of bringing in all of the salesforce data, and then filtering down the data with tools in Alteryx.
Custom Query:
If you prefer Querying Salesforce using SOQL, you can use the Customer Query to write out SOQL statements. For full SOQL Syntax, see this link. If you began using the Query Builder, and decided to change to the custom query, the pre-existing query will already exist in the Query Builder in full SOQL syntax:
Below the SOQL Query text box is a check box for “Attempt to Parse JSON Response.” With this box checked (the box is checked by default), Alteryx will attempt to parse the response returned from the API call for quick viewing in the results window. If the box is left unchecked, the API response will be returned in one field titled “JSON.” You can parse this response using the JSON Parse tool in Alteryx.
Next to the “Attempt to Parse JSON Response” check box is a “Validate” button. Clicking this button prior to running the workflow will submit the query to Salesforce to determine if it valid. It will also check to see if the response from the API will be able to be parsed automatically, which should prompt you to leave the “Attempt to Parse JSON Response” check box selected.
Existing Report:
This option will allow you to pull any pre-built reports and their data that already exist in Salesforce. Simply select the report you which to read in and run the workflow.
_____________________________________________________________________________________
Salesforce Output Tool (Writing to Salesforce)
Connecting to the Salesforce Output is identical to the Salesforce input tool. URL, User Name, Password, and Security Token are all required credentials to connect to the API.
There are only two options that need to be selected in the Salesforce Output tool. Both are required.
Table: Select a table to write to from the list of tables available
Output Operation: Select the operation for how you will write the data to the table. The three available options are Update, Insert, and Delete.
** If you want to overwrite values in Salesforce with null values, use “#N/A” instead of “null.” You can accomplish this with a replace function in the Formula tool.
Basic Troubleshooting steps:
Error: “Unable to reach SOAP API (Check URL)”
-Check to see if your username needs to have the domain attached (eg. JonDoe@alteryx.com).
-If you’ve ensured that the URL is correct, this may be a proxy issue. Alteryx should pick up the proxy settings, but you may need to enable them manually by going to Options->User Settings->Edit User Settings->Advanced. There is an article on the community that walks through this.
-The tool requires that your Salesforce account is API enabled. You may have to work with your Salesforce administrator for granting your account API User Permissions.
_____________________________________________________________________________________
Error: “The following fields are not updateable members of the target table: (table)”
This error is telling you that your Salesforce administrator has locked the fields from being updated, and you will have to work with them determine what can be updated.
____________________________________________________________________________________
Error: “INVALID_LOGIN: Invalid username, password, security token; or user locked out.”
After you have confirmed that your credentials are correct, and you are not locked out of Salesforce, check to see if your company uses SSO (single-sign-on) for Salesforce. You can check this by seeing if Salesforce requires a password directly when you log in a browser. This authentication is not supported by the connector, and will not work. You must use credentials that log you in directly into Salesforce for the tool to work.
*See the “Common Issues” section of this Community article by @JordanB for more common issues and troubleshooting steps.
Other:
Salesforce has a maximum length for SOQL statements, which is set at 20,000 characters by default. There is also a maximum length of 4,000 characters for the WHERE clause. Other SOAP API call limits can be found here.
As the API accepts data in batches which have limits, the output tool contains logic to take care of the batching. Please see this link for more details.
View full article