Salesforce Integration Setup
The integration is using server-to-server access which allows by-directional exchange of data without prompting users for credentials ensuring more reliable connectivity and higher levels of administrative control.
Create an Integration App in Salesforce.
Open your Salesforce Instance and navigate to Setup.
- Search for “Connected App”
- Create a “New Connected App”.
- Name your application, for example “Jointflows-integration”
- Enter your admin email address.
- Tick the box “Enable OAuth Settings”.
- In “Selected OAuth Scopes”, select Full Access.
- In “Callback URL”, type “https://oauthdebugger.com/ “
- Save.
- Click on “Manage Consumer Details”
You now have a Consumer Key and a Consumer Secret → WRITE THEM DOWN STRAIGHT AWAY. for some reason it seems very complicated to retrieve them later on…
Integration User
The integration requires a specific User to run. You can use any admin user or create a custom Profile and a specific user for the setup. Using a specific user allows you to limit access to the objects you need (opportunity, contacts, companies, etc…) and to bypass limitations such as password expiry.
Tips:
- Do not activate MFA for the integration user.
- We do recommend removing password expiry for practical reasons.
- Use a complex password avoiding special character such as “$#*” for the integration user.
More info:
Integration settings in Jointflows
Go to Settings/Advanced
The SFDC integration uses 6 TEXT parameters which you can edit or create if not already present.
- sfdc_integration_instance_name as the name of your instance (the first part of your URL when you access Salesforce)
- sfdc_integration_login as the login name of the User created earlier.
- sfdc_integration_password as the password for the integration User.
- sfdc_consumer_key as the Consumer Key set aside earlier.
- sfdc_consumer_secret as the Consumer Secret set aside earlier.
- sfdc_import_stage as the stage of the Opportunities ready to be imported. For example Negotiation/Review
NOTE: Ticking “Hide” will prevent anyone from seeing and accessing the setting which can be useful from a security perspective but will require Jointflows tech support to un-hide if those settings need updating.
Two more settings are used to activate the integration and specify that the crm system is Salesforce:
- crm_integrated as a BOOL to be set to True to activate the integration. Keep as False during setup or if you want to hide the “import from SFDC” hovering button.
- crm_system as TEXT to be set to sfdc
Testing your integration.
Once all parameters have been created/updated, open your user profile by clicking on your avatar (bottom left).
Click on the Salesforce option in Apps:
Troubleshooting:
"SFDC Connection failed. Error : invalid_client - invalid client credentials" → invalid integration_key
"SFDC Connection failed. Error : invalid_grant - authentication failure" → wrong login/password or special character causing auth string encoding issue.
"SFDC Connection failed. Error : invalid_grant - authentication failure" → Could also be a missing Security Token (see below).
Troubleshooting from Salesforce
To get more details look at what the logs say in Salesforce in Setup/Login Audit , it will provide more details as to what the issue is.
XXXXXXXXXX, we would use mypasswordXXXXXXXXXX instead of just the password.