Salesforce CRM
Salesforce is a cloud-based software company that provides a range of business solutions. At its core, Salesforce offers Customer Relationship Management (CRM) software, which helps businesses manage and analyze customer interactions and data. The CRM system allows companies to track sales, marketing efforts, customer service, and other aspects of their operations.
In addition to CRM, Salesforce has various subsidiaries and products that extend its capabilities. For instance, they offer live chat solutions to facilitate real-time customer support and engagement. Yellow.ai supports integration with Salesforce CRM and Salesforce Live Chat.
To configure Salesforce CRM, the user account must have Super Admin–level permissions.
Table of contents
- What Salesforce actions are available on Yellow.ai?
- How to create your own Salesforce app?
- How to connect Salesforce CRM with Yellow.ai?
- How to use Salesforce CRM from Yellow.ai?
Salesforce actions that can be managed from yellow.ai
After integrating with Salesforce CRM, you can perform the following tasks directly from the Yellow.ai platform:
| Action | Description |
|---|---|
| createRecord | Creates a record in the integrated Salesforce account. The following are the different types of available records: 1. Accounts 2. Contacts 3. Opportunities 4. Leads 5. Cases 6. Campaigns 7. Products and Price Books 8. Tasks 9. Events 10. Custom 11. Objects 12. Documents and Attachments |
| updateRecord | Updates a record in the integrated Salesforce account. |
| searchRecord | Looks for a particular info in the integrated Salesforce account. |
| Query by SQL | Query and retrieve data from the Salesforce database. You can create SQL queries by referring to the following links: Link 1 Link 2 |
| Get User Details by Owner ID | In Salesforce, each user has a unique identifier known as the Owner Id. This process involves using the Owner Id of a record (e.g., Account, Contact, or Opportunity) to fetch details about the user who owns that particular record. |
Create your own Salesforce app
Yellow.ai connects to Salesforce through an app that you create in your own Salesforce account. Salesforce calls this kind of app an External Client App. You only need to create it once. It gives you two values, a Consumer Key and a Consumer Secret, which you paste into Yellow.ai when you connect.
Because the app is in your own Salesforce account, you stay in control. You can see it, change it, or turn off Yellow.ai's access at any time from Salesforce Setup.
Older guides may ask you to create a Connected App. Since the Spring '26 release, Salesforce no longer allows new Connected Apps by default and recommends External Client Apps instead. The steps below use an External Client App.
Before you begin:
- Make sure you can sign in to Salesforce with an administrator account that is allowed to create External Client Apps. If you don't see the options described below, ask your Salesforce administrator for help.
- Keep Yellow.ai open in another browser tab.
- Plan for about 15 minutes of setup, plus up to 15 minutes for Salesforce to activate the app.
Step 1: Copy the callback URL from Yellow.ai
The callback URL tells Salesforce where to send you back after you sign in. It is different for each Yellow.ai region, so always copy it from Yellow.ai instead of typing it.
- In Yellow.ai, go to Extensions > Integrations, and then open CRM > Salesforce CRM.
- In the Instructions, find Callback URL and click the copy icon next to it.
The callback URL looks similar to https://cloud.yellow.ai/integration/oauth/salesforce-crm.
Step 2: Create the app in Salesforce
-
Sign in to Salesforce.
-
Click the gear icon at the top right of the page, and then click Setup.
-
In the Quick Find box on the left, type
App Manager, and then click App Manager. -
Click New External Client App.
If you see New External App instead, click it, select Create an External Client App, and then click Continue.
-
Fill in the basic details:
Field What to enter External Client App Name A name you will recognise later, for example Yellow.aiAPI Name This fills in automatically. Leave it as it is. Contact Email Your email address Distribution State Local. This means the app is used only in your own Salesforce org. (Packaged is for apps that are shared with other orgs, which you don't need.) -
Go to the OAuth settings section (it may be called OAuth Settings or API (Enable OAuth Settings)) and select Enable OAuth.
-
In Callback URL, paste the callback URL that you copied in Step 1.
-
In OAuth Scopes, add these two scopes:
- Manage user data via APIs (api): lets Yellow.ai read and update your Salesforce records, which is what the Salesforce CRM actions in your flows do.
- Perform requests at any time (refresh_token, offline_access): lets Yellow.ai stay connected, so nobody has to sign in again every few hours.
-
Keep these three security options selected. They are selected by default, and Yellow.ai supports all of them:
Option What it does Require secret for Web Server Flow Salesforce gives Yellow.ai access only when Yellow.ai also sends your Consumer Secret. Require secret for Refresh Token Flow Salesforce asks for the Consumer Secret again every time Yellow.ai renews its access. Require Proof Key for Code Exchange (PKCE) extension for Supported Authorization Flows Adds an extra one-time check to every sign-in, so an intercepted sign-in can't be used by anyone else. Yellow.ai keeps working if you clear them, but keeping them selected is safer.
-
Leave every option under Flow Enablement unselected. These options turn on other ways for apps to connect to Salesforce. Yellow.ai doesn't use them, so leaving them off keeps your org more secure.
-
Click Create.
Step 3: Set the app's policies
The policies decide who can connect the app, how long the connection lasts, and which IP addresses it can be used from.
-
On your new app's page, open the Policies tab and click Edit.
-
Under Plugin Policies, choose who can connect Yellow.ai in Permitted Users:
Choice What it means When to choose it All users can self-authorize (default) Anyone in your Salesforce org can connect Yellow.ai by signing in and clicking Allow. Yellow.ai can only do what that person is allowed to do in Salesforce. Keep the default if any of your Salesforce users may connect Yellow.ai. Admin approved users are pre-authorized Only users you approve can connect. Everyone else gets an error when they try. Choose this if only admins or a dedicated integration user should connect. Then give those users access to the app through their profile or a permission set. -
Under App Authorization, choose how long the connection lasts in Refresh Token Policy:
Choice What it means When to choose it Refresh token is valid until revoked (recommended) Yellow.ai stays connected until you remove its access. Choose this so your flows keep working without anyone signing in again. Any option that makes the refresh token expire The connection stops working after the time you set, or after it hasn't been used for that long. Only if your security policy requires it. Each time it expires, someone must reconnect Salesforce CRM in Yellow.ai, and Salesforce CRM actions fail until they do. -
Under App Authorization, choose where the app can be used from in IP Relaxation:
Choice What it means When to choose it Enforce IP restrictions (default, recommended) Your org's IP rules, which are the Login IP Ranges on the user's profile, also apply to Yellow.ai. Keep the default, and add Yellow.ai's IP addresses to the connecting user's profile in Step 4. Enforce IP restrictions, but relax for refresh tokens Your IP rules apply, except when Yellow.ai renews its access. Not needed once Yellow.ai's IP addresses are allowed. Relax IP restrictions Your IP rules don't apply to this app at all. Avoid this unless your security policy allows the app to be used from any IP address. -
Leave all other options as they are. For example, Start Page stays None.
-
Click Save.
Step 4: Allow only Yellow.ai's IP addresses
Turn on both of the settings below, and add Yellow.ai's IP addresses to each one. Together, they make sure that only Yellow.ai's servers can use your app to reach your Salesforce data.
Use the addresses for the region your Yellow.ai account is hosted in. If you're not sure which region that is, ask your Yellow.ai account manager or Yellow.ai support.
| Region | Yellow.ai IP addresses |
|---|---|
| r0 | 13.234.55.162, 43.204.94.227, 13.126.9.107 |
| r1 | 129.151.139.158, 129.151.132.226 |
| r2 | 108.136.205.230, 108.137.122.1, 108.137.171.143 |
| r3 | 18.138.125.225, 18.139.149.20, 13.213.140.63 |
| r4 | 35.84.216.215, 35.83.102.39, 34.212.108.52 |
| r5 | 52.51.139.165, 54.73.244.109, 34.253.39.147 |
| r6 | 20.173.116.38, 20.21.2.200, 20.21.131.95 |
| r7 | 34.166.81.74, 34.166.146.65, 34.166.142.59 |
| r8 | 145.241.139.22 |
Add every address listed for your region, because Yellow.ai can connect from any of them.
Setting 1: The app's refresh token IP allowlist
This setting makes sure that only Yellow.ai's IP addresses can finish connecting to Salesforce and renew access. Salesforce blocks requests from any other address.
- In Salesforce Setup, type
External Clientin the Quick Find box, and then click External Client App Manager. - Next to your app, open the actions menu (the small arrow at the end of its row) and click Edit Settings.
- Turn on Enforce Refresh Token IP Allowlist.
- In the Refresh Token IP Allowlist section, click Add, and enter one Yellow.ai IP address as both the start and the end IP address.
- Click Add again for each of the other addresses in your region.
- Click Save.
Setting 2: The connecting user's profile
This setting applies your org's sign-in IP rules to Yellow.ai. It works together with IP Relaxation set to Enforce IP restrictions in Step 3.
- In Salesforce Setup, type
Profilesin the Quick Find box, and then click Profiles. - Open the profile of the user who will connect Yellow.ai. A dedicated integration user with its own profile is the safest choice.
- Go to Login IP Ranges and add a new range for each Yellow.ai IP address in your region. Enter the same address as both the start and the end of the range.
- Also add the IP addresses your team signs in from, if they aren't in the list already.
- Save each range.
Login IP Ranges control where everyone with that profile can sign in from. If you add only Yellow.ai's addresses, users with that profile, including the person who connects Yellow.ai, can't sign in from anywhere else. That's why step 4 asks you to add your team's addresses too, and why a dedicated integration user is the safest choice.
Step 5: Copy the Consumer Key and Consumer Secret
- Open the Settings tab and expand OAuth Settings.
- Click Consumer Key and Secret.
- Salesforce emails you a verification code. Enter the code to continue.
- Copy the Consumer Key and the Consumer Secret, and keep them somewhere safe.
Treat the Consumer Secret like a password. Don't share it by email or in chat.
Wait 15 minutes before you connect. Salesforce can take up to 15 minutes to activate a new app, and connecting earlier may fail.
Connecting a Salesforce sandbox? Create the app inside that sandbox (sign in at test.salesforce.com), and use that app's Consumer Key and Consumer Secret.
Connect Salesforce CRM with Yellow.ai
Prerequisites:
- An active Salesforce CRM account
- An active yellow.ai account
- Super Admin access
- The Consumer Key and Consumer Secret of your Salesforce app. If you don't have them yet, first create your own Salesforce app.
To connect your Salesforce CRM account with Yellow.ai, follow these steps:
-
On the left navigation bar, go to Extensions > Integrations.

-
Navigate to CRM > Salesforce CRM. Alternatively, you can use the Search box to find the integration app.

-
Choose a unique name for your Salesforce account and select the Salesforce CRM environment. It is recommended to use a name that reflects its purpose for improved usability.
In Salesforce CRM Environment, choose Production if you sign in to Salesforce at
login.salesforce.com(this includes free Developer Edition accounts), or Sandbox if you sign in attest.salesforce.com.
-
Paste the Consumer Key into Client ID and the Consumer Secret into Client Secret.
-
Click Connect. You will see a pop-up screen to login with a list of accounts.
-
Choose the respective account and click Log in. If Salesforce asks whether to allow access, click Allow.

-
If you have multiple accounts, click +Add account and follow the above mentioned steps to add each one. You can add a maximum of 15 accounts.

- In a two-tier environment, such as bots with only Development/Live environments, you can add account names only in the development mode. Once added and flows have been built, in the Live mode, you can only choose the account names and not edit them.
- In a three-tier environment, such as bots with Staging/Sandbox/Production modes, in Staging and Sandbox modes, you can add and edit new accounts. However, in Production, only the account details added in Staging will be available. You can only map in the production environment.
Move an existing connection to your own app
If you connected Salesforce CRM before you created your own app, follow these steps to move that connection to your app:
- Create your own Salesforce app.
- In Yellow.ai, go to Extensions > Integrations > CRM > Salesforce CRM.
- Find the account you want to move, click Disconnect, and then click Disconnect again to confirm.
- Click +Add account and connect again using the same account name, together with your app's Consumer Key and Consumer Secret.
Because the account name stays the same, the flows that use this account keep working without any changes. Salesforce CRM actions in those flows don't work between steps 3 and 4, so choose a quiet time to do this. As described in the note above, do this in the environment where you can add and edit accounts.
If the connection fails
| What you see | What it means | What to do |
|---|---|---|
redirect_uri_mismatch in the Salesforce window | The callback URL in your Salesforce app doesn't exactly match the one in Yellow.ai. | Copy the callback URL from Yellow.ai again, paste it into your app's Callback URL, save, and wait 15 minutes. |
client identifier invalid | The Client ID is wrong, or Salesforce hasn't activated the app yet. | Copy the Consumer Key into Client ID again. If you just created the app, wait 15 minutes. |
user is not admin approved to access this app | Permitted Users in your Salesforce app isn't set to self-authorize. | In the app's Policies tab, set Permitted Users to All users can self-authorize. |
| Yellow.ai shows an error after you sign in | The Client Secret is wrong, the wrong environment is selected, or your Salesforce IP rules are blocking Yellow.ai. | Copy the Consumer Secret into Client Secret again, and check that you chose Production or Sandbox correctly. Also check that every Yellow.ai IP address for your region is added in both settings in Step 4. |
| Salesforce CRM actions stop working some time after you connect | The connection expired because of the Refresh Token Policy, or your IP rules are blocking Yellow.ai. | Set Refresh Token Policy to Refresh token is valid until revoked, check that your region's Yellow.ai IP addresses are added in both settings in Step 4, and then reconnect the account. |
Manage your Salesforce CRM through bot conversations
To carry out a certain action in your Salesforce account, follow these steps:
-
Go to Automation and create a flow based on your requirement.

-
In whichever point you want the bot to access Salesforce, include the Salesforce CRM node. For that, drag the node connector, go to Integrations > Salesforce CRM.

-
In the Salesforce CRM node, fill in the following

- Account name: Choose the preferred Salesforce CRM account.
- Action: Choose the action to be performed.
- Select Objects: Choose the Salesforce CRM object in which the chosen action should be performed.
- Depending on the selected object, the corresponding fields will be shown. To collect this information from users, you must construct the flow accordingly and store the data in variables. These variables will then be used in this context.
- Each Salesforce action returns a response as a JSON object or an array. Store that response in a variable and pass that variable in a message node to display that response to the end user.
| Action | Syntax |
|---|---|
| To consume the JSON object as it is | {{variables.variable_name_object.choices.0.text}} |
| To access fields in JSON object response | {{variables.variable_name.field_name}} |
| To access array values | Use keys. For instance, to access the weather description from the below response, use{{variables.API_var.weather.0.description}} because the value is inside an array and is the first value (0th index). |
Sample response:
{
"coord": {
"lon": 77.2167,
"lat": 28.6667
},
"weather": [
{
"id": 761,
"main": "Dust",
"description": "dust",
"icon": "50d"
}
],
}
Supported Version
This integration will support the latest version's (52.0) releases. For more information on this, please click here.
References
- Create an External Client App (Salesforce Help)
- Configure the External Client App OAuth Settings (Salesforce Help)
- Creation of New Connected Apps Is Disabled by Default (Salesforce release notes)