Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel

Table of Contents
maxLevel32

Disclaimer

Your use of this download is governed by Stonebranch’s Terms of Use, which are available at https://www.stonebranch.com/integration-hub/Terms-and-Privacy/Terms-of-Use/

...

Template NameExtension NameExtension Version
Slack Botue-slack-bot1.0.02

Refer to Changelog for version history information.

...

Software Requirements for Universal Template and Universal Task

Requires Python 3.7.0 or higher. Tested with the Universal Agent bundled Python distribution.

...

  • Universal Agent for Windows x64 Version 7.31.0.0 and later with python options installed.
  • Universal Agent for Linux Version 7.31.0.0 and later with python options installed.

...

Universal Controller Version 7.31.0.0 and later.

Network and Connectivity Requirements

...

This Universal Extension provides Slack Commands that let 's a user gain information about reports, agents and task instances, or even alter the latter. These commands are the following:

...

  1. This Universal Task requires the the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.

  2. To import the Universal Template into your Controller, follow the instructions here.

  3. When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.

...

display_information:
  name: Stonebranch UAC Bot
  description: Integrate Slack Workspace with UAC platform
  background_color: "#000000"
settings:
  org_deploy_enabled: false
  token_rotation_enabled: false
  socket_mode_enabled: true
  interactivity:
    is_enabled: true
  event_subscriptions:
    bot_events:
      - app_mention
features:
  app_home:
    home_tab_enabled: false
    messages_tab_enabled: false
    messages_tab_read_only_enabled: false
  bot_user:
    display_name: UACBot
    always_online: true
  slash_commands:
    - command: /uacbot
      description: Send commands to UAC Bot
      usage_hint: " [command] [parameters]"
      should_escape: false
oauth_config:
  scopes:
    bot:
    - app_mentions:read
    - channels:read
    - chat:write
    - commands
    - files:write
    - links:write
    - users:read
    - groups:read

3. Press "Save Changes".

4. After this step make sure the following settings are set correctly:

  • Basic Information > Add Features and functionality > Slash Commands: Only one command was created with name '/uacbot'.
  • Basic Information > Add Features and functionality > Event Subscriptions: Should be enabled, and socket mode identified as enabled.
    • "Subscribe to bot events" list includes only event "app_mention".
    • "Subscribe to events on behalf of users" list should be empty.
    • "App unfurl domain" list should be empty.
  • Basic Information > Add Features and functionality > Bots:
    • Verify that Display Name (Bot Name) equals "UACBot".
    • Verify that Default Name equals "uacbot".
    • Verify that "Always Show My Bot as Online" is checked.
    • Verify that Show Tabs > Home Tab is disabled.
    • Verify that Show Tabs > Messages Tab is disabled.
  • Basic Information > Add Features and functionality > Permissions:
    • Verify that in Scopes > Bot Token Scopes list only these scopes are included:
      • app_mentions:read
      • channels:read
      • chat:write
      • commands
      • files:write
      • links:write
      • users:read
    • Verify that Scopes > User Token Scopes list is empty.

Application installation in workspace

...

FieldInput typeDefault valueTypeDescription
Slack Bot tokenRequired-CredentialsThe Slack bot token as obtained from Slack App. It is used to connect Slack Application with a Workspace.

The Credentials definition should be as follows:
  • A desired name for the token as "Runtime User".
  • Slack Bot Token as "Token".
Slack App tokenRequired-CredentialsThe Slack app token obtained from Slack App. It is used to connect the Slack Bot with the corresponding Slack App.

The Credentials definition should be as follows:
  • A desired name for the token as "Runtime User".
  • Slack App Token as "Token".
Slack Channel IDRequired-TextThe Slack channel ID that the bot will connect. to.
ACLRequired-ScriptThe JSON script that contains the ACL rules for your Slack. users.
Universal Controller URLRequired-TextThe URL of the target UC (e.g. http://ue.stonebranch.org:8080/uc).
Universal Controller CredentialsRequired-CredentialsThis extension uses RESTful Web Services API as a client, and in this field the corresponding username & password should be provided. This user should have Web Service Access enabled (directly or through System Default). It is strongly advised not to reuse admin or any existing user but create a new one used only for this specific integration.

The Universal Controller Credentials definition should be as follows:
  • User's username as "Runtime User".
  • User's password as "Runtime Password".
UC REST API TimeoutRequired20TextThe timeout (in seconds) that the Slack Bot will wait for UC to respond. If the UC won't respond in the specified time limit Slack will display a corresponding error to the user.
AuditingOptionalTrueCheckboxA variable that if selected the bot will provide auditing logs.

...

  • Granting access to user with email "john.doe@company.com" to execute rerun task instance command.

...

  • Granting access to user with email "alice.smith@company.com" to execute rerun task instance and show agents status commands.

...

  • Granting access to user with email "john.doe@company.com" to execute all commands related to instances and allow user with email "alice.smith@example" to only run reports and hold task instances.

...

  • Granting access to all users to execute all the commands.
{
  "*": {[
    {
        "resource": "*",
        "action": "*",
        "permission": "ALLOW"
    }
  }]
}
  • Granting access to all users to execute all the commands but forbid a user with user with email "john.doe" to run reports.

...

Example of UE Slack Bot Universal Task for starting the execution of the Slack Bot.

Image RemovedImage Added

Task Output

Since this universal task is designed to operate endlessly, task output is provided only in case of an error in initialization phase or during task instance cancel.

...

ParametersDescriptionValues and ConstraintsRequiredDefault
triggernameThe name of the triggered to be created.Max 255 length string (case insensitive)True-
tasknameThe task name to be binded with the created trigger triggername.Max 255 length string (case insensitive)True-
dateThe date which the taskname will be run.YYYY-mm-dd formatTrueCurrent date
timeThe date which the taskname will be run. In combination with date filed it must be after current time.HH:MM formatTrueCurrent time + 1 minutes
timezonethe timezone of the specified time.UTC-12 to UTC+14TrueUTC

Command Examples

...

This document references the following documents.

Document LinkDescription
Universal TemplatesUser documentation for creating, working with and understanding Universal Templates and Integrations.
Universal TasksUser documentation for creating Universal Tasks in the Universal Controller user interface.
Slack Bot APIUser guide for Slack Bot API.

Changelog

ue-slack-bot-1.0.2 (2022-12-15)

  • Bugfix: Extension is available for 7.1 and 7.2 UC versions'

ue-slack-bot-1.0.1 (2022-11-22)

  • Bugfix: Ignore trailing slash character in field 'Universal Controller URL'

ue-slack-bot-1.0.0 (2022-11-21)

  • Added: Initial Version