Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Alteryx Designer Desktop Knowledge Base

Definitive answers from Designer Desktop experts.

Salesforce Tools

JakeS
Alteryx Alumni (Retired)
Created

SFPic.png

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 likehttps://[instance].salesforce.com.

sfdc1.jpg

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:

sfdc2.jpg

Click on Personal > Reset My Security Token:

sfdc3.jpg

This will send out an automated email with your security token. Voila! You should be ready to connect!

Configuring the tool

SalesforceInputTool.png

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:

CustomQuerySF.png

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.

ExistingReport.png

_____________________________________________________________________________________


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)

UnableToReachSOAP.png

-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 toOptions->User Settings->Edit User Settings->Advanced. There is anarticle on the communitythat 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)

SFerror1.png

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.”

SFinvalidLogin.png

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 @JordanBfor more common issues and troubleshooting steps.

Other:

Salesforcehas 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.

Comments
NJT
11 - Bolide

I only have access to the reporting features for Salesforce and really just the email reporting features which seem to still be branded under ExactTarget. My company has Single SIgn On set up for Salesforce and the URL I got to is an internal one that then I login using my windows credentials and it opens ExactTarget. Will this connector work with that set up, I haven't figured out what URL to put in so far. 

brendafos
10 - Fireball
I've just upgraded to Designer 2018.3 and I'm concerned to see that the Salesforce Input now is labeled as deprecated. I am do a large amount of Salesforce data work and I am using the Alteryx Salesforce Input and Output. In fact, I took the Salesforce Input and Output can customized them to store the login details to my 3 Salesforce environments. By customizing the Input tools I've set it up so that if my Salesforce credentials change, I only have to change them in one place, and not in every place I have used the Input and Output. Can you tell me what it means that the Salesforce Input is now deprecated? I need a long term strategy for using Salesforce and Alteryx. Thanks,
SophiaF
Alteryx
Alteryx

@brendafos - apologies for any confusion; the tool was originally packaged as part of the Designer installation. Moving forward, the tool will now be available as a standalone tool that you can download from the Alteryx Gallery. This allows for it to be updated independently of (and potentially more frequently then) the Alteryx Designer itself. The 'deprecated' tool simply refers to the packaged/included tool within the Designer; moving forward it will need to be downloaded from the Alteryx Gallery.

mbarone
16 - Nebula
16 - Nebula

Hi @SophiaF,

 

Was this communicated appropriately?

 

Maybe I missed it, but all I could find was In the documentation it simply states "The Salesforce Input tool was updated. In the Query Builder Output Fields, when you do not select any fields to retrieve from the table, the query now returns no fields instead of all fields".

 

It does not mention that the current tool is deprecated, and does not tell you that if you want the latest and greatest, then you have to download it from the Gallery from now on.  If we want to use the new tool, will we have to open each module with the old tool and manually replace them?  


And for me, I can't seem to get the YXI file to load.  I keep getting this error:

2018-10-22 15_01_18-Alteryx Designer x64 - New Workflow1.jpg

 

Thanks!

 

 

 

PaulN
Alteryx Alumni (Retired)

Hey @mbarone,

 

The Python error message is a network error. I can recreate the same if I switch off my network. Do you have a proxy setting or a firewall that could prevent the tool from loading its requirements (aka joining https://pypi.python.org) ?

 

Kind regards,

 

Paul Noirel

Sr Customer Support Engineer, Alteryx

mbarone
16 - Nebula
16 - Nebula

Hi Paul, yes we use proxy and have a firewall.  

mbarone
16 - Nebula
16 - Nebula

Also, the "deprecated" tool is not the same as the "old" tool.  How can I find and add to my palate the "old" tool?  I can copy it out from my existing modules, but as I said it's not the same as the deprecated tool (the deprecated doesn't have the manual query builder).

scottr1
6 - Meteoroid

Hi all,

