Endpoints

Endpoints are custom styling, channel configurations, or customization for a bot specific to an omnichannel entrypoint. These can be used to display different styling for bots on different domains, or for sub brands. They can also be configured to support interactions with specific channels such as Alexa, or Whatsapp. Not to be confused with API endpoints.

It is possible to have one bot engage with users using more than one endpoint.

Each bot gets created with an default engagement adapter/type when it is created. The default endpoint type is servisbot messenger.

Additional endpoints assigned to a bot will show up on the Resources tab of the bot’s page. You can also find your endpoint’s alias by looking at the url when you are “testing your bot”.

https://messenger.servisbot.com/preview.html?endpoint=organization-botname

Endpoint name is organization-botname.

Endpoint Types

Your endpoint type determines what engagement adapter will be used to expose your bot user interactions. The default type is a ServisBOT web messenger type.

By changing your Endpoint type, you are given further configurations for turning on your engagement adapter.

Configuring Endpoints

  • Go to the endpoints tab and find the one referencing your bot. There is a test button on the detail page of each endpoint that can be used to get to the preview URL.

Endpoint through the CLI

To see a list of all endpoints

sb-cli endpoint list

it will return the bot settings including the endpoint currently set.

{
    "Address": "someaddress",                   /* Required */
    "Name": "somename",                         /* Required */
    "Status": "online",                         /* Required */
    "TargetVAReference": "avareference",        /* One of the three is required */
    "TargetBotReference": "abotreference",      /* One of the three is required */
    "EnhancedBot": {                            /* One of the three is required */
       "BotName": "LexOne",                     
        "PipelineConfiguration": {}             /* Required, see the Enhanced Bot documentation for configuration */
    },      
    "LanguageTargets": {                        /* Optional, explained below */
      "en": { "Type": "Bot", "Alias": "englishbotreference" }, /* Zero to many keys, each with a Type and an Alias */
      "es": { "Type": "Bot", "Alias": "spanishbotreference" }
    },
    "InboundBotReference": "abotreference",     /* Optional */
    "OutboundBotReference": "abotreference",    /* Optionl */
    "Useragent": "useragent",                   /* Required */
    "Style": {                                  /* Optional */
      "some": "styling"
    },
    "AllowedDomains": ["some-domain", "*", "*.domain.com"],  /* Optional */
    "EngagementType" : "engagement-adapter-type", /* Optional - defaults to lightning */
    "EngagementConfig" : {                    /* Required if EngagementType is MicrosoftBotFramework */
        "Secret": "secret-srn",
        "Public": {
          "TenantId" : "tenantid"
        }
    }
}

Language Targets

This allows you to specify different bots to be used when a certain lang is present in the endpoint query. In the above configuration, the bot englishbotreference would be used if the lang was set to en (case agnostic), spanishbotreference if the lang was set to es, or abotreference if the lang was not set or not matched.

Note that currently only a type of Bot is supported, and there must be a TargetBotReference in the endpoint.

To style your Servisbot Messenger, learn how to brand your engagement adapter.

Example styling

        "name": "name",
        "avatar": "https://s3-eu-west-1.amazonaws.com/sborg-heupper-chillinsurance/forge/settings/6o4MqCMzL",
        "subtitle": "Helping You Complete Your Insurance",
        "background": "https://s3-eu-west-1.amazonaws.com/sborg-heupper-chillinsurance/forge/settings/CKBOJWq1Q",
        "messengerBackgroundColor": "#ffffff",
        "headerBackgroundColor": "#4a2783",
        "headerTextColor": "#ffffff",
        "roundelBackgroundColor": "#4a2783",
        "roundelIconColor": "#ffffff",
        "inboundMessageBackgroundColor": "#FFFFFF",
        "inboundMessageTextColor": "#3B3E3F",
        "inboundMessageTextColorSecondary": "#713f98",
        "outboundMessageBackgroundColor": "#713f98",
        "outboundMessageTextColor": "#ffffff",
        "promptHeaderBackgroundColor": "#a7c539",
        "promptHeaderTextColor": "#FFFFFF",
        "promptTextColor": "#a7c539",
        "footerBackgroundColor": "#FFFFFF",
        "footerTextColor": "#999999"