Ingest your files into Unstructured from Salesforce.

The requirements are as follows.

  • A Salesforce account.

  • Your Salesforce username. To get this username, do the following:

    1. Log in to your Salesforce account.
    2. In the top navigation bar, click the Quick Settings (gear) icon, and then click Open Advanced Setup.
    3. In the Home tab, under Administration, expand Users, and then click Users.
    4. Note the User Name value (not the Name value) for your user.
  • The names of the Salesforce categories (objects) that you want to access, specified as a comma-separated list. Available categories include Account, Campaign, Case, EmailMessage, and Lead.

  • A Salesforce connected app in your Salesforce account.

    If you do not already have a Salesforce connected app, to create one, start by creating or getting the certificate (.crt) and private key (.pem) files that you will associate with the connected app.

    If you do not have the certificate and private key files, you can use the openssl utility on your local machine to create your own private key and self-signed certificate, if your organization allows, by running the following commands, one command at a time:

    openssl genrsa -out MyPrivateKey.pem -traditional
    openssl req -new -key MyPrivateKey.pem -out MyCertificateSigningRequest.csr
    openssl x509 -req -in MyCertificateSigningRequest.csr -signkey MyPrivateKey.pem -out MyCertificate.crt -days 365
    

    Of course, you can change these preceding example filenames as needed. Be sure to store these generated files in a secure location.

    To create a Salesforce connected app, do the following:

    1. Log in to your Salesforce account.

    2. In the top navigation bar, click the Quick Settings (gear) icon, and then click Open Advanced Setup.

    3. In the Home tab, under Platform Tools, expand Apps, and then click App Manager.

    4. Click New Connected App.

    5. With Create a Connected App selected, click Continue.

    6. At a minimum, fill in the following, and then click Save:

      • Connected App Name

      • API Name (can be the same as Connected App Name, but do not use spaces or punctuation)

      • Contact Email

      • Under API (Enable OAuth Settings), check Enable OAuth Settings.

      • For Callback URL, entering https://localhost is okay if you won’t be using this connected app for other special authentication scenarios.

      • Check Use digital signatures, click Choose File, and browse to and select your certificate (.crt) file.

      • For Selected OAuth Scopes, move the following entries from the Available OAuth Scopes list to the Selected OAuth Scopes list:

        • Manage user data via APIs (api)
        • Perform requests on your behalf at any time (refresh_token, offline_access)
      • Uncheck Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows.

      • Leave Require Secret for Web Server Flow checked.

      • Leave Require Secret for Refresh Token Flow checked.

      • Check Enable Authorization Code and Credentials Flow.

    7. On the connected app’s details page, click Manage, click Edit Policies, set the following under OAuth Policies, and then click Save:

      • Set Permitted Users to All users may self-authorize.
      • Set IP Relaxation to Relax IP restrictions.
      • Set Refresh Token Policy to Refresh token is valid until revoked.
  • The OAuth consumer key (client ID) for the Salesforce connected app.

    To get the Salesforce connected app’s consumer key, do the following:

    1. Log in to your Salesforce account.
    2. In the top navigation bar, click the Quick Settings (gear) icon, and then click Open Advanced Setup.
    3. In the Home tab, under Platform Tools, expand Apps, and then click App Manager.
    4. In the list of apps, click the arrow next to the target connected app, and click View.
    5. Click Manage Consumer Details.
    6. Complete the on-screen security verification.
    7. Note the Consumer Key value.
  • You must use your Salesforce account to do a one-time approval of the Salesforce connected app by using its consumer key and callback URL. To do this, while you are logged in to your Salesforce account, browse to the following URL, replacing <client-id> with the consumer key value. This URL assumes that the callback URL is https://localhost:

    https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=<client-id>&redirect_uri=https%3A%2F%2Flocalhost
    
  • To ensure maximum compatibility across Unstructured service offerings, you should give the contents of the private key (.pem) file to Unstructured as a string that contains the contents of the file (not the private key file itself).
    To print this string suitable for copying, you can run one of the following commands from your Terminal or Command Prompt. In this command, replace <path-to-private-key-file> with the path to the private key file.

    • For macOS or Linux:

      cat <path-to-private-key-file>
      
    • For Windows:

      Get-Content <path-to-private-key-file>
      

To create the source connector:

  1. On the sidebar, click Connectors.
  2. Click Sources.
  3. Cick New or Create Connector.
  4. Give the connector some unique Name.
  5. In the Provider area, click Salesforce.
  6. Click Continue.
  7. Follow the on-screen instructions to fill in the fields as described later on this page.
  8. Click Save and Test.

Fill in the following fields:

  • Name (required): A unique name for this connector.
  • Username (required): The Salesforce username that has access to the target Salesforce categories (objects).
  • Salesforce categories: A comma-separated list of the Salesforce categories to access. Available categories include Account, Campaign, Case, EmailMessage, and Lead.
  • Consumer key (required): The consumer key (client ID) for the target Salesforce connected app.
  • Private key (PEM) (required): The private key (PEM) associated with the consumer key for the Salesforce connected app. The PEM must be expressed as a single-line string.