> ## Documentation Index
> Fetch the complete documentation index at: https://developers.techwolf.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

# Required Roles for Slack Installation

The required roles for the Slack installation are:

* **Slack (Enterprise Grid) Admin**: A user with administrative privileges who
  can manage app installations, approve app requests, and configure app settings
  across the Slack Enterprise Grid organization. This role is essential for
  overseeing the Skill Assistant integration and ensuring proper deployment.
* **Customer Contact with TechWolf**: A designated representative who
  coordinates with TechWolf's team to facilitate the integration process,
  provide necessary information, and ensure successful implementation of the
  Skill Assistant in your Slack environment.

# Required Slack App Permissions

The required permissions for the Slack app are:

| OAuth Scope | Description                                                                               | Request Reason                                                                                                         |
| ----------- | ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| chat:write  | Send messages as Skill Assistant                                                          | The app needs to be able to send messages containing suggestions, reminders and other content to the users of the app. |
| im:history  | View messages and other content in direct messages that Skill Assistant has been added to | The app needs to be able to view messages users send to the app to be able to answer those messages.                   |
| im:write    | Start direct messages with people                                                         | The app needs to be able to start sending messages directly to users, to for example send them skill suggestions.      |
| users:read  | View people in a workspace                                                                | The app needs to be able to get all the users from the workspace to be able to send suggestions to them.               |

# Installation steps

The installation consists of several steps, which are described in detail below.
TechWolf needs to configure the Skill Assistant to work with your Slack
environment and you need to install the app in your Slack environment. Once
installed, employees can receive Skill Suggestions in direct messages and manage
their Skill Profile in the Skill Assistant's App Home.

