Conversation Builder allows users to configure API Integrations to be invoked when processing a dialog. These API integrations are useful for getting data from external sub-systems. For example, an integration can fetch data from a Customer Relationship Management (CRM) system or from a Content Management System (CMS).
Conversation Builder supports simple key based authentication for API Integrations as well as OAuth2 authentication. This allows any bots built on Conversation Builder to make API calls that require an access token that is obtained via the OAuth2 protocol.
Conversation Builder allows you to store credentials for every organization. One of the supported types is OAuth2 credentials that the resource owner will have to create.
Conversation Builder allows you to attach credentials to bot API integrations. When the bot is processing a dialog and needs to call an API Integration as part of dialog flow, then it will use the associated credentials to authenticate and perform necessary actions.
Example Guide with Salesforce
Go to Accounts -> Choose your organization
Click on the 3 dots and choose Credentials
Create new credentials
Click on Add Credentials
Choose a name and the type as OAuth 2.0 -> Click on Next
Set the callback/redirect uri in the resource
Click on copy and it will copy the redirect URI to your clipboard
Set that redirect URI in Salesforce (or any other resource) -> Save
Set all the necessary fields from the OAuth2 configuration in your app -> Click on Authorize
Scope is optional
This step will persist the credentials and will proceed to authorizing them with the resource. Next time you have to authorize with the same credentials, you can skip all the previous stages and authorize the existing credentials from the credentials view.
You will get redirected to Salesforce (or any other resource) for authentication. If a session is already cached then you may be immediately redirected back to Conversation Builder, or you’ll have to allow the authorization.
If all credentials are valid, you will be redirected back to Conversation Builder and you’ll see that popup. At this point the token is persisted in Conversation Builder and can be used freely by bots.
Attach credentials to a bot’s API integration
Create an API integration for the bot. Create it as if it is an unauthenticated API.
Attach the relevant credentials to the API integration. The bot will automatically enhance the request based on the credentials’ type and data.