Customer Support#

The customer support team needs to access information about persons and organizations in order to provide customers with help or to analyse a fault. The Mattermost chat service is used, as it provides a low entry barrier.

Skalio ID is integrated into Mattermost as a "custom slash-command":

Image

Authentication#

Obviously, the customer support staff are authenticated against Mattermost. In order to access personal data or make privileged changes, the person must authenticate against Skalio ID as well. Once authentication is established, the Mattermost session is associated with the Skalio ID person.

To authenticate, use the following command:

/skalioid auth

This opens the TeamBeam launchpad, where the person is requested to authenticate against Skalio ID. If an authenticated session exists already, it is reused. The Skalio ID session is then associated with the Mattermost session.

When interacting with Skalio ID, the privileges of the Skalio ID session are used.

The session is reasonably short-lived and ends automatically. To end the session explicitly, use the following command:

/skalioid logout

Implementation details#

Slash command#

The integration uses the Mattermost custom slash-command to send requests to Skalio ID. To enable this, create a slash command in Mattermost > Integrations > Slash Commands.

  • Title, description: As desired
  • Command trigger word: Pick a unique word
  • Request url: Enter the URL to Skalio ID's support-resource, using any hostname. Example: https://id.teambeam.dev/api/id/v3/support
  • Request method: POST
  • Response username: As desired

When Mattermost creates the slash-command, a "token" is created. This is used as a low-level authentication of requests from Mattermost to Skalio ID, and is to be configured in Skalio ID. Treat this "token" as a secure key.

Interactive dialogs#

The Mattermost integration uses interactive dialogs to guide the person through activities that require complex inputs.

Image