@datafire/slack

DataFire integration for Slack Web API

Stats

StarsIssuesVersionUpdatedCreatedSize
@datafire/slack
122226.0.010 months ago5 years agoMinified + gzip package size for @datafire/slack in KB

Readme

@datafire/slack

Client library for Slack Web API

Installation and Usage

npm install --save @datafire/slack
let slack = require('@datafire/slack').create({
  access_token: "",
  refresh_token: "",
  client_id: "",
  client_secret: "",
  redirect_uri: ""
});

.then(data => {
  console.log(data);
});

Description

One way to interact with the Slack platform is its HTTP RPC-based Web API, a collection of methods requiring OAuth 2.0-based user, bot, or workspace tokens blessed with related OAuth scopes.

Actions

oauthCallback

Exchange the code passed to your redirect URI for an access_token

slack.oauthCallback({
  "code": ""
}, context)

Input

  • input object
    • code required string

Output

  • output object
    • access_token string
    • refresh_token string
    • token_type string
    • scope string
    • expiration string

oauthRefresh

Exchange a refresh_token for an access_token

slack.oauthRefresh(null, context)

Input

This action has no parameters

Output

  • output object
    • access_token string
    • refresh_token string
    • token_type string
    • scope string
    • expiration string

admin_apps_approve

Approve an app for installation on a workspace.

