Skip to main content

BotDeployment

A deployment of a bot to a specific messaging platform. Defines platform-specific layout and integration settings. Collection: bot-deployments | DB: MongoDB Source: hbf-core/src/main/java/gr/helvia/hbf/core/domain/BotDeployment.kt TypeScript: hbf-core-api/src/datamodel/botDeployment.ts

Fields

FieldTypeRequiredIndexedNotes
idStringyesPKMongoDB document ID
handleStringyesyes (unique)Deployment identifier
platformMessagingPlatformyes
displayNameStringnoFriendly name
descriptionStringno
settingsBotDeploymentSettingsyesDefault empty
scopeBotDeploymentScopenoUSER or SYSTEM
isPreviewBooleanno
tenantTenantyes@DBRef lazy. Compound index on tenant.$id
messagingAppMessagingAppno@DBRef lazy
createdAtDateyesyes@CreatedDate
updatedAtDateyes@LastModifiedDate
lastModifiedByHashMap<String, String?>noAudit info

Nested Objects

BotDeploymentSettings

FieldTypeNotes
layoutBotDeploymentLayoutSettingsPlatform-specific layout config
integrationBotDeploymentIntegrationSettingsPlatform-specific integration config
languageLanguageCodeDefault deployment language
automaticLanguageDetectionEnabledBooleanDefault: false

BotDeploymentLayoutSettings

FieldTypeNotes
microsoftTeamsMicrosoftTeamsLayoutSettings
microsoftWebChatWebChatSettings
viberViberLayoutSettings
facebookFacebookLayoutSettings
instagramInstagramLayoutSettings
slackSlackLayoutSettings
whatsAppWhatsAppLayoutSettings
zendeskZendeskLayoutSettings

MicrosoftTeamsLayoutSettings

FieldTypeNotes
showTypingIndicatorBoolean

ViberLayoutSettings

FieldTypeNotes
nameString@NotNull, bot name
avatarString@NotNull, avatar URL
entryPointStringGreeting node ID

FacebookLayoutSettings

FieldTypeNotes
showTypingIndicatorBoolean

WhatsAppLayoutSettings

FieldTypeNotes
showTypingIndicatorBoolean

ZendeskLayoutSettings

FieldTypeNotes
showTypingIndicatorBoolean
entryPointString

WebChatSettings

FieldTypeNotes
configurationMap<String, Any>Free-form config including showTypingIndicator

BotDeploymentIntegrationSettings

FieldTypeNotes
microsoftTeamsMicrosoftTeamsIntegrationSettingsExtends MicrosoftTeamsAppConfigurations
microsoftWebChatMicrosoftWebChatIntegrationSettingsExtends MicrosoftWebChatAppConfigurations
viberViberIntegrationSettingsExtends ViberAppConfigurations
facebookFacebookIntegrationSettingsExtends FacebookAppConfigurations
instagramInstagramIntegrationSettingsExtends InstagramAppConfigurations
slackSlackIntegrationSettingsExtends SlackAppConfigurations
unityUnityIntegrationSettingsExtends UnityAppConfigurations
whatsappWhatsAppIntegrationSettingsExtends WhatsAppAppConfigurations
apiApiIntegrationSettingsExtends ApiAppConfigurations
zendeskZendeskIntegrationSettingsExtends ZendeskAppConfigurations

MicrosoftTeamsIntegrationSettings (extends MicrosoftTeamsAppConfigurations)

FieldTypeNotes
clientIdStringInherited from app config
clientSecretStringInherited from app config
azureTenantIdString@NotNull
serviceUrlString

FacebookIntegrationSettings (extends FacebookAppConfigurations)

FieldTypeNotes
pageAccessTokenStringInherited
pageIdString@NotNull

InstagramIntegrationSettings (extends InstagramAppConfigurations)

FieldTypeNotes
pageAccessTokenStringInherited
fbConnectedPageIdString@NotNull

SlackIntegrationSettings (extends SlackAppConfigurations)

FieldTypeNotes
botUserOAuthTokenStringInherited
clientIdStringInherited
clientSecretStringInherited
appIdStringInherited
teamIdString@NotNull

UnityIntegrationSettings (extends UnityAppConfigurations)

FieldTypeNotes
jwtTokenString

ApiIntegrationSettings (extends ApiAppConfigurations)

FieldTypeNotes
jwtTokenString

Enums

BotDeploymentScope

ValueDescription
USERCreated by user
SYSTEMSystem-generated

MessagingPlatform

ValueDescription
MICROSOFT_TEAMSMicrosoft Teams
MICROSOFT_WEB_CHATWeb chat widget
VIBERViber
FACEBOOKFacebook Messenger
LIVECHATHelvia live chat
SLACKSlack
INSTAGRAMInstagram
UNITYUnity game engine
WHATSAPPWhatsApp
APIREST API
ZENDESKZendesk

Relationships

  • Belongs to: Tenant (via @DBRef)
  • References: MessagingApp (via @DBRef, optional)
  • Platform-specific settings inherit from MessagingApp configurations

TypeScript Mapping

hbf-core (Kotlin)hbf-core-api (TypeScript)Notes
BotDeploymentBotDeploymentTS uses messagingAppId instead of messagingApp @DBRef
BotDeploymentSettingsBotDeploymentSettingsAligned
BotDeploymentScopeBotDeploymentScopeAligned
MessagingPlatformMessagingBackendsDifferent enum name. TS adds LOCAL, MONITORING, POST, ITC values
BotDeploymentLayoutSettingsBotDeploymentLayoutSettingsTS omits instagram, slack, zendesk layout
BotDeploymentIntegrationSettingsBotDeploymentIntegrationSettingsAligned. TS omits unity, api, zendesk
lastModifiedBy(not in TS)Gap