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).

OAuth2 Configuration

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.

Credentials

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.

API Integration

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

  1. Credentials view

    Go to Accounts -> Choose your organization

    Click on the 3 dots and choose Credentials

  2. Create new credentials

    Click on Add Credentials

    Choose a name and the type as OAuth 2.0 -> Click on Next

  3. 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

  4. Authorize

    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.

  5. 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.