I upgraded to 2018.3 and noticed there was an upgrade to Salesforce Connectors as well. When I try to install version 4.0, I get the error below:Salesforce Error.PNG

 

Anyone have the same issue or dealt with this before? Thanks,

brendafos
10 - Fireball

I am trying to install the new Salesforce Input, from Gallery, to our Alteyrx Server and it is not working. The .yxi never runs.

Would I need to reboot the server before the Salesforce Input will show up in Connectors?

 

And where should the tool files go? Do they go in ProgramData\Alteryx or ProgramFiles\Alteryx?
If it is ProgramData\Alteyrx what is the next folder it should go in? How can I install without the .yxi working?

 

This has been a real headache that I cannot get this working on Server. I'm having to manually run things from my Designer until I can get this working.

JakeS
Alteryx Alumni (Retired)

Hi @brendafos

 

On the server, the tool would go under Program Data\Alteryx. Are you not seeing any prompt when run the .YXI at all or are you getting an error message?

 

 

brendafos
10 - Fireball
Here exactly what I do: I remote from my local machine to our Alteryx Server. I open Designer from the Server. I go to Help \ Alteryx Downloads. I log in to Gallery, and search for Salesforce. I select Salesforce Input I click on RUN I click on RUN again from the Input screen. I see the choice of which version to run. I choose v4.0 since Server is running 2018.3 Internet Explorer opens a pop up box - I choose Open. IE puts the file in a IE temp -- SalesforceInput_v4.0.0 BUT IT DOES NOT RUN. So, form the IE popup box, instead of selecting Open I select Save. IE places the zipped file in the Downloads. The .yxi does not run. Would I need to restart Server to see the tool?
JakeS
Alteryx Alumni (Retired)

@brendafos

 

Thanks for the information. IE downloads the tools as a zip file. When this happens, you will have to manually change the .zip extension to .yxi. Then you can double click on the .yxi file which will automatically open the installer in Designer. If you download the tool in Google Chrome, it will automatically download as a .yxi. If you only have chrome on your local desktop, you can download the .yxi there and move it to the server.

 

Jake

brendafos
10 - Fireball
Jake, Ok, good information. I have copied over the .yxi to our Server. I have logged into the Server's Alteryx Designer as the Admin - but I am not an Admin on the server. I tried running the .yxi. It runs but says an Admin must be logged in to instal. If I'm going to have my admin run the .yxi I need to tell him if he needs to reboot the server for the tool to show up? If the the .yxi runs do you need to restart the server? And our Alteryx Server is not running on the C: drive it is on an E drive, so it would be nice to know exactly the file path the tools should be in. ProgramData\Alteryx\ ?????? Thank you.
JakeS
Alteryx Alumni (Retired)

Hi @brendafos

 

The tool will install automatically to C:\ProgramData\Alteryx\Tools. You will not need to reboot the server for the tool to show, it should show up right away.

 

Jake

brendafos
10 - Fireball
Jake, Thanks. I have the older versions of Salesforce Input on the server already. The versions which were found in ProgramFiles\Alteryx\bin\HtmlPlugins\ Can I leave those there, or do they need be removed. With the previous versions, I had hacked the tools making my own custom version of the Inputs, one for Full sandbox, one for Prod environment. That worked great. But with the new Salesforce tools I've not yet succeeded at customizing the tools. I think I'd need to change the Python code. But first I need to just get the new tools working. Thank you.
yashagrawal1111
5 - Atom

@scottr1

Were you able to resolve this error? I'm getting the same. Thanks.

 

Yash

brendafos
10 - Fireball
I never resolved the error - but I up graded my Designer to 2018.4 and now my older, HTML based, connectors, which I had hacked are now working. So I never got the Salesforce Input to install in Designer I kept getting the .yxi error. But removing the older version of Alterxy and upgrading to 2018.4 allowed my older HTML (rather than Python based) connectors to work. My issues was that I have many Alteryx workflows with many many Salesforce connections -reinputing the connection credentials over and over was tedious. So, I hard coded the connection details into the HTML file, and I made different Salesforce connectors for the Sandbox and the Production environments...
Olteryx
5 - Atom

