Salesforce Opportunity Bot Creation Guide
This is a detailed step‐by‐step guide to create Salesforce Opportunity Bot in ix Hello Studio Mode. This guide covers creating all required components with options and valid values for each field:
To create Salesforce account and to integrate it with iX Hello, kindly refer to this
Before commencing bot creation, ensure the following prerequisites are met:
Access to iX Hello Studio Mode.
Familiarity with basic iX Hello navigation.
To establish a Gen AI connection please follow this
Create a Custom App
On the right sidebar, click on the Apps->Custom Apps. Click on New Custom App. Here you can create your own assistant with a dedicated name, description, instructions, and configuration.

Fields and their valid values include:
Name: For example, Salesforce Opportunity Status (your chosen name).
Custom App Type: Choose ‘Search’ from dropdown
Category: Choose ‘Default’ from dropdown
Put a tick mark on This is a Generative AI App and click on Save.
Click on the App name created above from ‘Custom Apps List’ to open it for further configuration

Creating a Data Source
Navigate to the Data Sources tab and click on Create New Data Source.

Fill in the fields as follows:
Name: For example, GenAI DS.
Integration Configuration: Select the option Generative AI applicable integration.
Click Save.

Click on Create New Data Source to create another DS
Fill in the fields as follows:
Name: For Example, Salesforce DS
Integration Configuration: Choose any available Salesforce Connection from dropdown or create a new one.
Click Save

qDefining Methods to Fetch Data from Gen AI
Go to the Methods tab, select GenAI DS and click on Create New Method.

Enter the following details:
Method Name: GenAIMethod
Request Type: azure-chatcompletion-rag
Parameters:
Model: gpt-4
systemMessage: Run CheckAccountNameIntent when the user provides the name of an Salesforce account. Run GetOpportunitiesBriefingIntent when the user provides the AccountID of an Salesforce account.
userQuestion: {{UserInput}}
sessionTime: 10
OrganizationID: {{Context.OrganizationID}}
EmployeeID: {{Context.EmployeeID}}

Result Type: ListofRecords
Record Limit: 10

Record JsonPath: $.choices[0].message
Empty Result Template: Is there anything else, I can assist you with?
Record Template: {{content}}
Valid Result Template: {{Records}}
Click Save and then Test the method.

Click Save and then Test the method.

Again, click on Create New Methods, select Salesforce DS
Enter the following details:
Method Name: AccountNametoIDCheck
RequestType: GetSOQLQueryResult
SOQLQuery: SELECT Name, BillingCity, Id FROM Account Where Name LIKE '%{{AccName}}%'

ListOfRecords: 10

Record JsonPath: $.[*]
Valid Result Template: {{Records}}
Record Template: <B>Account Name: {{Name}}</BR>AccountId: {{Id}}</BR>Billing City: {{BillingCity}}</B>
Empty Result Template: <BR>Sorry, account name provided not found. </BR><BR>How else can I help you?
Click Save and then Test the method.


Again, click on Create New Methods, select Salesforce DS
Enter the following details:
Method Name: GetOpportunitiesBriefing
RequestType: GetSOQLQueryResult
SOQLQuery: SELECT Name, Amount, StageName, CloseDate FROM Opportunity WHERE AccountId = '{{AccountId}}'

ListOfRecords: 100

Record JsonPath: $.[*]
Valid Result Template: {{Records}}
Record Template: Opportunity Name : {{Name}}, Amount : {{Amount}}, Stage : {{StageName}}, Close Date : {{CloseDate}}
Empty Result Template : <BR>Sorry, account name provided not found.</BR> <BR>How else can I help you?
Click Save and then Test the method.


Creating an Intent
Select the Intents tab and click on Create New Intent.
Fill in these fields:
Name: ChatIntent
Intent Type: Search
Intent Action: Execute Method
DataSource: GenAI DS
DataSource Method: GenAIMethod
Dialog Delegation Strategy: FallbackToSkill
Select checkbox ’Set this intent as a fallback Intent.’
Click Save

Again, click on Create New Intent
Fill in these fields:
Name: CheckAccountNameIntent
Intent Type: Search
Intent Action: Execute Method
DataSource: Salesforce DS
DataSource Method: AccountNametoIDCheck
Dialog Delegation Strategy: FallbackToSkill
Click Save

