Bring Your Own Bot Setup Entities

The Bring Your Own Bot (BYOB) feature introduces two setup entities to integrate external bots with the Salesforce Conversation Platform.

ExtConvParticipantIntegDef

This entity describes an integration that an Independent Software Vendor (ISV) or organization provides, that allows an external system to provide conversation participants. The integration also defines an organization's access to this ISV integration, including how the ISV authenticates with Salesforce and receives events sent from Salesforce along with metadata about the ISV and the external system.

Field Label Developer Name Type Description Required
Master Label MasterLabel text The human-readable name to show in the UI (Inherited from the Setup Entity Template). Yes
Developer Name DeveloperName text The developer name to use internally/in the code (Inherited from the Setup Entity Template). Yes
Connected App Oauth Link ConnectedAppOauthLink text The OAuth link for the ExternalClientApp associated with the record. The ExternalClient will be used to call the Interaction Service APIs. Yes
Conversation Vendor Info ConversationVendorInfo foreignkey (ConversationVendorInfo) Represents the vendor/partner associated with this entity. If a partner is providing a package solution, this field contains the partner's information. No
Custom Platform Event CustomPlatformEvent foreignkey (CustomEntityDefinition) Represents the custom platform event against which the outbound events are published on the Salesforce event bus. Yes
Custom Event Payload Field CustomEventPayloadField foreignkey (CustomFieldDefinition) Refers to the specific field within the custom platform event to be used to set the event payload. It is used to publish the payload corresponding to each event type. Yes
Custom Event Type Field CustomEventTypeField foreignkey (CustomFieldDefinition) This refers to the specific field within the custom platform event to be used to define the event type. It serves to differentiate between various published events, such as Interaction, RoutingRequested, and so on. Yes

ExternalConversationBotDef

This entity describes a specific chatbot participant within the integration provided by ConversationParticipantDef. It holds details about the chatbot, such as its identifier in the external system and its display name. This chatbot can join a Conversation as a participant when it is requested to do so, and then it can send and receive messages or events related to that Conversation.

Field Label Developer Name Type Description Required
External Conversation Participant Integration Definition ExtConvParticipantIntegDef foreignkey (ExtConvParticipantIntegDef) Represents the ExtConvParticipantIntegDef associated with this entity. Yes
External Id ExternalId text Identifier to uniquely identify this bot in an external system. Yes
Is Active IsActive boolean Identify if the bot is available to use in a conversation. If not, the conversation would be routed to a fallback queue. Yes
Display Name DisplayName text Name of the bot to show in the agent experience UI and web client. Yes
Type Type staticenum Type of the external bot. Valid value: Chatbot. No