Skip to content

Latest commit

 

History

History
160 lines (90 loc) · 6.47 KB

deploy-slack.md

File metadata and controls

160 lines (90 loc) · 6.47 KB
copyright lastupdated subcollection
years
2015, 2024
2024-07-31
watson-assistant

{{site.data.keyword.attribute-definition-list}}

Integrating with Slack

{: #deploy-slack}

[IBM Cloud]{: tag-ibm-cloud}

Slack is a cloud-based messaging application that helps people collaborate with one another. {: shortdesc}

After you create an action, you can integrate your assistant with Slack.

When integrated, depending on the events that you configure the assistant to support, your assistant can respond to questions that are asked in direct messages or in channels where the assistant is directly mentioned.

An example and instructions on how to create a Slackbot using {{site.data.keyword.conversationshort}}, Slack, and Db2 are given in the solution tutorial, Build a database-driven Slackbot.

Before you begin

To integrate Slack with your assistant, you must have a Slack app and the necessary roles and permissions:

Roles Permissions
Workspace or
Org owner
View information
Post information
Perform actions

To create a slack app, see Quickstart: Start a workflow{: external}.

For more information on roles and permissions, see Slack-Getting started{: external}.

Adding the Slack integration

{: #deploy-slack-task}

  1. Go to the Integrations page by clicking the integrations icon (Integrations icon) in the left menu.

  2. Click Add on the Slack tile.

  3. Then, click Add again.

Get started

There are four steps to setting up Slack:

  • Set up your Slack bot
  • Connect watsonx Assistant to Slack
  • Configure your Slack bot
  • Connect your assistant

Set up your Slack bot

  1. Go to the Your Apps{: external} page on the Slack website, and then click the app you want to use or create a new one.

Connect watsonx Assistant to Slack

  1. On the Slack app settings page, go to the Basic Information tab and scroll down to the App Credentials section.

  2. Copy your verification token and paste it in the Assistant setup page.

  3. On the Slack app settings page, go to Features > OAuth & Permissions and scroll down to the Bot Token Scopes section.

  4. Click Add an OAuth Scope and select the follwing scopes:

    • app_mentions:read
    • chat:write
    • im:history
    • im:read
    • im:write
  5. Scroll up the page to the OAuth Tokens for Your Workspace section and click Install App to Workspace, and then click Allow.

    You should be redirected back to the OAuth & Permissions page.

  6. Copy and paste your Bot user OAuth access token in the Assistant setup page.

  7. Click Next to continue.

Configure your Slack bot

  1. Copy the Generated request URL.

  2. On the Slack app settings page, go to Features > Event Subscriptions and switch the Enable Events toggle on.

  3. Paste the URL link under Request URL.

    Wait until the you see Verified with a green tick next to Request URL.

  4. Scroll down and click Subscribe to bot events.

  5. Select the event types you want to subscribe to. You must select at least one of the following types:

    • message.im: Listens for message events that are posted in a direct message channel.

    • app_mention: Listens for only message events that mention your app or bot.

      Choose the app_mention entry in normal font, not the app_mention entry that is in bold font. {: note}

  6. Click Save Changes.

  7. On the Assistant setup page, click Next.

Connect your assistant

  1. On the Slack app settings page, go to Features > AppHome and click Edit next to App Display Name.

  2. Click Save once you have made the changes.

  3. Switch the toggle Always Show My Bot as Online toggle to on.

  4. Go to the Show Tabs section and switch the Messages Tab toggle to on.

  5. Check the Allow users to send Slash commands and messages from the messages tab checkbox.

  6. If you want to add support for showing buttons, menus, and disambiguation options in the Slack app, do the following steps:

    1. Go to the Interactivity & Shortcuts tab and enable the feature
    2. Paste your request URL in the provided text entry field.
    3. Click Save Changes.
  7. On the Assistant setup page, click Finish.

If a token field required for authentication is changed, then all entries in related fields must be filled and validated again. {: note}

Action considerations

{: #deploy-slack-action}

The rich responses that you add to an action are displayed in a Slack channel with the following exceptions:

  • Connect to live agent: This response type is ignored.

  • Option: This response type shows a list of options that the user can choose from.

    • After a user clicks one of the options, the existing selections disappear and replaces the selections with the user input that is generated by the user's selection. If you include multiple response types in a single response, you must position the option response type at the end to avoid confusions due to mix of responses and user inputs.

    • If the options are displayed in a drop-down list, then each option value must be 75 characters or fewer in length. When a list includes 5 or more options, it is displayed in a drop-down list.

Chatting with the assistant

{: #deploy-slack-try}

To start a chat with the assistant, complete the following steps:

  1. Open Slack, and go to the workspace associated with your app.
  2. Click the application that you created from the Apps section.
  3. Chat with the assistant.

The welcome action is not processed by the Slack integration. The welcome message is not displayed in the Slack channel like it is in the assistant preview. It is not triggered from here because nodes with the welcome special condition are skipped in action flows that are started by users. Slack waits for the user to initiate the conversation.

The action flow for the current session is restarted after 60 minutes of inactivity (5 minutes for Lite and Standard plans). This means that if a user stops interacting with the assistant, after 60 (or 5) minutes, any context variable values that were set during the previous conversation are set to null or back to their default values.