Faraday’s pre-built integration with Salesforce as a destination allows us to share your Faraday data to your Salesforce account to activate with it.

We can push data such as Faraday Personas and your predictive Outcome, e.g. "High Risk for Churn” scores appended to your Salesforce contacts

Granting access

Warning: Using Salesforce as a digital Destination requires that a "Connected App" be setup in Salesforce. Instructions for doing so are below. It is recommended that you utilize a technical resource for this setup. Alternatively, with an admin login, we may be able to do this on your behalf. Please note this may look slightly different depending on the version of Salesforce used.

  1. First, we need to generate an OpenSSL self-signed certificate. DigitalOcean has a great walkthrough here: https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs

Relevant excerpt: 

Generate a Self-Signed Certificate

Use this method if you want to use HTTPS (HTTP over TLS) to secure your Apache HTTP or Nginx web server, and you do not require that your certificate is signed by a CA.

This command creates a 2048-bit private key (domain.key) and a self-signed certificate (domain.crt) from scratch:

openssl req \

       -newkey rsa:2048 -nodes -keyout domain.key \

       -x509 -days 365 -out domain.crt

Answer the CSR information prompt to complete the process.

The -x509 option tells req to create a self-signed cerificate. The -days 365 option specifies that the certificate will be valid for 365 days. A temporary CSR is generated to gather information to associate with the certificate.

Command line example: 

$ openssl req \

>        -newkey rsa:2048 -nodes -keyout domain.key \

>        -x509 -days 365 -out domain.crt

Generating a 2048 bit RSA private key



writing new private key to 'domain.key'


You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.


Country Name (2 letter code) []:US

State or Province Name (full name) []:VT

Locality Name (eg, city) []:Burlington

Organization Name (eg, company) []:VT

Organizational Unit Name (eg, section) []:

Common Name (eg, fully qualified host name) []:

Email Address []:alex.wright@faraday.io

This will produce a domain.crt  and domain.key  file:

a.  domain.crt will need to be entered in Salesforce during the Connected App setup process

b.  domain.key  needs to entered in Sources/or sent to Faraday

2.  Log into your Salesforce account from login.salesforce.com

3. We need to set up what is called a “connected app”. Go to setup (upper right hand corner)

4. On the left-hand sidebar, “Build” → “Create” → “Apps”

5. “New” on Connected Apps

6. Under “Basic information”, name it something descriptive like “Faraday”, enter a contact email

7: Under “API (Enable OAuth Settings)”:

  • Click the “Enable OAuth Settings” checkbox
  • Set “app.faraday.io” to the Callback URL
  • Check “Use digital signatures”, and upload the domain.crt file
  • For “Select OAuth Scopes”, we need
    - “Access and manage your data (api)”
    - “Perform requests on your behalf at any time (refresh_token, offline_access)”
  • “Require Secret for Web Server Flow” is on by default, just leave it on 

8. Scroll to the bottom and save the App

9. Copy the Consumer Key From the API section after saving the app, and save it in a text editor. There seems to be to difficulty finding again after that initial app creation so it is highly recommended that you copy/save in a text file before doing anything else.

10. At the top of the screen, click “Manage”

11. “Edit Policies"

12. Update “Permitted Users” to “Admin approved users are pre-authorized”. Then, “Refresh Token Policy” to “Expire refresh token after 7 days”. Save the changes.

13. “Manage Profiles” under the Profiles section

14. Check off all the users and save

15. To send credentials and configuration details securely, navigate to the Faraday app here: https://app.faraday.io/destinations and click "Create destination" - select Salesforce as the Destination, and give it a descriptive name.


Salesforce Private Key: The domain.key file

Salesforce Client ID: the Connected App Consumer key, (e.g. - 46BHJD121NmAc_PCvao4Q9lr81bmnd2KK_MV_h89b23cMPENXI6.pd1nsdbillpdgK2TNn3godbdy9vhabjmhd)

Salesforce username: (of the Connected App creator)

Deliveries to Salesforce

  1. Deliveries will create/populate "Contact" fields, which contain the matched email, model scores and persona assignment

2. Fdy_Email__c is the email matched to this individual in Faraday's identity graph

3. The Fdy_Per_XXXXX is the persona assignment, were XXXX is set of personas used, while the value below is the persona assignment

4. The Fdy_pro_XXXXX is the score, by outcome, were XXXXX is the outcome while the value is the score

Did this answer your question?