WebService API with Salesforce Flows

In order to successfully trigger Salesforce flows, steps need to be taken in SalesForce and in Xima CCaaS. This article will walk you through each step.

Steps to get this working on the Salesforce Side:

  • Create a User whose credentials will be given to CCaaS (a user that is only used for CCaaS integrations)
    • Set the User License as "Salesforce Integration"
    • Set the Profile as "Salesforce API Only System Integrations"
    • Check the "Flow User" checkbox
  • Create a new Connected App
    • Enable OAuth Settings
    • Enable for Device Flow
    • Enable the appropriate OAuth Scopes (I set it to Full Access for testing)
    • Enable Token Exchange Flow
    • Set the OAuth Policy of "Permitted Users" to "All users may self-authorize"
    • Set the OAuth Policy of "IP Relaxation" to "Relax IP restrictions"
  • Create whatever flow you want to send data into
    • Make sure the flow gives the right access
    • Make the variables 'available for input'

Steps to get this working on the CCaaS or Chronicall Side:

  • Create a new WebService Profile under WebService Integration in the desktop app

  • The Target URL will be the URL for the Flow in Salesforce
    As an example:
    https:// myproductionorg.my.salesforce.com/services/data/v59.0/actions/custom/flow/API_Name_Of_My_Flow
  • Set the HTTP Method as POST
  • Set the triggering call criteria and triggering event as needed
  • Set whatever parameters you want to under ‘Salesforce Parameters’, with the Parameter Names corresponding to the variables in the Salesforce Flow
  • Add 4 Salesforce Auth rows with the following names and values (the names must be typed exactly as listed for it to work):
    • username
      • value is the username set up in Salesforce
    • password
      • value is the password for that user
    • clientId
      • value is the Consumer Key for the connected app in Salesforce
    • clientSecret
      • value is the Consumer Secret for the connected app in Salesforce

Once those 2 things are set up, when the Triggering Criteria are met on the Triggering Event, the Salesforce Parameters will be sent into the flow specified in the Target URL.