Again, click on Create New Intent
Fill in these fields:
Name: GetOpportunitiesBriefingIntent
Intent Type: Search
Intent Action: Execute Method
DataSource: Salesforce DS
DataSource Method: GetOpportunitiesBriefing
Dialog Delegation Strategy: FallbackToSkill
Click Save

Setting up Slots
Navigate to the Slots tab,select ChatIntent from dropdown and click on Create New Slot.

Enter the details:
Name: UserInput
Slot Order: 1
Type: Text
Custom App: Salesforce Opportunity Status
Intent: ChatIntent
Click Save

Select ‘CheckAccountNameIntent‘ from dropdown and click on Create New Slot.
Enter the details:
Name: AccName
Slot Order: 1
Type: Text
Custom App: Salesforce Opportunity Status
Intent: CheckAccountNameIntent
Click Save.

Select ‘GetOpportunitiesBriefingIntent’ from downdown and click on Create New Slot.
Enter the details:
Name: AccountID
Slot Order: 1
Type: Text
Custom App: Salesforce Opportunity Status
Intent: GetOpportunitiesBriefingIntent
Click Save.

Creating an Utterance
Go to the Utterance tab, select ChatIntent from dropdown and create a new utterance.

Provide the following:
Value: Ask a question
Custom Skill: Salesforce Opportunity Status
Intent: ChatIntent
Click Save.

Select CheckAccountNameIntent from dropdown and create a new utterance.
Provide the following:
Value: Check Account
Custom Skill: Salesforce Opportunity Status
Intent: CheckAccountNameIntent
Click Save.

Select GetOpportunitiesBriefingIntent from dropdown and create a new utterance.
Provide the following:
Value: Get opportunities briefing
Custom Skill: Salesforce Opportunity Status
Intent: GetOpportunitiesBriefingIntent
Click Save.

Creating an Input
In the Input tab, click on Create New Input and add the following:

Name: ChatInput
Custom Skill: Salesforce Opportunity Status
Custom Intent: chatIntent
Data Source: GenAI DS
Data Source Method: GenAIMethod
Click on ‘Enable Generative AI Tool’
Click Save.

Once created, click on manage Parameters and add:
Input Parameter Name: UserInput
Parameter: UserInput
Data Type: Text
Click Save.

Click on Create New Input and add the following:
Name: CheckAccountNameInput
Description: Check Account Details
Custom Skill: Salesforce Opportunity Status
Custom Intent: CheckAccountNameIntent
Data Source: Salesforce DS
Data Source Method: AccountNametoIDCheck
Click on ‘Enable Generative AI Tool’
Click Save.

Once created, click on Manage Parameters and add:
Input Parameter Name: AccName
Parameter: AccName
Data Type: Text
Description: Capture the account name for the opportunity
Click Save.

Click on Create New Input and add the following:
Name: GetOpportunitiesBriefing
Description: Check opportunity status
Custom Skill: Salesforce Opportunity Status
Custom Intent: GetOpportunitiesBriefingIntent
Data Source: Salesforce DS
Data Source Method: GetOpportunitiesBriefing
Click on ‘Enable Generative AI Tool’
Click Save.

Once created, click on Manage Parameters and add:
Input Parameter Name: AccountId
Parameter: AccountId
Data Type: Text
Description: Capture the account id for the opportunity
Click Save.

Publishing the Custom App to Gen AI
In the top menu, select Publish then click on Add App Publishing.

Fill in these details:
External Skill Name: For example, Salesforce Opportunity Status Assistant
App Description: A description for the assistant
Skill Type: Search
Channel: Generative AI
Welcome message: Hello! I'm Salesforce Opportunity Status Assistant, your assistant to help you check the status of your opportunity in Salesforce. You can say ‘’ or ‘check Account details’ to proceed.
If you want to see the app in Basic Mode, also enable the Show this app in the Basic Mode option.
Click Save.

Using the App
In the Publish Section, click on Action, select Test and start querying.


Congratulations—you have successfully set up an assistant in Studio Mode utilizing Salesforce Connection to access ‘Opportunity’ and ‘Account’ Tables present in Salesforce and fetch the processed information.
Last updated
Was this helpful?