Faraday’s pre-built integration with Salesforce as a destination allows us to share your Faraday data with 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.

Triggers and custom validations

Note that Faraday's ability to update records may be limited by any triggers or custom validations you have set up. In this case, please change your triggers or custom validations to not run if the user is Faraday.

Granting access within Salesforce

Warning: Using Salesforce as a digital Destination requires that a Connected App be set up 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.

    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.

  3. To set up a Connected App, head to setup in the upper right-hand corner.

  4. On the left-hand sidebar, click BuildCreateApps.

  5. Click New on Connected Apps.

  6. Under Basic Information, name it something descriptive like Faraday, and 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 (Enable OAuth Settings) section after saving the app, and save it in a text editor. There seems to be some 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 Connected App screen, click Manage.

  11. Click on 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. Click Manage Profiles under the Profiles section.

  14. Check off all the users and save.

Sending credentials securely to Faraday:

Go to the Faraday app’s Destinations console, click Create destination at the top.

  1. Search for Salesforce as a Destination location, enter a descriptive name, and click Next.

  2. Enter your credentials here, and click Next.

    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)

  3. Under Finalize, click Create destination. Faraday can now begin the integration process. Once your Account Manager confirms everything is all set up, Salesforce will be available as a destination in Reach, the Faraday tool used for delivering audiences to their destinations!

Deliveries to Salesforce

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

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

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

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

Did this answer your question?