slack.admin_apps_approve({
  "token": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.apps:write
    • app_id string: The id of the app to approve.
    • request_id string: The id of the request to approve.
    • team_id string

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_apps_approved_list

List approved apps for an org or workspace.

slack.admin_apps_approved_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Set cursor to next_cursor returned by the previous call to list items in the next page
    • token required string: Authentication token. Requires scope: admin.apps:read
    • limit integer: The maximum number of items to return. Must be between 1 - 1000 both inclusive.
    • team_id string
    • enterprise_id string

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_apps_requests_list

List app requests for a team/workspace.

slack.admin_apps_requests_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Set cursor to next_cursor returned by the previous call to list items in the next page
    • token required string: Authentication token. Requires scope: admin.apps:read
    • limit integer: The maximum number of items to return. Must be between 1 - 1000 both inclusive.
    • team_id string

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_apps_restrict

Restrict an app for installation on a workspace.

slack.admin_apps_restrict({
  "token": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.apps:write
    • app_id string: The id of the app to restrict.
    • request_id string: The id of the request to restrict.
    • team_id string

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_apps_restricted_list

List restricted apps for an org or workspace.

slack.admin_apps_restricted_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Set cursor to next_cursor returned by the previous call to list items in the next page
    • token required string: Authentication token. Requires scope: admin.apps:read
    • limit integer: The maximum number of items to return. Must be between 1 - 1000 both inclusive.
    • team_id string
    • enterprise_id string

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_conversations_setTeams

Set the workspaces in an Enterprise grid org that connect to a channel.

slack.admin_conversations_setTeams({
  "token": "",
  "channel_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.conversations:write
    • channel_id required string: The encoded channel_id to add or remove to workspaces.
    • org_channel boolean: True if channel has to be converted to an org channel
    • target_team_ids string: The list of workspaces to which the channel should be shared. Not required if the channel is being shared orgwide. Example: ['T1234', 'T5678']
    • team_id string: The workspace to which the channel belongs. Omit this argument if the channel is a cross-workspace shared channel.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_emoji_add

Add an emoji.

slack.admin_emoji_add({
  "name": "",
  "token": "",
  "url": ""
}, context)

Input

  • input object
    • name required string: The name of the emoji to be removed. Colons (:myemoji:) around the value are not required, although they may be included.
    • token required string: Authentication token. Requires scope: admin.teams:write
    • url required string: The URL of a file to use as an image for the emoji. Square images under 128KB and with transparent backgrounds work best.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_emoji_addAlias

Add an emoji alias.

slack.admin_emoji_addAlias({
  "alias_for": "",
  "name": "",
  "token": ""
}, context)

Input

  • input object
    • alias_for required string: The alias of the emoji.
    • name required string: The name of the emoji to be aliased. Colons (:myemoji:) around the value are not required, although they may be included.
    • token required string: Authentication token. Requires scope: admin.teams:write

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_emoji_list

List emoji for an Enterprise Grid organization.

slack.admin_emoji_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Set cursor to next_cursor returned by the previous call to list items in the next page
    • token required string: Authentication token. Requires scope: admin.teams:read
    • limit integer: The maximum number of items to return. Must be between 1 - 1000 both inclusive.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_emoji_remove

Remove an emoji across an Enterprise Grid organization

slack.admin_emoji_remove({
  "name": "",
  "token": ""
}, context)

Input

  • input object
    • name required string: The name of the emoji to be removed. Colons (:myemoji:) around the value are not required, although they may be included.
    • token required string: Authentication token. Requires scope: admin.teams:write

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_emoji_rename

Rename an emoji.

slack.admin_emoji_rename({
  "name": "",
  "new_name": "",
  "token": ""
}, context)

Input

  • input object
    • name required string: The name of the emoji to be renamed. Colons (:myemoji:) around the value are not required, although they may be included.
    • new_name required string: The new name of the emoji.
    • token required string: Authentication token. Requires scope: admin.teams:write

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_inviteRequests_approve

Approve a workspace invite request.

slack.admin_inviteRequests_approve({
  "token": "",
  "invite_request_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.invites:write
    • invite_request_id required string: ID of the request to invite.
    • team_id string: ID for the workspace where the invite request was made.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_inviteRequests_approved_list

List all approved workspace invite requests.

slack.admin_inviteRequests_approved_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Value of the next_cursor field sent as part of the previous API response
    • token required string: Authentication token. Requires scope: admin.invites:read
    • limit integer: The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive
    • team_id string: ID for the workspace where the invite requests were made.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_inviteRequests_denied_list

List all denied workspace invite requests.

slack.admin_inviteRequests_denied_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Value of the next_cursor field sent as part of the previous api response
    • token required string: Authentication token. Requires scope: admin.invites:read
    • limit integer: The number of results that will be returned by the API on each invocation. Must be between 1 - 1000 both inclusive
    • team_id string: ID for the workspace where the invite requests were made.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_inviteRequests_deny

Deny a workspace invite request.

slack.admin_inviteRequests_deny({
  "token": "",
  "invite_request_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.invites:write
    • invite_request_id required string: ID of the request to invite.
    • team_id string: ID for the workspace where the invite request was made.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_inviteRequests_list

List all pending workspace invite requests.

slack.admin_inviteRequests_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Value of the next_cursor field sent as part of the previous API response
    • token required string: Authentication token. Requires scope: admin.invites:read
    • limit integer: The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive
    • team_id string: ID for the workspace where the invite requests were made.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_admins_list

List all of the admins on a given workspace.

slack.admin_teams_admins_list({
  "token": "",
  "team_id": ""
}, context)

Input

  • input object
    • cursor string: Set cursor to next_cursor returned by the previous call to list items in the next page.
    • token required string: Authentication token. Requires scope: admin.teams:read
    • limit integer: The maximum number of items to return.
    • team_id required string

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_create

Create an Enterprise team.

slack.admin_teams_create({
  "token": "",
  "team_domain": "",
  "team_name": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.teams:write
    • team_description string: Description for the team.
    • team_discoverability string: Who can join the team. A team's discoverability can be open, closed, invite_only, or unlisted.
    • team_domain required string: Team domain (for example, slacksoftballteam).
    • team_name required string: Team name (for example, Slack Softball Team).

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_list

List all teams on an Enterprise organization

slack.admin_teams_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Set cursor to next_cursor returned by the previous call to list items in the next page.
    • token required string: Authentication token. Requires scope: admin.teams:read
    • limit integer: The maximum number of items to return. Must be between 1 - 100 both inclusive.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_owners_list

List all of the owners on a given workspace.

slack.admin_teams_owners_list({
  "token": "",
  "team_id": ""
}, context)

Input

  • input object
    • cursor string: Set cursor to next_cursor returned by the previous call to list items in the next page.
    • token required string: Authentication token. Requires scope: admin.teams:read
    • limit integer: The maximum number of items to return. Must be between 1 - 1000 both inclusive.
    • team_id required string

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_settings_info

Fetch information about settings in a workspace

slack.admin_teams_settings_info({
  "token": "",
  "team_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.teams:read
    • team_id required string

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_settings_setDefaultChannels

Set the default channels of a workspace.

slack.admin_teams_settings_setDefaultChannels({
  "channel_ids": "",
  "team_id": "",
  "token": ""
}, context)

Input

  • input object
    • channel_ids required string: An array of channel IDs.
    • team_id required string: ID for the workspace to set the default channel for.
    • token required string: Authentication token. Requires scope: admin.teams:write

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_settings_setDescription

Set the description of a given workspace.

slack.admin_teams_settings_setDescription({
  "token": "",
  "description": "",
  "team_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.teams:write
    • description required string: The new description for the workspace.
    • team_id required string: ID for the workspace to set the description for.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_settings_setDiscoverability

An API method that allows admins to set the discoverability of a given workspace

slack.admin_teams_settings_setDiscoverability({
  "token": "",
  "discoverability": "",
  "team_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.teams:write
    • discoverability required string: This workspace's discovery setting. It must be set to one of open, invite_only, closed, or unlisted.
    • team_id required string: The ID of the workspace to set discoverability on.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_settings_setIcon

Sets the icon of a workspace.

slack.admin_teams_settings_setIcon({
  "image_url": "",
  "team_id": "",
  "token": ""
}, context)

Input

  • input object
    • image_url required string: Image URL for the icon
    • team_id required string: ID for the workspace to set the icon for.
    • token required string: Authentication token. Requires scope: admin.teams:write

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_teams_settings_setName

Set the name of a given workspace.

slack.admin_teams_settings_setName({
  "token": "",
  "name": "",
  "team_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.teams:write
    • name required string: The new name of the workspace.
    • team_id required string: ID for the workspace to set the name for.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_assign

Add an Enterprise user to a workspace.

slack.admin_users_assign({
  "token": "",
  "team_id": "",
  "user_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.users:write
    • channel_ids string: Comma separated values of channel IDs to add user in the new workspace.
    • is_restricted boolean: True if user should be added to the workspace as a guest.
    • is_ultra_restricted boolean: True if user should be added to the workspace as a single-channel guest.
    • team_id required string: The ID (T1234) of the workspace.
    • user_id required string: The ID of the user to add to the workspace.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_invite

Invite a user to a workspace.

slack.admin_users_invite({
  "token": "",
  "channel_ids": "",
  "email": "",
  "team_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.users:write
    • channel_ids required string: A comma-separated list of channel_ids for this user to join. At least one channel is required.
    • custom_message string: An optional message to send to the user in the invite email.
    • email required string: The email address of the person to invite.
    • guest_expiration_ts string: Timestamp when guest account should be disabled. Only include this timestamp if you are inviting a guest user and you want their account to expire on a certain date.
    • is_restricted boolean: Is this user a multi-channel guest user? (default: false)
    • is_ultra_restricted boolean: Is this user a single channel guest user? (default: false)
    • real_name string: Full name of the user.
    • resend boolean: Allow this invite to be resent in the future if a user has not signed up yet. (default: false)
    • team_id required string: The ID (T1234) of the workspace.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_list

List users on a workspace

slack.admin_users_list({
  "token": "",
  "team_id": ""
}, context)

Input

  • input object
    • cursor string: Set cursor to next_cursor returned by the previous call to list items in the next page.
    • token required string: Authentication token. Requires scope: admin.users:read
    • limit integer: Limit for how many users to be retrieved per page
    • team_id required string: The ID (T1234) of the workspace.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_remove

Remove a user from a workspace.

slack.admin_users_remove({
  "token": "",
  "team_id": "",
  "user_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.users:write
    • team_id required string: The ID (T1234) of the workspace.
    • user_id required string: The ID of the user to remove.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_session_reset

Wipes all valid sessions on all devices for a given user

slack.admin_users_session_reset({
  "token": "",
  "user_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.users:write
    • mobile_only boolean: Only expire mobile sessions (default: false)
    • user_id required string: The ID of the user to wipe sessions for
    • web_only boolean: Only expire web sessions (default: false)

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_setAdmin

Set an existing guest, regular user, or owner to be an admin user.

slack.admin_users_setAdmin({
  "token": "",
  "team_id": "",
  "user_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.users:write
    • team_id required string: The ID (T1234) of the workspace.
    • user_id required string: The ID of the user to designate as an admin.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_setExpiration

Set an expiration for a guest user

slack.admin_users_setExpiration({
  "token": "",
  "expiration_ts": 0,
  "team_id": "",
  "user_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.users:write
    • expiration_ts required integer: Timestamp when guest account should be disabled.
    • team_id required string: The ID (T1234) of the workspace.
    • user_id required string: The ID of the user to set an expiration for.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_setOwner

Set an existing guest, regular user, or admin user to be a workspace owner.

slack.admin_users_setOwner({
  "token": "",
  "team_id": "",
  "user_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.users:write
    • team_id required string: The ID (T1234) of the workspace.
    • user_id required string: Id of the user to promote to owner.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

admin_users_setRegular

Set an existing guest user, admin user, or owner to be a regular user.

slack.admin_users_setRegular({
  "token": "",
  "team_id": "",
  "user_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: admin.users:write
    • team_id required string: The ID (T1234) of the workspace.
    • user_id required string: The ID of the user to designate as a regular user.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

api_test

Checks API calling code.

slack.api_test({}, context)

Input

  • input object
    • foo string: example property to return
    • error string: Error response to return

Output

  • output object: Schema for successful response api.test method

apps_permissions_info

Returns list of permissions this app has on a team.

slack.apps_permissions_info({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: none

Output

apps_permissions_request

Allows an app to request additional scopes

slack.apps_permissions_request({
  "scopes": "",
  "token": "",
  "trigger_id": ""
}, context)

Input

  • input object
    • scopes required string: A comma separated list of scopes to request for
    • token required string: Authentication token. Requires scope: none
    • trigger_id required string: Token used to trigger the permissions API

Output

  • output object: Schema for successful response from apps.permissions.request method

apps_permissions_resources_list

Returns list of resource grants this app has on a team.

slack.apps_permissions_resources_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
    • token required string: Authentication token. Requires scope: none
    • limit integer: The maximum number of items to return.

Output

  • output object: Schema for successful response apps.permissions.resources.list method
    • ok required defs_ok_true
    • resources required array
      • items object
        • id string
        • type string
    • response_metadata object
      • next_cursor required string

apps_permissions_scopes_list

Returns list of scopes this app has on a team.

slack.apps_permissions_scopes_list({
  "token": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: none

Output

apps_permissions_users_list

Returns list of user grants and corresponding scopes this app has on a team.

slack.apps_permissions_users_list({
  "token": ""
}, context)

Input

  • input object
    • cursor string: Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
    • token required string: Authentication token. Requires scope: none
    • limit integer: The maximum number of items to return.

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

apps_permissions_users_request

Enables an app to trigger a permissions modal to grant an app access to a user access scope.

slack.apps_permissions_users_request({
  "scopes": "",
  "token": "",
  "user": "",
  "trigger_id": ""
}, context)

Input

  • input object
    • scopes required string: A comma separated list of user scopes to request for
    • token required string: Authentication token. Requires scope: none
    • user required string: The user this scope is being requested for
    • trigger_id required string: Token used to trigger the request

Output

  • output object: This method either only returns a brief OK response or a verbose schema is not available for this method.

apps_uninstall

Uninstalls your app from a workspace.

slack.apps_uninstall({}, context)

Input

  • input object
    • client_secret string: Issued when you created your application.
    • token string: Authentication token. Requires scope: none
    • client_id string: Issued when you created your application.

Output

  • output object: Schema for successful response from apps.uninstall method

auth_revoke

Revokes a token.

slack.auth_revoke({
  "token": ""
}, context)

Input

  • input object
    • test boolean: Setting this parameter to 1 triggers a testing mode where the specified token will not actually be revoked.
    • token required string: Authentication token. Requires scope: none

Output

  • output object: Schema for successful response from auth.revoke method

auth_test

Checks authentication & identity.

slack.auth_test({
  "token": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: none

Output

  • output object: Schema for successful response auth.test method
    • is_enterprise_install boolean
    • ok required defs_ok_true
    • team required string
    • team_id required defs_team
    • url required string
    • user required string
    • user_id required defs_user_id

bots_info

Gets information about a bot user.

slack.bots_info({
  "token": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: users:read
    • bot string: Bot user to get info on

Output

  • output object: Schema for successful response from bots.info method
    • bot required object
      • app_id required defs_app_id
      • deleted required boolean
      • icons required object
        • image_36 required string
        • image_48 required string
        • image_72 required string
      • id required defs_bot_id
      • name required string
      • updated required integer
      • user_id defs_user_id
    • ok required defs_ok_true

channels_archive

Archives a channel.

slack.channels_archive({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • channel string: Channel to archive

Output

  • output object: Schema for successful response from channels.archive method

channels_create

Creates a channel.

slack.channels_create({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • name string: Name of channel to create
    • validate boolean: Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

Output

  • output object: Schema for successful response channels.create method

channels_history

Fetches history of messages and events from a channel.

slack.channels_history({}, context)

Input

  • input object
    • count integer: Number of messages to return, between 1 and 1000.
    • unreads boolean: Include unread_count_display in the output?
    • inclusive boolean: Include messages with latest or oldest timestamp in results.
    • token string: Authentication token. Requires scope: channels:history
    • oldest number: Start of time range of messages to include in results.
    • channel string: Channel to fetch history for.
    • latest number: End of time range of messages to include in results.

Output

  • output object: Schema for successful response channels.history method
    • channel_actions_count required integer
    • channel_actions_ts required
    • has_more required boolean
    • is_limited boolean
    • messages required array
    • ok required defs_ok_true

channels_info

Gets information about a channel.

slack.channels_info({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:read
    • include_locale boolean: Set this to true to receive the locale for this channel. Defaults to false
    • channel string: Channel to get info on

Output

  • output object: Schema for successful response channels.info method

channels_invite

Invites a user to a channel.

slack.channels_invite({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • channel string: Channel to invite user to.
    • user string: User to invite to channel.

Output

  • output object: Schema for successful response channels.invite method

channels_join

Joins a channel, creating it if needed.

slack.channels_join({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • name string: Name of channel to join
    • validate boolean: Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

Output

  • output object: Schema for successful response from channels.join method

channels_kick

Removes a user from a channel.

slack.channels_kick({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • channel string: Channel to remove user from.
    • user string: User to remove from channel.

Output

  • output object: Schema for successful response from channels.kick method

channels_leave

Leaves a channel.

slack.channels_leave({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • channel string: Channel to leave

Output

  • output object: Schema for successful response from channels.leave method

channels_list

Lists all channels in a Slack team.

slack.channels_list({}, context)

Input

  • input object
    • exclude_members boolean: Exclude the members collection from each channel
    • cursor string: Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
    • token string: Authentication token. Requires scope: channels:read
    • limit integer: The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
    • exclude_archived boolean: Exclude archived channels from the list

Output

channels_mark

Sets the read cursor in a channel.

slack.channels_mark({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • channel string: Channel to set reading cursor in.
    • ts number: Timestamp of the most recently seen message.

Output

  • output object: Schema for successful response channels.mark method

channels_rename

Renames a channel.

slack.channels_rename({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • channel string: Channel to rename
    • name string: New name for channel.
    • validate boolean: Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

Output

  • output object: Schema for successful response from channels.rename method

channels_replies

Retrieve a thread of messages posted to a channel

slack.channels_replies({}, context)

Input

  • input object
    • thread_ts number: Unique identifier of a thread's parent message
    • token string: Authentication token. Requires scope: channels:history
    • channel string: Channel to fetch thread from

Output

  • output object: Schema for successful response from channels.replies method
    • has_more required boolean
    • messages required array
      • items
    • ok required defs_ok_true

channels_setPurpose

Sets the purpose for a channel.

slack.channels_setPurpose({
  "token": "",
  "channel": "",
  "purpose": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: channels:write
    • channel required string: Channel to set the purpose of
    • name_tagging boolean: if it is true, treat this like a message and not an unescaped thing
    • purpose required string: The new purpose

Output

  • output object: Schema for successful response from channels.setPurpose method

channels_setTopic

Sets the topic for a channel.

slack.channels_setTopic({
  "token": "",
  "channel": "",
  "topic": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: channels:write
    • channel required string: Channel to set the topic of
    • topic required string: The new topic

Output

  • output object: Schema for successful response from channels.setTopic method

channels_unarchive

Unarchives a channel.

slack.channels_unarchive({
  "token": "",
  "channel": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: channels:write
    • channel required string: Channel to unarchive

Output

  • output object: Schema for successful response from channels.unarchive method

chat_delete

Deletes a message.

slack.chat_delete({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: chat:write
    • as_user boolean: Pass true to delete the message as the authed user with chat:write:user scope. Bot users in this context are considered authed users. If unused or false, the message will be deleted with chat:write:bot scope.
    • channel string: Channel containing the message to be deleted.
    • ts number: Timestamp of the message to be deleted.

Output

chat_deleteScheduledMessage

Deletes a pending scheduled message from the queue.

slack.chat_deleteScheduledMessage({
  "token": "",
  "channel": "",
  "scheduled_message_id": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: chat:write
    • as_user boolean: Pass true to delete the message as the authed user with chat:write:user scope. Bot users in this context are considered authed users. If unused or false, the message will be deleted with chat:write:bot scope.
    • channel required string: The channel the scheduled_message is posting to
    • scheduled_message_id required string: scheduled_message_id returned from call to chat.scheduleMessage

Output

  • output object: Schema for successful response from chat.deleteScheduledMessage method

chat_getPermalink

Retrieve a permalink URL for a specific extant message

slack.chat_getPermalink({
  "token": "",
  "message_ts": "",
  "channel": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: none
    • message_ts required string: A message's ts value, uniquely identifying it within a channel
    • channel required string: The ID of the conversation or channel containing the message

Output

  • output object: Schema for successful response chat.getPermalink

chat_meMessage

Share a me message into a channel.

slack.chat_meMessage({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: chat:write:user
    • channel string: Channel to send message to. Can be a public channel, private group or IM channel. Can be an encoded ID, or a name.
    • text string: Text of the message to send.

Output

chat_postEphemeral

Sends an ephemeral message to a user in a channel.

slack.chat_postEphemeral({
  "token": "",
  "channel": "",
  "user": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: chat:write
    • as_user boolean: Pass true to post the message as the authed user. Defaults to true if the chat:write:bot scope is not included. Otherwise, defaults to false.
    • attachments string: A JSON-based array of structured attachments, presented as a URL-encoded string.
    • blocks string: A JSON-based array of structured blocks, presented as a URL-encoded string.
    • channel required string: Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name.
    • icon_emoji string: Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
    • icon_url string: URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
    • link_names boolean: Find and link channel names and usernames.
    • parse string: Change how messages are treated. Defaults to none. See below.
    • text string: How this field works and whether it is required depends on other fields you use in your API call. See below for more detail.
    • thread_ts string: Provide another message's ts value to post this message in a thread. Avoid using a reply's ts value; use its parent's value instead. Ephemeral messages in threads are only shown if there is already an active thread.
    • user required string: id of the user who will receive the ephemeral message. The user should be in the channel specified by the channel argument.
    • username string: Set your bot's user name. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.

Output

  • output object: Schema for successful response from chat.postEphemeral method

chat_postMessage

Sends a message to a channel.

slack.chat_postMessage({
  "token": "",
  "channel": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: chat:write
    • as_user string: Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See authorship below.
    • attachments string: A JSON-based array of structured attachments, presented as a URL-encoded string.
    • blocks string: A JSON-based array of structured blocks, presented as a URL-encoded string.
    • channel required string: Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name. See below for more details.
    • icon_emoji string: Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
    • icon_url string: URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
    • link_names boolean: Find and link channel names and usernames.
    • mrkdwn boolean: Disable Slack markup parsing by setting to false. Enabled by default.
    • parse string: Change how messages are treated. Defaults to none. See below.
    • reply_broadcast boolean: Used in conjunction with thread_ts and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to false.
    • text string: How this field works and whether it is required depends on other fields you use in your API call. See below for more detail.
    • thread_ts string: Provide another message's ts value to make this message a reply. Avoid using a reply's ts value; use its parent instead.
    • unfurl_links boolean: Pass true to enable unfurling of primarily text-based content.
    • unfurl_media boolean: Pass false to disable unfurling of media content.
    • username string: Set your bot's user name. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.

Output

chat_scheduleMessage

Schedules a message to be sent to a channel.

slack.chat_scheduleMessage({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: chat:write
    • as_user boolean: Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See chat.postMessage.
    • attachments string: A JSON-based array of structured attachments, presented as a URL-encoded string.
    • blocks string: A JSON-based array of structured blocks, presented as a URL-encoded string.
    • channel string: Channel, private group, or DM channel to send message to. Can be an encoded ID, or a name. See below for more details.
    • link_names boolean: Find and link channel names and usernames.
    • parse string: Change how messages are treated. Defaults to none. See chat.postMessage.
    • post_at string: Unix EPOCH timestamp of time in future to send the message.
    • reply_broadcast boolean: Used in conjunction with thread_ts and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to false.
    • text string: How this field works and whether it is required depends on other fields you use in your API call. See below for more detail.
    • thread_ts number: Provide another message's ts value to make this message a reply. Avoid using a reply's ts value; use its parent instead.
    • unfurl_links boolean: Pass true to enable unfurling of primarily text-based content.
    • unfurl_media boolean: Pass false to disable unfurling of media content.

Output

  • output object: Schema for successful response of chat.scheduleMessage method

chat_scheduledMessages_list

Returns a list of scheduled messages.

slack.chat_scheduledMessages_list({}, context)

Input

  • input object
    • cursor string: For pagination purposes, this is the cursor value returned from a previous call to chat.scheduledmessages.list indicating where you want to start this call from.
    • token string: Authentication token. Requires scope: none
    • limit integer: Maximum number of original entries to return.
    • oldest number: A UNIX timestamp of the oldest value in the time range
    • channel string: The channel of the scheduled messages
    • latest number: A UNIX timestamp of the latest value in the time range

Output

  • output object: Schema for successful response from chat.scheduledMessages.list method
    • ok required defs_ok_true
    • response_metadata required object
      • next_cursor required string
    • scheduled_messages required array
      • items object
        • channel_id required defs_channel_id
        • date_created required integer
        • id required string
        • post_at required integer
        • text string

chat_unfurl

Provide custom unfurl behavior for user-posted URLs

slack.chat_unfurl({
  "token": "",
  "channel": "",
  "ts": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: links:write
    • channel required string: Channel ID of the message
    • ts required string: Timestamp of the message to add unfurl behavior to.
    • unfurls string: URL-encoded JSON map with keys set to URLs featured in the the message, pointing to their unfurl blocks or message attachments.
    • user_auth_message string: Provide a simply-formatted string to send as an ephemeral message to the user as invitation to authenticate further and enable full unfurling behavior
    • user_auth_required boolean: Set to true or 1 to indicate the user must install your Slack app to trigger unfurls for this domain
    • user_auth_url string: Send users to this custom URL where they will complete authentication in your app to fully trigger unfurling. Value should be properly URL-encoded.

Output

  • output object: Schema for successful response from chat.unfurl method

chat_update

Updates a message.

slack.chat_update({
  "token": "",
  "channel": "",
  "ts": ""
}, context)

Input

  • input object
    • token required string: Authentication token. Requires scope: chat:write
    • as_user string: Pass true to update the message as the authed user. Bot users in this context are considered authed users.
    • attachments string: A JSON-based array of structured attachments, presented as a URL-encoded string. This field is required when not presenting text.
    • blocks string: A JSON-based array of structured blocks, presented as a URL-encoded string.
    • channel required string: Channel containing the message to be updated.
    • link_names string: Find and link channel names and usernames. Defaults to none. See below.
    • parse string: Change how messages are treated. Defaults to client, unlike chat.postMessage. Accepts either none or full. See below.
    • text string: New text for the message, using the default formatting rules. It's not required when presenting attachments.
    • ts required string: Timestamp of the message to be updated.

Output

  • output object: Schema for successful response of chat.update method
    • channel required string
    • message required object
      • attachments array
        • items object
      • blocks blocks
      • text required string
    • ok required defs_ok_true
    • text required string
    • ts required string

conversations_archive

Archives a conversation.

slack.conversations_archive({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: conversations:write
    • channel string: ID of conversation to archive

Output

  • output object: Schema for successful response conversations.archive method

conversations_close

Closes a direct message or multi-person direct message.

slack.conversations_close({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: conversations:write
    • channel string: Conversation to close.

Output

  • output object: Schema for successful response conversations.close method
    • already_closed boolean
    • no_op boolean
    • ok required defs_ok_true

conversations_create

Initiates a public or private channel-based conversation

slack.conversations_create({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: conversations:write
    • is_private boolean: Create a private channel instead of a public one
    • name string: Name of the public or private channel to create
    • user_ids string: Required for workspace apps. A list of between 1 and 30 human users that will be added to the newly-created conversation. This argument has no effect when used by classic Slack apps.

Output

conversations_history

Fetches a conversation's history of messages and events.

slack.conversations_history({}, context)

Input

  • input object
    • inclusive boolean: Include messages with latest or oldest timestamp in results only when either timestamp is specified.
    • cursor string: Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
    • token string: Authentication token. Requires scope: conversations:history
    • limit integer: The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
    • oldest number: Start of time range of messages to include in results.
    • channel string: Conversation ID to fetch history for.
    • latest number: End of time range of messages to include in results.

Output

  • output object: Schema for successful response from conversations.history method
    • channel_actions_count required integer
    • channel_actions_ts required
    • has_more required boolean
    • messages required array
    • ok required defs_ok_true
    • pin_count required integer

conversations_info

Retrieve information about a conversation.

slack.conversations_info({}, context)

Input

  • input object
    • include_num_members boolean: Set to true to include the member count for the specified conversation. Defaults to false
    • token string: Authentication token. Requires scope: conversations:read
    • channel string: Conversation ID to learn more about
    • include_locale boolean: Set this to true to receive the locale for this conversation. Defaults to false

Output

conversations_invite

Invites users to a channel.

slack.conversations_invite({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: conversations:write
    • channel string: The ID of the public or private channel to invite user(s) to.
    • users string: A comma separated list of user IDs. Up to 1000 users may be listed.

Output

conversations_join

Joins an existing conversation.

slack.conversations_join({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: channels:write
    • channel string: ID of conversation to join

Output

  • output object: Schema for successful response from conversations.join method

conversations_kick

Removes a user from a conversation.

slack.conversations_kick({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: conversations:write
    • channel string: ID of conversation to remove user from.
    • user string: User ID to be removed.

Output

  • output object: Schema for successful response conversations.kick method

conversations_leave

Leaves a conversation.

slack.conversations_leave({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: conversations:write
    • channel string: Conversation to leave

Output

  • output object: Schema for successful response from conversations.leave method
    • not_in_channel boolean (values: true)
    • ok required defs_ok_true

conversations_list

Lists all channels in a Slack team.

slack.conversations_list({}, context)

Input

  • input object
    • cursor string: Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
    • token string: Authentication token. Requires scope: conversations:read
    • limit integer: The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached. Must be an integer no larger than 1000.
    • exclude_archived boolean: Set to true to exclude archived channels from the list
    • types string: Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im

Output

  • output object: Schema for successful response from conversations.list method

conversations_members

Retrieve members of a conversation.

slack.conversations_members({}, context)

Input

  • input object
    • cursor string: Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
    • token string: Authentication token. Requires scope: conversations:read
    • limit integer: The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
    • channel string: ID of the conversation to retrieve members for

Output

  • output object: Schema for successful response conversations.members method
    • members required array
    • ok required defs_ok_true
    • response_metadata required object
      • next_cursor required string

conversations_open

Opens or resumes a direct message or multi-person direct message.

slack.conversations_open({}, context)

Input

  • input object
    • token string: Authentication token. Requires scope: conversations:write
    • channel string: Resume a conversation by supplying an im or mpim's ID. Or provide the users field instead.
    • return_im boolean: Boolean, indic

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.