You are viewing an earlier version of the admin guide. For the latest version, please visit EmpowerID Admin Guide v7.211.0.0.
Connecting to Slack
EmpowerID Slack connector supports the following Slack versions:
Slack Plus
Slack Enterprise Gold
EmpowerID Slack connector integrates with the Slack SCIM API to allow organizations to bring the user and group data in their Slack system to EmpowerID, where it can be managed and synchronized with data in any connected back-end user directories. Once connected, you can manage this data from EmpowerID in the following ways:
Account Management
Inventory Slack user accounts as EmpowerID accounts
Create Slack user accounts — Calls HTTP POST /Users containing new user information. Requires username and email. You may provide an email address in the userName field, but it will be automatically converted to a Slack-appropriate username.
Update Slack user accounts — Calls HTTP PATCH /Users/{id} with new user information in JSON format.
Enable Slack user accounts — Calls HTTP PATCH /Users/{id} sending JSON with the active attribute set to True
Disable Slack user accounts — Calls HTTP DELETE /Users/{id}, which will set the active attribute of the user to False
Reset and change Slack passwords — Calls HTTP PATCH /Users/{id} sending JSON with a password attribute set to the new password
Group Management
Inventory Slack groups as EmpowerID groups
Inventory Slack group memberships as EmpowerID group accounts
Add members to Slack groups — Calls HTTP PATCH /Groups/{id} sending JSON with a complex attribute Members a list of members with value attribute set to user id.
Remove members from Slack groups — Calls HTTP PATCH /Groups/{id} sending JSON with a complex attribute Members A list of members with value attribute set to user id and operation attribute set to “delete”.
User Account Attribute Flow
Users in Slack are inventoried as accounts in EmpowerID. The below table shows the attribute mappings of Slack user attributes to EmpowerID Person attributes.
Slack Attribute | Slack Table | Corresponding EmpowerID Attribute | Description |
---|---|---|---|
Id | User | SystemIdentifier | Unique System Identifier of the user |
UserName | User | LogonName | User name of the user |
familyName | User | LastName | First name of the user |
givenName | User | FirstName | Last name of the user |
honorificPrefix | User | PersonalTitle | The honorific prefix(es) of the User |
User | PrimaryEmail | Primary Email of the user | |
Primary Photo URL | User | PhotoURL | A fully qualified URL to a page representing the User's online profile |
StreetAddress | User | StreetAddress | Street of the user |
Locality | User | City | City of the user |
Region | User | State | State of the user |
PostalCode | User | PostalCode | Postal Code of the user |
Country | User | Country | Country of the user |
phoneNumber | User | Telephone | Phone number of the user |
DisplayName | User | DisplayName | Name displayed to other end-users |
Active | User | Disabled | Status of the user |
Profile URL | User | URLPersonal | A fully qualified URL to a page representing the User's online profile |
userType | User | EmployeeType | Organization to user relationship |
Title | User | CustomAttribute3 | The user’s title |
Locale | User | CustomAttribute4 | Indicates the User's Date, time format |
PreferredLanguage | User | PreferredLanguage | Indicates the User's preferred written or spoken language |
Time Zone | User | CustomAttribute2 | The User's time zone |
Role | User | Title | Role name of the user |
EmployeeNumber | User | PositionID | Employee ID of User |
CostCenter | User | CostCenter | Cost Center of the User |
Organization | User | Company | Company name of the user |
Division | User | Division | Division name of the user |
Department | User | Department | Department name of the user |
ManagerID | User | ManagerPersonID | Unique System Identifier of the users Manager |
Group Attribute Flow
Groups in Slack are inventoried as Groups in EmpowerID. The below table shows the attribute mapping of Slack Group attributes to EmpowerID Group attributes.
Slack Attribute | Slack Table | Corresponding EmpowerID Attribute | Description |
---|---|---|---|
displayName | Group | Name | Name of the group. |
Id | Group | SystemIdentifier | Unique Identifier of the group. |
Inventory
Slack inventory runs on a scheduled basis to get users, groups and group memberships from Slack system.
Additionally, EmpowerID provides Provisioning policies or Resource Entitlements that allow you to automatically provision Slack accounts for any person within your organization based on your policy requirements.
In order to connect EmpowerID to Slack, the following prerequisites need to be met:
Your organization must have either a Slack Plus or Slack Enterprise Grid account.
You must register EmpowerID as an application in Slack.
You must supply the credentials for the Slack administrator account. EmpowerID uses this account as a connection proxy to manage Slack on your behalf.
Register EmpowerID as an application in Slack
Log in to Slack and navigate to https://api.slack.com/apps.
Click Create New App.
Name the app and select the workspace where you want to create the app.
Click Create App.
Expand Add features and functionality and click Permissions.
Scroll to Scopes.
Under User Token Scopes, add the admin scope.
Under OAuth Tokens & Redirect URLs, click Install App to Workspace.
In the <App Name> is requesting permission dialog that appears, click Allow.
Copy the OAuth Access Token generated for the app.
Save the token. The EmpowerID Slack connector uses it to authenticate to Slack on your behalf.
Create a Slack account store in EmpowerID
On the navbar, expand Admin > Applications and Directories and then click Account Stores and Systems.
On the Account Stores page, click Create Account Store.
Under System Types, search for Slack.
Click Slack to select the type and then click Submit.
On the Slack Settings page that appears, enter the following information:
Name — Enter a name for the account store
Service Token — Enter the token created for the application.
Click Submit.
EmpowerID creates the account store and the associated resource system. The next step is to configure the attribute flow between the account store and EmpowerID.
Now that the attribute flow has been set, the next steps include configuring the account store and enabling EmpowerID to inventory it.
Configure account store settings
On the Account Store and Resource System page, click the Account Store tab and then click the pencil icon to put the account store in edit mode. This opens the edit page for the account store. This page allows you to specify the account proxy used to connect EmpowerID to your Slack account as well as how you want EmpowerID to handle the user information it discovers in Slack during inventory. Settings that can be edited are described in the below table.
Edit the account store as needed and then click Save to save your changes.
Next, enable the Account Inbox permanent workflow to allow the Account Inbox to provision or join the user accounts in Box to EmpowerID Persons as demonstrated below.
EmpowerID recommends using the Account Inbox for provisioning and joining.
IN THIS ARTICLE