General description

Skype Bot is a component responsible for providing bridge between Skype For Business API and SentiOne Automate. It allows to conduct conversations with Automate bots using Skype client.

User's messages are being delivered through long-polling HTTP connection with Skype For Business servers.

API

Default port: 8392

Application has got HTTP API which is not secured by any mechanism, therefore should NOT be visible from outside the Kubernetes cluster.

There are default endpoints for monitoring purposes. They are described in Components monitoring section.

Databases

This application does not connect to any databases

Communication

This service communicates with the following services:

ApplicationConfig to URLAuth
Skype For Business APIchatbots.skype-bot.autodiscoverUrlToken-based
gatewaychatbots.gateway-api.urlNone

Config

Application's config:

chatbots.skype-bot {
    bots: [
        {
            # Automate's bot project id (UUID)
            bot-id: "aaaaaaaa-1111-aaaa-1111-aaaaaaaaaaaa" 
            skype {
                # Skype For Business server URL
                autodiscover-url: "https://skypeforbusiness.yourdomain.com" 
                # skype's username used to conduct bot conversations
                username: "DOMAIN\\USERNAME" 
                #  skype's user password
                password: "SecretPassword" 
                # user-agent for skype application (visible eg. during online meets)
                user-agent: "SentiOneAutomate"
                # Unique bot identifier 
                # This can be anything (eg. just a number),
                # but it should hold different value for each bot.
                endpoint-id: "1"
                # Locale settings for bot 
                # (it might affect eg. announcement messages during online calls)
                culture: "en-US"
            }
        },
        {
            (...)
        }
    ]

    http-app-status: {
       # Host used for exposing HTTP monitoring status endpoint
       host: 0.0.0.0 
       # Port used  for exposing HTTP monitoring status endpoint
       port: 8392 
    }
}

Other required configurations:

# actual address for gateway service
chatbots.gateway-api.url: "http://host:port"

Job execution

None

Troubleshooting

Application keeps restarting

Make sure that you configured at leat one bot in config file.

Additional resources

UCWA Documentation

UCWA 2.0 is a REST API that exposes Skype for Business Server 2015 instant messaging (IM) and presence capabilities. It enables developers to make their enterprise applications and intranets more engaging and connected to business contacts.

Quote from official Skype for business documentation.

Resources

https://docs.microsoft.com/en-us/skype-sdk/ucwa/ucwa2_0generalreference

Skype integration parameters description

Resources

https://docs.microsoft.com/en-us/skype-sdk/ucwa/createanapplication
https://docs.microsoft.com/en-us/skype-sdk/ucwa/application_ref

Key parameters

ParameterDescription
userAgentGets or sets the user agent string to be used for identifying messages sent on behalf of this application. This value is required and cannot be null or empty.The maximum length is 100 characters. String
cultureGets or sets the Culture of the client. Cannot be null or empty.The maximum length is 100 characters. String
endpointIdGets or sets a unique Id for this application. This value is required and cannot be null or empty.This value does not have to necessarily match the device id on which the application is running. But, it should be unique among applications for the same user currently running across all the devices.The maximum length is 100 characters. String