🚨 Prerequisite:
You must have the Admin rights in both Salesforce and Modjo. If so, follow the quick and easy steps described below:
⏱️ Duration time: 10' on average
1. How does it work?
Modjo binds with Salesforce CRM allowing to:
Find your Salesforce contacts, accounts and opportunities related to your calls in order to import and display them within the platform.
Make sure the calls were logged in Salesforce as a "call activity" in the contact/account/opportunity timeline. If the call was already logged by the phone provider (ex: Aircall), we'll solely add the link to the call in Modjo. In the event that the call wasn't logged, Modjo adds the call activity (with a few extra details) as well as a link to the call.
Display within Salesforce's calls' activities the comments made on their corresponding calls in Modjo.
Synchronize email activities present in Salesforce (related to your contacts/accounts/opportunities) in order to quickly visualize in Modjo the timeline of your past interactions.
Step 1
Create the "Modjo" External Client App in Salesforce
💡 Since Spring ’26, Salesforce no longer lets you create new Connected Apps by default. Modjo is now set up as an External Client App. If Modjo is already connected to your org through a Connected App, it keeps working — there is nothing to migrate.
Go to Salesforce home
At the top right-hand corner select the gear, then "Setup"
Type "External Client App Manager" in the search bar
Click on "External Client App Manager"
Within the page displayed => Click on "New External Client App"
Fill in the Basic Information with the following values:
External Client App Name: Modjo
API Name: Modjo
Contact Email: contact@modjo.ai
Distribution State: Local
Open the "API (Enable OAuth Settings)" section and make sure "Enable OAuth" is ticked
Fill the callback url (if an error occurs, enter the URL manually)
https://app.modjo.ai/integrations/salesforce/callback
Select 3 OAuth scopes (using the arrows)
Manage user data via APIs (api)
Access the identity URL service (id, profile, email, address, phone)
Perform requests at any time (refresh_token, offline_access)
In the Security section, leave "Require Proof Key for Code Exchange (PKCE) extension for Supported Authorization Flows" enabled. External Client Apps use the OAuth web server flow with PKCE, which Modjo supports.
Press the "Create" button
Open the app you just created and go to the Settings tab
Under OAuth Settings, click "Consumer Key and Secret"
Copy your consumer key
Copy your secret key
Save them for next step
Copy your "Salesforce instance Url"
This is the very first part of your browser Url when you log in Salesforce
(For instance, in the screenshot displayed below, the instance url is https://eu40.lightning.force.com)
Usually, it should look like:
yourcompany.lightning.force.com
OR yourcompany.my.salesforce.com.
⏳ Wait a few minutes before moving on to step 2. After the app is created, Salesforce can take up to 10 minutes to make it usable. If you connect Modjo straight away, you may get an "invalid client id" error — this is expected, simply wait a few minutes and try again.
Step 2
Set your Salesforce integration and bind users in Modjo
In Modjo, go to Settings => Integrations => CRM
Find Salesforce and click on Connect
A form appears (scroll upwards if you don't see it).
Click Save
Click Link your account
You should be redirected to a Salesforce login page => log in with your regular Salesforce credentials
Once you've logged in, you should be redirected back to the Modjo integration's page
Below All integrations, you should see Salesforce => Click to display the integration's settings
Afterwards, in the User tab, bind each and every Modjo user to his Salesforce's user access.
Good to know: you can use the Auto-match button to let Modjo link your users based on email matching.
Click Save
Step 3
Keep your data synchronized
💡 This action will enable your Salesforce CRM data to be updated in Modjo every 15 minutes.
In Salesforce, go to Setup (see Step 1)
Type "Change Data Capture" in the search bar
Click on "Change Data Capture"
Search and select "Opportunity"
Click on "Add" button
Search and select "Opportunity Contact Role"
Click on "Add" button
(You must have the same display as the image in the right)
Press Save button
Step 4
Grant us the necessary permissions (Objects Contact, Account, Opportunity, Lead, Task & Notes)
Screen recording of this step: https://www.loom.com/share/a2ed1dd40e904433b6a4cada547f7996
Go to Setup (Gear icon => Setup)
Navigate to Users => Users in the left sidebar
Find and click on your name
Check the assigned profile and click on it.
Click on Object Settings
In the search bar, type Accounts => click Accounts
🚨 Same action must be done for the objects Contact, Task, Opportunity & Lead
Click Edit and tick all the boxes in the Object Permissions
Save ✅
Enablement of the Notes object:
Go to Setup (Gear icon => Setup)
Type Notes => Click Notes Settings
Tick Enable Notes & Save
Step 5: Enable the API access
🚨Prerequisite:
You must possess one of the following plans with an API access:
Enterprise Edition
Unlimited Edition
Developer Edition
Performance Edition
Go to Setup (Gear icon => Setup)
Navigate to Users => Users in the left sidebar
Find and click on your name
Check the assigned profile and click on it.
Click on System Permissions
Click on Edit
Check the box for the “API Enabled” row
Click on Save
Once you have completed these quick steps, your integration is turning active! Now, let’s give it a try by making your first call!




















