New features now available!

What’s new

We’re pleased to announce new capabilities for the chatbot connector that are now available!
With this update, you will be able to:

  • Connect to on-prem orchestrator to use processes and unattended robots in it
  • Access information about the messaging user in Slack for use in your RPA processes

Connect to on-prem orchestrator

Configure a connection to on-prem Orchestrator to map intents from your connected Dialogflow agent to processes in it for fulfilment of user requests

Get started

  1. Go to chatbot.uipath.com, open a connection and click on the Orchestrator tile in the Build page
  2. In the dialog that appears, click on the Deployment type field and select On-premise from the drop down
  3. You’ll notice the list of fields in the dialog change to capture the credentials required to connect to On-premise Orchestrator. Configure your connection by entering the following information:
    • Orchestrator URL: The URL used to log into Orchestrator. Must begin with https://
    • Port (optional): Only provide a value if a non-standard port is used, otherwise, leave this field blank
    • Tenant: This is the name of the tenant that is being connected to. The name must exactly match the value displayed in the login screen, and is case sensitive
    • Username: This is the username of the user that will be used to establish the connection.

      Important
      This user must have certain roles assigned to them in order of the connector to retrieve proceses and start Jobs. Refer to the Connector requirements section for details

    • Password: This is the password for the user being used to establish the connection
    • Folder: The name of the folder that contains processes and unattended robots for automation. Folder names are case sensitive and must match exactly to what is listed in Orchestrator. The connector only support classic folders.
  4. Click the connect button to establish a connection to your on-prem Orchestrator!

Connector requirements

For this feature to work correctly, ensure the following requirements are met by your on-premise Orchestrator deployment:

  1. Orchestrator version must be 19.10 and higher.
  2. The connector only supports classic folders
  3. Orchestrator must be accessible via the HTTPS protocol
  4. If you have firewall rules, ensure the following services are not blocked:
  5. The user account used to create a connection with Orchestrator must have the following roles:
    • Jobs: View and Create
    • Processes: View
    • Settings: View
    • Folders: View
  6. Permitted, external services (like the chatbot connector) must be able to successfully make the following API calls:
    • List folders: ‘/odata/OrganizationUnits’ and ‘/odata/Folders’
    • List processes: ‘/odata/Releases’
    • Start a job: ‘/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs’
    • Get the result of a job: ‘/odata/Jobs({0})’

Access information about the messaging user in Slack

For automating internal scenarios (e.g., creating a ticket on behalf of a user), it is necessary to identify who the messaging user is. This feature enables chatbot makers to access information about the messaging user in Slack so as to perform actions for them on their behalf

Get started

Use the samples and instructions below for a quick start on using this feature

  1. Import Slack_Channel_Info_Demo.zip (2.9 KB) into a Google Dialogflow Agent
  2. Follow steps 1-3 in the Step 1: Get information about the messaging Slack user in your process section below to get the Slack OAuth access token
  3. Replace the value of the slackBotToken input argument of the process in SlackMessageInfoTest.zip (19.3 KB) with your Slack OAuth access token, and publish it into your Orchestrator instance
  4. In the chatbot connector:
    • Connect the Dialogflow Agent, Orchestrator service and your Slack bot
    • Map intent Default Welcome Intent to the process Slack Message Info Test

Below is an example of what your chatbot will respond with. Specifically, you’ll see it use @ mentions to mention the user, as well as respond with the email address of the user extracted from their Slack profile

image-20200507-174842

Feature guide

Step 1: Pass information about the messaging Slack user to your process

  1. Pass Slack message information as input to a process:
    In each Dialogflow intent that maps to a process that needs the messaging user information from Slack, create a parameter as below:
    • Parameter name: UiPath_ChannelInfo
    • Entity: @sys.any
      Note: Ensure that this parameter is not marked as required.
  2. For the UiPath_ChannelInfo, set its default value to the name of the input argument that you will use to access information about the messaging user in your process (e.g., slackUserId)
  3. Open your process in Studio and create a new input argument as follows:
    • Name: This is the value you set as the default value of the UiPath_ChannelInfo parameter in your Dialogflow intent (e.g., slackUserId)
    • Direction: In
    • Argument type: Object
  4. In your process, use the DeserializeJSON activity to get a JSON object of the messaging user information that is passed for easy access
    Note: If the message comes from the Web channel, the value of this input argument will be null
  5. Access messaging user properties from the resulting JSON object:
    • “user”: Provides access to the Slack user ID
    • “channel”: Provides access to the ID of the chatbot that was messaged
    • “team”: Provides access to the team that the user belongs to

Tips:
Mention a user by specifying the slack user ID between the “<@” and “>” (e.g., <@WMDV8HV0D>)
Mention your Slack bot by specifying the channel ID between “<#” and “>” (e.g., <#WMDV8HV0D>)

Step 2: Get user profile details using Slack APIs

Use the users.info method provided by Slack to read the the messaging users profile, and provides several key pieces of information in their Slack profile like email address, phone number, time zone, etc.

Learn about the API and the information it provides at: users.info method | Slack

  1. Begin by opening your slack app in api.slack.com, and adding the following bot scopes:
    • users:read to read the users Slack profile
    • users:read.email to also get the users email address as part of the Slack profile
  2. Reinstall the slack app
  3. Copy the Bot User OAuth Access Token from the OAuth & Permissions page of your slack app. This will be the OAuth2 token you use to make authenticated requests to Slack
    image-20200507-103517
  4. In your process, use the HTTP Request activity to invoke the users.info method and set the following:
  5. Finally, use the Deserialize JSON activity to convert the response to a JSON object and access its properties for use in your process
    E.g., Access the email address of the user from a json object called ‘slackProfileJson’ as:
    slackProfileJson(“user”)(“profile”)(“email”)
2 Likes

Good morning I have an orchestrator on premise and I want to connect it to a Uipath chatbot but the connection is rejected. Either of these two websites give me an error https://chatbot-service.uipath.com
https://agent.uipath.com.
It is not because of the firewall because from my home network they give me the same error: “Cannot GET /”

Hi @sergio.pecos, these two are services that the chatbot connector uses, and attempting to access it from a browser will always return the ‘Cannot GET /’ message.

Can you confirm that your firewall and on-prem orchestrator permissions meet the pre-requisites here: Prerequisites