<Steps>
  <Step title="Share your Enterprise or Workspace ID with TechWolf.">
    If you are using a Slack Enterprise Grid, you need to share your
    Enterprise ID with TechWolf. If you only have a single Slack Workspace,
    you need to share your Workspace ID with TechWolf.
  </Step>

  <Step title="Link Slack users to employee profiles in TechWolf">
    We need a method to link employee profiles in the TechWolf API to Slack
    Users. See [Linking users and employee profiles in TechWolf
    ](#linking-slack-users-and-employee-profiles-in-techwolf).
  </Step>

  <Step title="Install in Skill Assistant application in Slack">
    Install the Skill Assistant in your Slack environment by following
    [these steps](#install-the-skill-assistant-in-slack)
  </Step>

  <Step title="Enable the Skill Assistant for your workspaces">
    <Warning>
      This step is only required if you are using a Slack Enterprise Grid.
    </Warning>

    Enable the Skill Assistant for your workspaces by following [these
    steps](#enable-the-skill-assistant-for-your-workspaces)
  </Step>
</Steps>

### Linking Slack users and employee profiles in TechWolf

In order for TechWolf's Skill Assistant to deliver personalized and timely skill
suggestions via Slack, it is crucial that we can accurately link each employee
in your organization to their corresponding Slack user.

This can be accomplished by setting a
[Custom Property](</reference/latest/Custom Properties/CustomPropertiesDefinitions/overview>)
on the employee profile in TechWolf. The Skill Assistant will then use this
Custom Property to link the employee profile to the user in the messaging
platform. The Slack ID should be stored in a Custom Property with the key
`employee_slack_id`.

* If you are using Enterprise Grid, use the Enterprise Slack ID
* If you are using a single workspace, use the Workspace Slack ID

<Note>
  For Slack, we require the **User ID** which has one of the following
  formats: `U02ABCDEF34` or `W02ABCDEF34`.
</Note>

The mapping between the employee ID known in TechWolf's SkillEngine and their
corresponding custom property should be sent to TechWolf via a datasource
integration so that we can store it accordingly.

### Install the Skill Assistant in Slack

To install the Skill Assistant in Slack, you need to install the app in your
Slack environment. Follow the following steps:

<Steps>
  <Step>
    If your data should be stored in the US region, you need to install the app
    in the US region. Otherwise, you need to install the app in the EU region.

    <Card title="Click here to install the Skill Assistant in the US region" href="https://slack.com/oauth/v2/authorize?client_id=1179833433430.8333872682304&scope=chat:write,im:history,im:write,users:read&user_scope=&redirect_uri=https://teamsbot.us.skillengine.eu/api/slack/oauth" />

    <Card title="Click here to install the Skill Assistant in the EU region" href="https://slack.com/oauth/v2/authorize?client_id=1179833433430.8333872682304&scope=chat:write,im:history,im:write,users:read&user_scope=" />
  </Step>

  <Step title="Select the organization">
    If you are using Enterprise Grid, you need to install the Skill Assistant app for your organization.

    <Warning>
      Make sure to select your organization and not your workspace when using Enterprise Grid.
    </Warning>

    Only when you are not using Enterprise Grid, you can install the app for a single workspace.

    <img src="https://mintcdn.com/techwolf/hcu65nk-6HLQY3kl/integrations/skill-assistant/slack/images/slackorganizationselection.png?fit=max&auto=format&n=hcu65nk-6HLQY3kl&q=85&s=84736d8aef670aee2e4d387fce3b656e" alt="Organization selection" width="296" height="321" data-path="integrations/skill-assistant/slack/images/slackorganizationselection.png" />
  </Step>

  <Step title="Allow the app">
    Allow the app to access your Slack environment.

    <Warning>
      The Skill Assistant app is currently not available in the Slack Marketplace.
      Slack will display a warning that shows this.
    </Warning>

    <img src="https://mintcdn.com/techwolf/hcu65nk-6HLQY3kl/integrations/skill-assistant/slack/images/slackinstallation.png?fit=max&auto=format&n=hcu65nk-6HLQY3kl&q=85&s=5bc5d0da66c812a0d9092a986cd925c5" alt="Allow the app" width="569" height="518" data-path="integrations/skill-assistant/slack/images/slackinstallation.png" />
  </Step>

  <Step title="Succesful installation">
    If the installation is successful, you will see the following message.

    <Card title="Using Enterprise Grid">
      <img src="https://mintcdn.com/techwolf/hcu65nk-6HLQY3kl/integrations/skill-assistant/slack/images/slacksuccessenterpriseinstallation.png?fit=max&auto=format&n=hcu65nk-6HLQY3kl&q=85&s=c077dff9ce43e4c96ddcf898d795ecec" alt="Succesful installation" width="750" height="533" data-path="integrations/skill-assistant/slack/images/slacksuccessenterpriseinstallation.png" />
    </Card>

    <Card title="Using a single workspace">
      <img src="https://mintcdn.com/techwolf/hcu65nk-6HLQY3kl/integrations/skill-assistant/slack/images/slacksuccessinstallation.png?fit=max&auto=format&n=hcu65nk-6HLQY3kl&q=85&s=a3b84f63b8be9fb3e190386deee646bb" alt="Succesful installation" width="734" height="521" data-path="integrations/skill-assistant/slack/images/slacksuccessinstallation.png" />
    </Card>
  </Step>
</Steps>

### Enable the Skill Assistant for your workspaces

<Warning>
  This step is only required if you are using a Slack Enterprise Grid.
</Warning>

If you are using a Slack Enterprise Grid, you need to enable the Skill Assistant
for your workspaces. Follow the following steps:

<Steps>
  <Step title="Add the app to your workspaces">
    If the installation was successful, you will see a button named "Add the
    app to your workspaces". This will bring you to the page where you can
    add the app to your workspaces.
  </Step>

  <Step title="Add the app to your workspaces">
    At the right top corner of the page, you will see a dropdown named "Manage". Click it and select "Add to more workspaces".

    <img src="https://mintcdn.com/techwolf/hcu65nk-6HLQY3kl/integrations/skill-assistant/slack/images/slackaddtoworkspaces.png?fit=max&auto=format&n=hcu65nk-6HLQY3kl&q=85&s=542cfb97d798338718c25783b2ebd9c4" alt="Add the app to your workspaces" width="265" height="261" data-path="integrations/skill-assistant/slack/images/slackaddtoworkspaces.png" />
  </Step>

  <Step title="Select the workspaces">
    Select the workspaces you want to add the app to and click on "Next".
  </Step>

  <Step title="Review the permissions">
    Review the permissions and click on "Next".
  </Step>

  <Step title="Add to the workspaces">
    Select the checkbox "I'm ready to add this app" and click the button "Add App".
  </Step>
</Steps>
