---
sourceDocument: Xanadu IT Asset Management
sourceDocumentLink: https://www.servicenow.com/docs/r/xanadu/it-asset-management

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu IT Asset Management

ft:clusterId :

    - itam

bundleId :

    - itam

workflow :

    - Technology


---

# Integrating with Slack

# Integrating with Slack {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 10 minutes to read

Integrating your Software Asset Management application with the Slack application enables you to track your software subscriptions and reclaim unused licenses.

The ServiceNow
Slack integration supports the Slack Enterprise Grid plan. This plan enables you to connect multiple workspaces across your organization.  
Important:  
Minimize security risks and protect information by granting access only to the necessary user or API permissions.{#integrate-with-slack__table_kcp_jts_nbc__entry__3}

| Process | Required user role in the Slack application | Authentication scopes |
|-|-|-|
| Download subscriptions | Org Owner | admin |
| Pull user activity | Org Owner | admin |
| Reclaim subscription | Org Owner | admin |
[ ]

{#integrate-with-slack__table_kcp_jts_nbc}

## Create a Slack Enterprise Grid application {#ariaid-title2}

Create a Slack Enterprise Grid application to manage and connect
multiple workspaces across your organization.

### Before you begin

Role required: Refer to the [Minimal user permissions](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#integrate-with-slack "Integrating your Software Asset Management application with the Slack application enables you to track your software subscriptions and reclaim unused licenses.") table.

### Procedure

1. From a web browser, open [Slack](https://slack.com/).
2. Sign in using your Slack credentials.
3. Go to the [Slack platform](https://api.slack.com/).
4. On the page header of the Slack platform, select Your Apps.
5. On the Your Apps page, select Create New App.
6. Select From Scratch.  
   The Name app and choose workspace dialog box opens.
7. In the dialog box, enter an application name in the App Name field.
8. From the Development Slack Workspace list, select the workspace that you want the application to belong to.
9. Select Create App.  
   The Slack platform creates the application and then redirects you to the Basic Information page. Use this page to view and configure application settings.
10. On the Basic Information page, expand the App Credentials section and then copy the values in the Client ID and Client Secret fields.  
    Save them in a secure location for later use.
11. Expand the Add features and functionality section and then select Permissions.
12. On the OAuth \& Permissions page, configure the permissions that enable the interactions between the application and the Slack API.
    1. In the Redirect URLs section, add the URL of the OAuth provider that you want to redirect users to after authentication.  
       1. Select Add New Redirect URL.
       2. When prompted, enter <kbd class="ph userinput">https://&lt;<var class="keyword varname">instance-name</var>&gt;/oauth_redirect.do</kbd>, where \<<var class="keyword varname">instance-name</var>\> is the name of your ServiceNow instance.
       3. Select Add.
       4. Select Save URLs.
       {#create-slack-enterprise-app__ol_cwk_x3t_1nb}
    2. In the User Token Scopes section, add the admin OAuth scope to the application.  
       The OAuth scopes limit the level of access that the application has
       to your users, channels, and workspaces. For more information on Slack OAuth scopes, see [OAuth Permission scopes](https://api.slack.com/legacy/oauth-scopes).
       1. Select Add an OAuth Scope.
       2. When prompted, select admin from the OAuth Scope list.

          This OAuth scope enables the application to administer your workspace.  
          Note:  
          The Description field for the OAuth scope populates automatically.
       {#create-slack-enterprise-app__ol_h5r_5ht_1nb}
    {#create-slack-enterprise-app__substeps_awb_lxs_lnb}
13. Activate your application.
    1. From the left navigation pane, navigate to SettingsManage Distribution.
    2. Under Share Your App with Other Workspaces, expand the Remove Hard Coded Information section.
    3. Verify that your application doesn't contain any hard-coded information, such as OAuth tokens.
    4. After verification, select the I've reviewed and removed any hard-coded information check box.
    5. Verify that you have completed all other sections.
    6. Select Activate Public Distribution.
    {#create-slack-enterprise-app__substeps_odz_qxs_lnb}

## Create a Slack workspace application {#ariaid-title3}

Create a Slack application on each workspace that you want to track
user activity on.

### Before you begin

Role required: Refer to the [Minimal user permissions](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#integrate-with-slack "Integrating your Software Asset Management application with the Slack application enables you to track your software subscriptions and reclaim unused licenses.") table.

### Procedure

1. From a web browser, open [Slack](https://slack.com/).
2. Sign in using your Slack credentials.
3. Go to the [Slack platform](https://api.slack.com/).
4. On the page header of the Slack platform, select Your Apps.
5. On the Your Apps page, select Create New App.
6. Select From Scratch.  
   The Name app and choose workspace dialog box opens.
7. In the dialog box, enter an application name in the App Name field.
8. From the Development Slack Workspace list, select the workspace that you want the application to belong to.
9. Select Create App.  
   The Slack platform creates the application and then redirects you to the Basic Information page. Use this page to view and configure application settings.
10. On the Basic Information page, expand the App Credentials section and then copy the values in the Client ID and Client Secret fields.  
    Save them in a secure location for later use.
11. Expand the Add features and functionality section and then select Permissions.
12. On the OAuth \& Permissions page, configure the permissions that enable interactions between the application and the Slack API.
    1. In the Redirect URLs section, add the URL of the OAuth provider that you want to redirect users to after authentication.  
       1. Select Add New Redirect URL.
       2. When prompted, enter <kbd class="ph userinput">https://&lt;<var class="keyword varname">instance-name</var>&gt;/oauth_redirect.do</kbd>, where \<<var class="keyword varname">instance-name</var>\> is the name of your ServiceNow instance.
       3. Select Add.
       4. Select Save URLs.
       {#create-slack-workspace-app__ol_cwk_x3t_1nb}
    2. In the User Token Scopes section, add the admin OAuth scope to the application.  
       The OAuth scopes limit the level of access that the application has
       to your users, channels, and workspaces. For more information on Slack OAuth scopes, see [OAuth Permission scopes](https://api.slack.com/legacy/oauth-scopes).
       1. Select Add an OAuth Scope.
       2. When prompted, select admin from the OAuth Scope list.

          This OAuth scope enables the application to administer your workspace.  
          Note:  
          The Description field for the OAuth scope populates automatically.
       {#create-slack-workspace-app__ol_h5r_5ht_1nb}
    {#create-slack-workspace-app__substeps_awb_lxs_lnb}
13. In the OAuth Tokens \& Redirect URLs section of the OAuth \& Permissions page, select Install App to Workspace.
14. Select Allow.  
    Slack creates the application for the specified workspace.
15. Repeat steps 4 through 13 for each workspace on which you want to create an application.
{#create-slack-workspace-app__steps_ms2_4ys_lnb}

## Create a Slack Enterprise connection {#ariaid-title4}

Create a connection between the Slack Enterprise Grid application and
your ServiceNow instance. This connection enables your instance to
retrieve user data from your application.

### Before you begin

Role required: sam_integrator or admin

### Procedure

1. From your ServiceNow instance, navigate to Process AutomationFlow Designer.  
   The Workflow Studio launches in a new tab.
2. Select the Connections tab.
3. Select View Details for your Slack Enterprise connection.
4. From the list of available connections, locate Slack Enterprise and then select Configure.
5. In the Configure Connection dialog box, fill in or verify the following fields.  
   {#create-slack-enterprise-connection__table_xd2_qht_lnb__entry__2}

   | Field | Value |
   |-|-|
   | Connection Name | Name of the Slack Enterprise connection. This field populates automatically. |
   | Name | Name of your Slack Enterprise credentials. This field populates automatically. |
   | OAuth Client ID | Client ID that is assigned to your Slack Enterprise Grid application. Enter the same client ID that you copied in [Create a Slack Enterprise Grid application](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#create-slack-enterprise-app "Create a Slack Enterprise Grid application to manage and connect multiple workspaces across your organization."). |
   | OAuth Client Secret | Client secret that is assigned to your Slack Enterprise Grid application. Enter the same client secret that you copied in [Create a Slack Enterprise Grid application](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#create-slack-enterprise-app "Create a Slack Enterprise Grid application to manage and connect multiple workspaces across your organization."). |
   | OAuth Redirect URL | Redirect URL for your Slack Enterprise Grid application. This field populates automatically. |
   [Table 1. Configure Connection dialog box]

   {#create-slack-enterprise-connection__table_xd2_qht_lnb}
6. Select Configure and Get OAuth Token.  
   Note:  
   For the role required to perform this step, refer to the [Minimal user permissions](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#integrate-with-slack "Integrating your Software Asset Management application with the Slack application enables you to track your software subscriptions and reclaim unused licenses.") table.
7. On the Authorize App dialog box, verify if the Enterprise Grid workspace is available on the top-right list.
8. If the Enterprise Grid workspace is available, select the Enterprise Grid workspace.
9. If the Enterprise Grid workspace isn't available,
   1. Select Add another workspace.
   2. Enter the Enterprise Grid workspace URL.
   3. Select Continue.  
      You get redirected to the Authorize App dialog box.
   4. Select Allow.  
      The OAuth access token becomes available for authorizing your Enterprise connection.
   {#create-slack-enterprise-connection__substeps_mjn_xmj_hrb}

## Create a Slack workspace connection {#ariaid-title5}

Create a connection between your Slack workspaces
and your ServiceNow instance. This connection enables your instance to
retrieve user data from your workspaces.

### Before you begin

Role required: sam_integrator or admin

### About this task

Create a separate connection for each of your Slack workspaces.

### Procedure

1. From your ServiceNow instance, navigate to Process AutomationFlow Designer.  
   The Workflow Studio launches in a new tab.
2. Select the Connections tab.
3. Select Add Connection for your Slack Enterprise connection.
4. In the Create Connection dialog box, fill in or verify the following fields.  
   {#create-slack-workspace-connection__table_xd2_qht_lnb__entry__2}

   | Field | Value |
   |-|-|
   | Connection Name | Name of the Slack workspace connection. For example, <kbd class="ph userinput">Slack-Workspace-1</kbd>. |
   | Name | Name of your Slack workspace credentials. For example, <kbd class="ph userinput">Slack-Workspace-1</kbd>. |
   | OAuth Client ID | Client ID that is assigned to your Slack workspace application. Enter the same client ID that you copied in [Create a Slack workspace application](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#create-slack-workspace-app "Create a Slack application on each workspace that you want to track user activity on."). |
   | OAuth Client Secret | Client secret that you assigned to your Slack workspace application. Enter the same client secret that you copied in [Create a Slack workspace application](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#create-slack-workspace-app "Create a Slack application on each workspace that you want to track user activity on."). |
   | OAuth Redirect URL | Redirect URL for your Slack workspace application. This field populates automatically. |
   [Table 2. Create Connection dialog box]

   {#create-slack-workspace-connection__table_xd2_qht_lnb} {#create-slack-workspace-connection__create-workspace-connection}
{#create-slack-workspace-connection__create-workspace-connection}
5. Select Create and Get OAuth Token.  
   Note:  
   For the role required to perform this step, refer to the [Minimal user permissions](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#integrate-with-slack "Integrating your Software Asset Management application with the Slack application enables you to track your software subscriptions and reclaim unused licenses.") table.
6. In the Authorize App dialog box, select Allow.  
   The OAuth access token becomes available for authorizing your Slack workspace connection.
7. Repeat steps 3 through 6 for each workspace that which you want to connect.
8. Return to your ServiceNow instance to associate your Slack workspace connections with the instance.
   1. Navigate to SlackSlack Workspace Tokens.
   2. Select New.
   3. On the Slack Workspace Tokens form, fill in the following fields.  
      {#create-slack-workspace-connection__table_mvm_v4t_lnb__entry__2}

      | Field | Value |
      |-|-|
      | Connection Alias | Name of your Slack workspace connection. Enter the same connection name that you entered in [step 4](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#create-slack-workspace-connection__create-workspace-connection). |
      | Workspace Name | The name of the workspace to which your Slack application belongs. |
      | Slack App | Name of your Slack workspace application. Enter the same application name that you entered in [Create a Slack workspace application](https://www.servicenow.com/docs/MO2ER_boVW4LZ0CfHNfPpg#create-slack-workspace-app "Create a Slack application on each workspace that you want to track user activity on."). |
      [Table 3. Slack Workspace Tokens form]

      {#create-slack-workspace-connection__table_mvm_v4t_lnb}
   4. Select Submit.
   5. Repeat steps a through d for each workspace connection that you want to associate with your instance.
   {#create-slack-workspace-connection__substeps_sy2_44t_lnb}
{#create-slack-workspace-connection__steps_gzw_rlt_lnb}

## Create a Slack integration profile {#ariaid-title6}

Create a Slack integration profile to track software subscriptions and
optimize licensing for your Slack applications.

### Before you begin

To create a Slack integration profile, request the Software Asset Management - SaaS License Management plugin
(sn_sam_saas_int) from the [ServiceNow Store](https://store.servicenow.com/).

ServiceNow Role required: sam_integrator or admin

### About this task

If you're using Software Asset Workspace, the option to create the Slack integration profile in Core UI is inactive.

### Procedure

1. Navigate to the integration profile.

   | Interface | Action |
   | Core UI | 1. Navigate to AllSoftware AssetSaaS LicenseDirect Integration Profiles. 2. Select New. 3. Select Slack Enterprise Integration Profile. {#create-integration-profile-slack__ol_ijd_bjk_qtb} |
   | Software Asset Workspace | 1. Navigate to License operationsUser SubscriptionsDirect integration profiles. 2. Select New. 3. Select Slack Enterprise from the drop-down list. 4. Select Continue. {#create-integration-profile-slack__ol_wjd_bjk_qtb} |
   |-|-|

   {#create-integration-profile-slack__choicetable_o3p_z3k_qtb}
2. On the form, fill in the fields.  
   {#create-integration-profile-slack__table_bv2_1gv_1nb__entry__2}

   | Field | Value |
   |-|-|
   | Display Name | Name of the integration profile. For example, <kbd class="ph userinput"><span class="keyword">Slack</span> Integration</kbd>. |
   | Connection \& Credential | Connection and credential alias for Slack. This field populates automatically. |
   | Status | Status of the integration profile. * If you have not published the integration profile, this field is automatically set to Draft. * If you have already published the integration profile, this field is automatically set to Published. {#create-integration-profile-slack__ul_y5b_q2l_xbc} |
   | Profile Type | Type of integration profile. This field is automatically set to Slack Enterprise Subscription. |
   [Table 4. Integration Profile form]

   {#create-integration-profile-slack__table_bv2_1gv_1nb}
3. On the Download Subscription Subflow tab, verify that the Subflow field is set to Slack Download Subscriptions Subflow.
4. On the Calculate Activity Subflow tab, verify that the Subflow field is set to Slack Update User Activity Subflow.  
   You can also select the date and time that you want to analyze user activity from in the Analyze user activity from field. By default, you can analyze user activity up to 60 days prior to the current date and view events performed by individual users from the time you create this profile.  
   Note:  
   Software Asset Management pulls the events from the time that you start analyzing user activity irrespective of the profile creation date.
   You can modify this value in the Last activity threshold field of your software reclamation rules. For more information, see [Review a software reclamation rule](https://www.servicenow.com/docs/nAflLzIGyHaK_OpPmTYTvw "Use reclamation rules to cancel user subscriptions that have limited to no activity.").
5. On the Reclaim Subscription Subflow tab, verify that the Subflow field is set to Slack Reclaim Subscription Subflow.
6. Select Save.  
   Your ServiceNow instance creates a draft integration profile. The integration profile uses the Slack Download Subscriptions, Slack Update User Activity, and Slack Reclaim Subscription subflows to retrieve user data from the Slack application.

   The Connection \& Credential field appears and is automatically set to sn_slack_ah_v2.Slack_Enterprise.
7. After the form reloads, select Publish.  
   The Publish Confirmation dialog box opens.
8. In the dialog box, select OK.  
   Note:  
   To optimize memory and avoid performance issues in your Slack flow, you can turn off the flow engine reporting level by navigating to System PropertiesAll Properties and selecting the com.snc.process_flow.reporting.level system property. On the System Property page, set the Value to <kbd class="ph userinput">OFF</kbd> and then select Update.

### What to do next

After the integration connects, your ServiceNow instance automatically creates software models, reclamation rules, and software subscriptions that are refreshed daily.

If you want to set up multiple integration profiles with unique connections, create child aliases to manage different configurations and settings for each integration profile. For more information, see [Create a child alias to set up multiple integration profiles](https://www.servicenow.com/docs/ank2kL8kWf4RhxBVQvFw5g "Create a child alias to set up multiple integration profiles with unique connections and manage different configurations for each integration profile.").

Review all automatically generated reclamation rules to reclaim user subscriptions. For more information, see [Review a software reclamation rule](https://www.servicenow.com/docs/nAflLzIGyHaK_OpPmTYTvw "Use reclamation rules to cancel user subscriptions that have limited to no activity.").  
Create software entitlements for the automatically generated software models to track used software against owned software.

* For more information on creating software entitlements in the Software Asset Management Core UI, see [Create entitlements in Software Asset Management classic](https://www.servicenow.com/docs/MAohEZPg4SjZLPTVioRdog "Create entitlements in the Software Asset Management application classic to record your license details and allocate purchased software rights to users or devices.").
* For more information on creating software entitlements in the Software Asset Workspace, see [Create entitlements in workspace](https://www.servicenow.com/docs/Jh~FO6x8BChwOmSEDyY0kA "Create entitlements in the Software Asset Workspace to enter your license details and allocate purchased software rights to users or devices.").
* For more information on creating software entitlements using the Software Asset Management Playbook, see [Create entitlements using the guided walk-through](https://www.servicenow.com/docs/Tiy_LA~jOKwaLS2ioqEHRA "Use the guided walk-through playbook for a step-by-step process of creating entitlements.").
{#create-integration-profile-slack__ul_cbz_vhr_sqb}  
Reconciliation also runs on your subscriptions as a scheduled job or on-demand. You can view your reconciliation results in the [License Workbench](https://www.servicenow.com/docs/O_bB4w6fQREuwthkTeWiqg "Review reconciliation results in a simplified workbench view.") (Software Asset Management classic application) or the [License usage view](https://www.servicenow.com/docs/UZ6v3AA1wKSbw~zTb_Xy6w "Use the license usage view as a single plane to understand the license position of all software products, remediate non-compliance, view reconciliation results, view, or add removal candidates, and view Software Asset Management related reports.") (Software Asset Workspace). Use these results to determine your license compliance position and to remediate any non-compliance.

* For more information on running reconciliation in the Software Asset Management classic application, see [Run software reconciliation](https://www.servicenow.com/docs/xJni40GL3ctIVn4LYUkVVQ "Reconciliation is run as a scheduled job (default is weekly), but you can also run reconciliation manually to reconcile software products in your environment on demand.").
* For more information on running reconciliation in the Software Asset Workspace, see [Run software reconciliation in the workspace](https://www.servicenow.com/docs/F4t9mIl3Z6yakXJGjLthTg "Reconciliation is run as a scheduled job (default is weekly), but you can also run reconciliation manually to reconcile software products in the Software Asset Workspace environment on-demand.").
{#create-integration-profile-slack__ul_qgf_zhr_sqb}

*[\>]: and then