@scottr1 @yashagrawal1111

I am also suffering with python error aiohttp==3.3.2 (from -r requirement.txt (line 1))

 

Interested to know if anyone has a fix

JakeS
Alteryx Alumni (Retired)

Hi @Olteryx @scottr1 @yashagrawal1111

 

I would recommend looking at the "Errors and Cancellation" section of the link here to troubleshoot the install issues. It could be an issue with your connection to the site that we download python packages from (pypi.org) or another issue that may be more visible in the PythonDependencyInstall.log which steps to find are included in the link. If you still are not able to install the tool, I would recommend submitting a case to Alteryx Support.

 

Jake

Olteryx
5 - Atom

@JakeS

 

Thanks. I tried troubleshooting using the information on that page. I wasn't able to resolve.

 

I contacted support and they were able to supply offline installation file that resolved the problem for the tool I was installing (Salesforce Input)

 

 

OmarP
Alteryx Alumni (Retired)

@brendafos Could you share how you did it?

yashagrawal1111
5 - Atom

@Olteryx 

Thanks, I also contacted support and got the salesforce input tool installed by the offline installation package.

 

 

derekc
6 - Meteoroid

I initially had an error when trying to connect to an existing SF report which said something like 'report_endpoint' was not defined on line 38 in theC:\Users\John Doe\AppData\Roaming\Alteryx\Tools\SalesforceInput_v4.1.0\engine\tsf_reports.py file. 

 

I had to edit line 38 to read like this for it to work (i.e with report_DATA_endpoint as the correction):

 

with sf_proxy.manual_proxy_context_for_url(self.session, report_data_endpoint):

                                                                                                        ^^^^

 

Hope that helpls anyone who had the same issue.

joeGade
10 - Fireball

Found solution. Looks like it’s a Proxy server issue in enterprise env's . I tested and its working  .

 

1.        Open your Salesforce input or output install location or look for sf_proxy.py in your C:/Drive

    • Example for Admin installs: C:\ProgramData\Alteryx\Tools\SalesforceInput_v4.0.0\engine\sf_proxy.py
    • Example for Non-Admin installs: C:\Users\{USERNAME}\AppData\Roaming\Alteryx\Tools\ SalesforceInput_v4.0.0\engine\sf_proxy.py

version number may be different based on what you installed 

2.        search for this text

else:

os.environ['HTTP_PROXY'] = ''

os.environ['HTTPS_PROXY'] = ''

  1. put your Proxy host name in  between  quotes 'http://proxy.yourcompany.com:80'
FláviaB
Alteryx Community Team
Alteryx Community Team

Hola, @PabloVazquez.

 

Encontré esta publicación que creo que podría ayudar con tu pregunta. De cualquier manera, le recomendaré que busque por la palabra "Salesforce" en la barra de búsqueda para ver si puede encontrar otro contenido relacionado en la Comunidad. Dado que todo esto está en inglés, también les animo a iniciar una conversación en nuestro Foro en la Comunidad en Español😉

Estoy aqui si necesitas algo mas. 

rgwilcocks
5 - Atom

Hi Alteryx,

 

Looks like I am able to upload Knowledge Articles (Knowledge_kav selection in the tool). We have a custom field for the content and for some reason, it limits the content of the articles to about 31,500 characters. In Salesforce, the specific field has been configured to allow up to 131,072 characters. If an Article has anything over 31,500 characters, then it just skips the content completely. Any insight to why this is doing this? Based on the Bulk API Limits (https://developer.salesforce.com/docs/atlas.en-us.242.0.salesforce_app_limits_cheatsheet.meta/salesf...), this should be doable.

 

Thanks.