Skip to main content

User Directory

Lists all users within a Slack workspace for identity resolution and user monitoring.

Sync Type: Full Synchronisation

Requirements

  • Before you connect Monad to Slack, you need an API token.
  • Your API token needs to scoped to users:read to run this input connector.
  • To obtain an API Token, you need to have a slack app.

To create a Slack app:

  • On the Your Apps page, select Create New App.
  • Select From scratch.
  • Enter your appropriate App Name.
  • Select the Workspace where you'll be developing your app. You'll be able to distribute your app to other workspaces later if you choose.
  • Select Create App.

After creating your slack app, you now need a token with appropriate scopes.

Configuring Permissions within your app:

  • Within OAuth & Permissions, scroll down to Scopes.
  • Under Bot/User Token Scopes, select Add an OAuth Scope.
  • To allow connection of Monad to Slack for this input connector, add the users:read scope.
  • Once that's done, install the slack app to your workspace from the section in the image below, after which you will receieve your slack token to connect to Monad.

Details

Monad uses the cron field to schedule the input at specific intervals, returning all users across teams if no team ID is specified, or limiting the scope to a specific team if a team ID is provided. In both cases, a full data sync is performed each time.

Configuration

The following configuration defines the input parameters. Each field's specifications, such as type, requirements, and descriptions, are detailed below.

Settings

SettingTypeRequiredDescription
CronstringYesCron string for scheduling tasks. Ex: '0 0 * * *' for daily execution at midnight.
Team IDstringNoTeam ID to filter user results by.

Secrets

SecretTypeRequiredDescription
TokenstringYesAuthentication Token for the Slack API. This is required to authenticate requests.

Custom Schema Handling

If the source data doesn't align with any of the OpenSecurityControlFramework (OSCF) schemas, you can create a custom transformation using our JQ transform pipeline. For example:

{
metadata: {
schema_version: "1.0.0",
custom_framework: "my_framework"
},
controls: .[]
}

For more information on JQ and how to write your own JQ transformations see the JQ docs here.

If you believe this data source should be included in the standard OSCF schema set, please reach out to our team at support@monad.com. We're always looking to expand our coverage of security control frameworks based on community needs.

Sample Record

{
"id": "W38ac6a51-78b6-6fb7-598a-ef10158aea61",
"team_id": "T3082c79b-49ce-e105-70e5-8a8717d34384",
"name": "Jane Jones",
"deleted": false,
"color": "e769e7",
"real_name": "Sarah Johnson",
"tz": "America/Los_Angeles",
"tz_label": "British Summer Time",
"tz_offset": 36000,
"profile": {
"avatar_hash": "5a808e5d-b55b-23a6-ba58-629b73889574",
"status_text": "commodo ad nostrud exercitation excepteur",
"status_emoji": ":books:",
"real_name": "John Miller",
"display_name": "Peter Johnson",
"real_name_normalized": "Sarah Williams",
"display_name_normalized": "Jane Brown",
"email": "Alice Johnson@team.example.com",
"image_24": "https://secure.gravatar.com/avatar/c56d38e4-3763-0282-c2a1-de907bb7ce4b.jpg",
"image_32": "https://secure.gravatar.com/avatar/ba5363db-5afe-6378-e7b6-b86ac7872166.jpg",
"image_48": "https://secure.gravatar.com/avatar/bd4b3448-2d6d-7d80-5c97-26383ec25fc3.jpg",
"image_72": "https://secure.gravatar.com/avatar/d081f34d-d6ff-dc4f-62e5-f4a6b477e726.jpg",
"image_192": "https://secure.gravatar.com/avatar/8fcede36-6f0b-2e95-9765-85d5ecb391a0.jpg",
"image_512": "https://secure.gravatar.com/avatar/8c72ad16-9b6f-06e8-3e34-9c1fcafa5e02.jpg",
"team": "T3c6e0cb7-8588-bbb9-e8ab-f6544f28edc4"
},
"is_admin": false,
"is_owner": false,
"is_primary_owner": false,
"is_restricted": true,
"is_ultra_restricted": false,
"is_bot": true,
"updated": 1754956013,
"is_app_user": true,
"has_2fa": true
}