Channel Connector Framework

The channel connector framework uses Spring Boot to connect an external channel, such as Twitter or Slack, to the Salesforce Einstein Bot. The framework uses the Einstein Bot SDK and sets up the dependencies like caching, authentication, and metrics using a Spring auto-configuration.

The channel connector framework provides these features.

Auto-configuration

The Spring beans are auto-configured using the application.properties.

Authentication mechanism

If all OAuth properties ( sfdc.einstein.bots.oauth.* ) are configured in the application properties, the AuthMechanism object of the Einstein Bot SDK is configured to use the JWT Bearer OAuth flow.

Caching mechanism

If sfdc.einstein.bots.cache.redis-url is included in the application properties, the SDK uses Redis cache, otherwise, the in-memory cache is implemented.

Basic and session-managed bot clients

If you configure all required properties in application.properties, both BasicChatbotClient and SessionManagedChatbotClient are available with default configurations.

Bot health indicator

The Spring's health indicator BotsHealthIndicator is auto-configured to check the bot's runtime health status.

Custom implementation support

You can provide your own implementation of Spring beans instead of using the default one.

Metrics

The framework uses the Spring Micrometer library to collect the metrics. You can publish the metrics to all popular monitoring systems, such as New Relic, Prometheus, and Graphite, using Spring Micrometer.