@slack/web-api
- Version 7.7.0
- Published
- 2.57 MB
- 12 dependencies
- MIT license
Install
npm i @slack/web-api
yarn add @slack/web-api
pnpm add @slack/web-api
Overview
Official library for using the Slack Platform's Web API
Index
Variables
Functions
Classes
Interfaces
AdminAnalyticsMemberDetails
- channel_messages_posted_count
- date
- date_claimed
- email_address
- enterprise_id
- files_added_count
- is_active
- is_active_android
- is_active_apps
- is_active_desktop
- is_active_ios
- is_active_slack_connect
- is_active_workflows
- is_billable_seat
- is_guest
- messages_posted_count
- reactions_added_count
- search_count
- slack_calls_count
- slack_huddles_count
- team_id
- total_calls_count
- user_id
AdminAnalyticsPublicChannelDetails
- channel_id
- channel_type
- date
- date_created
- date_last_active
- enterprise_id
- externally_shared_with_organizations
- full_members_count
- guest_member_count
- is_shared_externally
- members_who_posted_count
- members_who_viewed_count
- messages_posted_by_members_count
- messages_posted_count
- originating_team
- reactions_added_count
- shared_with
- total_members_count
- visibility
Enums
Type Aliases
- AdminAnalyticsGetFileArguments
- AdminAnalyticsGetFileResponse
- AdminAppsActivitiesListArguments
- AdminAppsActivitiesListResponse
- AdminAppsApproveArguments
- AdminAppsApprovedListArguments
- AdminAppsApprovedListResponse
- AdminAppsApproveResponse
- AdminAppsClearResolutionArguments
- AdminAppsClearResolutionResponse
- AdminAppsConfigLookupResponse
- AdminAppsConfigSetResponse
- AdminAppsRequestsCancelArguments
- AdminAppsRequestsCancelResponse
- AdminAppsRequestsListArguments
- AdminAppsRequestsListResponse
- AdminAppsRestrictArguments
- AdminAppsRestrictedListArguments
- AdminAppsRestrictedListResponse
- AdminAppsRestrictResponse
- AdminAppsUninstallArguments
- AdminAppsUninstallResponse
- AdminAuthPolicyAssignEntitiesResponse
- AdminAuthPolicyGetEntitiesResponse
- AdminAuthPolicyRemoveEntitiesResponse
- AdminBarriersCreateResponse
- AdminBarriersDeleteResponse
- AdminBarriersListArguments
- AdminBarriersListResponse
- AdminBarriersUpdateResponse
- AdminConversationsArchiveResponse
- AdminConversationsBulkArchiveResponse
- AdminConversationsBulkDeleteResponse
- AdminConversationsBulkMoveResponse
- AdminConversationsConvertToPrivateResponse
- AdminConversationsConvertToPublicResponse
- AdminConversationsCreateArguments
- AdminConversationsCreateResponse
- AdminConversationsDeleteResponse
- AdminConversationsDisconnectSharedResponse
- AdminConversationsEKMListOriginalConnectedChannelInfoArguments
- AdminConversationsEkmListOriginalConnectedChannelInfoResponse
- AdminConversationsGetConversationPrefsResponse
- AdminConversationsGetCustomRetentionResponse
- AdminConversationsGetTeamsResponse
- AdminConversationsInviteResponse
- AdminConversationsLookupResponse
- AdminConversationsRemoveCustomRetentionResponse
- AdminConversationsRenameResponse
- AdminConversationsRestrictAccessAddGroupResponse
- AdminConversationsRestrictAccessListGroupsResponse
- AdminConversationsRestrictAccessRemoveGroupResponse
- AdminConversationsSearchArguments
- AdminConversationsSearchResponse
- AdminConversationsSetConversationPrefsResponse
- AdminConversationsSetCustomRetentionResponse
- AdminConversationsSetTeamsResponse
- AdminConversationsUnarchiveResponse
- AdminConversationsWhitelistAddResponse
- AdminConversationsWhitelistListGroupsLinkedToChannelResponse
- AdminConversationsWhitelistRemoveResponse
- AdminEmojiAddAliasResponse
- AdminEmojiAddResponse
- AdminEmojiListArguments
- AdminEmojiListResponse
- AdminEmojiRemoveResponse
- AdminEmojiRenameResponse
- AdminFunctionsListResponse
- AdminFunctionsPermissionsLookupResponse
- AdminFunctionsPermissionsSetResponse
- AdminInviteRequestsApprovedListResponse
- AdminInviteRequestsApproveResponse
- AdminInviteRequestsDeniedListResponse
- AdminInviteRequestsDenyResponse
- AdminInviteRequestsListResponse
- AdminRolesAddAssignmentsResponse
- AdminRolesListAssignmentsArguments
- AdminRolesListAssignmentsResponse
- AdminRolesRemoveAssignmentsResponse
- AdminTeamsAdminsListResponse
- AdminTeamsCreateResponse
- AdminTeamsListArguments
- AdminTeamsListResponse
- AdminTeamsOwnersListResponse
- AdminTeamsSettingsInfoResponse
- AdminTeamsSettingsSetDefaultChannelsResponse
- AdminTeamsSettingsSetDescriptionResponse
- AdminTeamsSettingsSetDiscoverabilityResponse
- AdminTeamsSettingsSetIconResponse
- AdminTeamsSettingsSetNameResponse
- AdminUsergroupsAddChannelsResponse
- AdminUsergroupsAddTeamsResponse
- AdminUsergroupsListChannelsResponse
- AdminUsergroupsRemoveChannelsResponse
- AdminUsersAssignResponse
- AdminUsersInviteResponse
- AdminUsersListArguments
- AdminUsersListResponse
- AdminUsersRemoveResponse
- AdminUsersSessionClearSettingsResponse
- AdminUsersSessionGetSettingsResponse
- AdminUsersSessionInvalidateResponse
- AdminUsersSessionListArguments
- AdminUsersSessionListResponse
- AdminUsersSessionResetBulkResponse
- AdminUsersSessionResetResponse
- AdminUsersSessionSetSettingsResponse
- AdminUsersSetAdminResponse
- AdminUsersSetExpirationResponse
- AdminUsersSetOwnerResponse
- AdminUsersSetRegularResponse
- AdminUsersUnsupportedVersionsExportResponse
- AdminWorkflowsCollaboratorsAddResponse
- AdminWorkflowsCollaboratorsRemoveResponse
- AdminWorkflowsPermissionsLookupResponse
- AdminWorkflowsSearchArguments
- AdminWorkflowsSearchResponse
- AdminWorkflowsUnpublishResponse
- APITestArguments
- ApiTestResponse
- AppsConnectionsOpenArguments
- AppsConnectionsOpenResponse
- AppsEventAuthorizationsListResponse
- AppsManifestCreateResponse
- AppsManifestDeleteResponse
- AppsManifestExportResponse
- AppsManifestUpdateResponse
- AppsManifestValidateResponse
- AppsPermissionsInfoResponse
- AppsPermissionsRequestResponse
- AppsPermissionsResourcesListResponse
- AppsPermissionsScopesListResponse
- AppsPermissionsUsersListResponse
- AppsPermissionsUsersRequestResponse
- AppsUninstallResponse
- AssistantThreadsSetStatusResponse
- AssistantThreadsSetSuggestedPromptsResponse
- AssistantThreadsSetTitleResponse
- AuthRevokeArguments
- AuthRevokeResponse
- AuthTeamsListArguments
- AuthTeamsListResponse
- AuthTestArguments
- AuthTestResponse
- BookmarksAddResponse
- BookmarksEditResponse
- BookmarksListResponse
- BookmarksRemoveResponse
- BotsInfoArguments
- BotsInfoResponse
- CallsAddResponse
- CallsEndResponse
- CallsInfoResponse
- CallsParticipantsAddResponse
- CallsParticipantsRemoveResponse
- CallsUpdateResponse
- CanvasesAccessDeleteResponse
- CanvasesAccessSetResponse
- CanvasesCreateArguments
- CanvasesCreateResponse
- CanvasesDeleteResponse
- CanvasesEditResponse
- CanvasesSectionsLookupResponse
- ChannelsArchiveResponse
- ChannelsCreateResponse
- ChannelsHistoryResponse
- ChannelsInfoResponse
- ChannelsInviteResponse
- ChannelsJoinResponse
- ChannelsKickResponse
- ChannelsLeaveResponse
- ChannelsListResponse
- ChannelsMarkResponse
- ChannelsRenameResponse
- ChannelsRepliesResponse
- ChannelsSetPurposeResponse
- ChannelsSetTopicResponse
- ChannelsUnarchiveResponse
- ChatDeleteResponse
- ChatDeleteScheduledMessageResponse
- ChatGetPermalinkResponse
- ChatMeMessageResponse
- ChatPostEphemeralArguments
- ChatPostEphemeralResponse
- ChatPostMessageArguments
- ChatPostMessageResponse
- ChatScheduledMessagesListArguments
- ChatScheduledMessagesListResponse
- ChatScheduleMessageArguments
- ChatScheduleMessageResponse
- ChatUnfurlArguments
- ChatUnfurlResponse
- ChatUpdateArguments
- ChatUpdateResponse
- ConversationsAcceptSharedInviteArguments
- ConversationsAcceptSharedInviteResponse
- ConversationsApproveSharedInviteResponse
- ConversationsArchiveResponse
- ConversationsCanvasesCreateResponse
- ConversationsCloseResponse
- ConversationsCreateResponse
- ConversationsDeclineSharedInviteResponse
- ConversationsExternalInvitePermissionsSetResponse
- ConversationsHistoryResponse
- ConversationsInfoResponse
- ConversationsInviteResponse
- ConversationsInviteSharedArguments
- ConversationsInviteSharedResponse
- ConversationsJoinResponse
- ConversationsKickResponse
- ConversationsLeaveResponse
- ConversationsListArguments
- ConversationsListConnectInvitesArguments
- ConversationsListConnectInvitesResponse
- ConversationsListResponse
- ConversationsMarkResponse
- ConversationsMembersResponse
- ConversationsOpenArguments
- ConversationsOpenResponse
- ConversationsRenameResponse
- ConversationsRepliesResponse
- ConversationsRequestSharedInviteApproveResponse
- ConversationsRequestSharedInviteDenyResponse
- ConversationsRequestSharedInviteListArguments
- ConversationsRequestSharedInviteListResponse
- ConversationsSetPurposeResponse
- ConversationsSetTopicResponse
- ConversationsUnarchiveResponse
- DialogOpenResponse
- DndEndDndArguments
- DndEndDndResponse
- DndEndSnoozeArguments
- DndEndSnoozeResponse
- DndInfoArguments
- DndInfoResponse
- DndSetSnoozeResponse
- DndTeamInfoResponse
- EmojiListArguments
- EmojiListResponse
- FilesCommentsAddResponse
- FilesCommentsDeleteResponse
- FilesCommentsEditResponse
- FilesCompleteUploadExternalArguments
- FilesCompleteUploadExternalResponse
- FilesDeleteResponse
- FilesGetUploadURLExternalResponse
- FilesInfoResponse
- FilesListResponse
- FilesRemoteAddResponse
- FilesRemoteInfoArguments
- FilesRemoteInfoResponse
- FilesRemoteListResponse
- FilesRemoteRemoveArguments
- FilesRemoteRemoveResponse
- FilesRemoteShareArguments
- FilesRemoteShareResponse
- FilesRemoteUpdateArguments
- FilesRemoteUpdateResponse
- FilesRevokePublicURLResponse
- FilesSharedPublicURLResponse
- FilesUploadArguments
- FilesUploadResponse
- FilesUploadV2Arguments
- FunctionsCompleteErrorResponse
- FunctionsCompleteSuccessResponse
- GroupsArchiveResponse
- GroupsCloseResponse
- GroupsCreateChildResponse
- GroupsCreateResponse
- GroupsHistoryResponse
- GroupsInfoResponse
- GroupsInviteResponse
- GroupsKickResponse
- GroupsLeaveResponse
- GroupsListResponse
- GroupsMarkResponse
- GroupsOpenResponse
- GroupsRenameResponse
- GroupsRepliesResponse
- GroupsSetPurposeResponse
- GroupsSetTopicResponse
- GroupsUnarchiveResponse
- ImCloseResponse
- ImHistoryResponse
- ImListResponse
- ImMarkResponse
- ImOpenResponse
- ImRepliesResponse
- Method
- MigrationExchangeResponse
- MpimCloseResponse
- MpimHistoryResponse
- MpimListResponse
- MpimMarkResponse
- MpimOpenResponse
- MpimRepliesResponse
- OauthAccessResponse
- OauthTokenResponse
- OauthV2AccessResponse
- OauthV2ExchangeResponse
- OpenIDConnectTokenResponse
- OpenIDConnectUserInfoArguments
- OpenIDConnectUserInfoResponse
- PageAccumulator
- PageReducer
- PaginatePredicate
- PinsAddResponse
- PinsListResponse
- PinsRemoveResponse
- ReactionsAddResponse
- ReactionsGetArguments
- ReactionsGetResponse
- ReactionsListArguments
- ReactionsListResponse
- ReactionsRemoveArguments
- ReactionsRemoveResponse
- RemindersAddResponse
- RemindersCompleteResponse
- RemindersDeleteResponse
- RemindersInfoResponse
- RemindersListArguments
- RemindersListResponse
- RTMConnectArguments
- RtmConnectResponse
- RTMStartArguments
- RtmStartResponse
- SearchAllResponse
- SearchFilesResponse
- SearchMessagesResponse
- StarsAddRemoveArguments
- StarsAddResponse
- StarsListResponse
- StarsRemoveResponse
- TeamAccessLogsArguments
- TeamAccessLogsResponse
- TeamBillableInfoArguments
- TeamBillableInfoResponse
- TeamBillingInfoArguments
- TeamBillingInfoResponse
- TeamExternalTeamsDisconnectArguments
- TeamExternalTeamsDisconnectResponse
- TeamExternalTeamsListArguments
- TeamExternalTeamsListResponse
- TeamInfoArguments
- TeamInfoResponse
- TeamIntegrationLogsArguments
- TeamIntegrationLogsResponse
- TeamPreferencesListArguments
- TeamPreferencesListResponse
- TeamProfileGetArguments
- TeamProfileGetResponse
- TLSOptions
- ToolingTokensRotateResponse
- UsergroupsCreateResponse
- UsergroupsDisableResponse
- UsergroupsEnableResponse
- UsergroupsListArguments
- UsergroupsListResponse
- UsergroupsUpdateResponse
- UsergroupsUsersListResponse
- UsergroupsUsersUpdateResponse
- UsersConversationsResponse
- UsersDeletePhotoResponse
- UsersDiscoverableContactsLookupResponse
- UsersGetPresenceResponse
- UsersIdentityResponse
- UsersInfoResponse
- UsersListResponse
- UsersLookupByEmailResponse
- UsersProfileGetResponse
- UsersProfileSetResponse
- UsersSetActiveResponse
- UsersSetPhotoResponse
- UsersSetPresenceResponse
- ViewsOpenArguments
- ViewsOpenResponse
- ViewsPublishResponse
- ViewsPushArguments
- ViewsPushResponse
- ViewsUpdateArguments
- ViewsUpdateResponse
- WebAPICallError
- WorkflowsStepCompletedResponse
- WorkflowsStepFailedResponse
- WorkflowsUpdateStepResponse
Variables
variable retryPolicies
const retryPolicies: { tenRetriesInAboutThirtyMinutes: RetryOptions; fiveRetriesInFiveMinutes: RetryOptions; rapidRetryPolicy: RetryOptions;};
Functions
function addAppMetadata
addAppMetadata: ({ name, version }: { name: string; version: string }) => void;
Appends the app metadata into the User-Agent value
Parameter
appMetadata.name - name of tool to be counted in instrumentation
Parameter
appMetadata.version - version of tool to be counted in instrumentation
Classes
class Methods
abstract class Methods extends EventEmitter<WebClientEvent> {}
A class that defines all Web API methods, their arguments type, their response type, and binds those methods to the
apiCall
class method.
constructor
protected constructor();
property admin
readonly admin: { analytics: { getFile: MethodWithRequiredArgument< AdminAnalyticsGetFileArguments, AdminAnalyticsGetFileResponse >; }; apps: { activities: { list: MethodWithOptionalArgument< AdminAppsActivitiesListArguments, AdminAppsActivitiesListResponse >; }; approve: MethodWithRequiredArgument< AdminAppsApproveArguments, AdminAppsApproveResponse >; approved: { list: MethodWithRequiredArgument< AdminAppsApprovedListArguments, AdminAppsApprovedListResponse >; }; clearResolution: MethodWithRequiredArgument< AdminAppsClearResolutionArguments, AdminAppsClearResolutionResponse >; config: { lookup: MethodWithRequiredArgument< AdminAppsConfigLookupArguments, AdminAppsConfigLookupResponse >; set: MethodWithRequiredArgument< AdminAppsConfigSetArguments, AdminAppsConfigSetResponse >; }; requests: { cancel: MethodWithRequiredArgument< AdminAppsRequestsCancelArguments, AdminAppsRequestsCancelResponse >; list: MethodWithRequiredArgument< AdminAppsRequestsListArguments, AdminAppsRequestsListResponse >; }; restrict: MethodWithRequiredArgument< AdminAppsRestrictArguments, AdminAppsRestrictResponse >; restricted: { list: MethodWithRequiredArgument< AdminAppsRestrictedListArguments, AdminAppsRestrictedListResponse >; }; uninstall: MethodWithRequiredArgument< AdminAppsUninstallArguments, AdminAppsUninstallResponse >; }; auth: { policy: { assignEntities: MethodWithRequiredArgument< AdminAuthPolicyAssignEntitiesArguments, AdminAuthPolicyAssignEntitiesResponse >; getEntities: MethodWithRequiredArgument< AdminAuthPolicyGetEntitiesArguments, AdminAuthPolicyGetEntitiesResponse >; removeEntities: MethodWithRequiredArgument< AdminAuthPolicyRemoveEntitiesArguments, AdminAuthPolicyRemoveEntitiesResponse >; }; }; barriers: { create: MethodWithRequiredArgument< AdminBarriersCreateArguments, AdminBarriersCreateResponse >; delete: MethodWithRequiredArgument< AdminBarriersDeleteArguments, AdminBarriersDeleteResponse >; list: MethodWithOptionalArgument< AdminBarriersListArguments, AdminBarriersListResponse >; update: MethodWithRequiredArgument< AdminBarriersUpdateArguments, AdminBarriersUpdateResponse >; }; conversations: { archive: MethodWithRequiredArgument< AdminConversationsArchiveArguments, AdminConversationsArchiveResponse >; bulkArchive: MethodWithRequiredArgument< AdminConversationsBulkArchiveArguments, AdminConversationsBulkArchiveResponse >; bulkDelete: MethodWithRequiredArgument< AdminConversationsBulkDeleteArguments, AdminConversationsBulkDeleteResponse >; bulkMove: MethodWithRequiredArgument< AdminConversationsBulkMoveArguments, AdminConversationsBulkMoveResponse >; convertToPrivate: MethodWithRequiredArgument< AdminConversationsConvertToPrivateArguments, AdminConversationsConvertToPrivateResponse >; convertToPublic: MethodWithRequiredArgument< AdminConversationsConvertToPublicArguments, AdminConversationsConvertToPublicResponse >; create: MethodWithRequiredArgument< AdminConversationsCreateArguments, AdminConversationsCreateResponse >; delete: MethodWithRequiredArgument< AdminConversationsDeleteArguments, AdminConversationsDeleteResponse >; disconnectShared: MethodWithRequiredArgument< AdminConversationsDisconnectSharedArguments, AdminConversationsDisconnectSharedResponse >; ekm: { listOriginalConnectedChannelInfo: MethodWithOptionalArgument< AdminConversationsEKMListOriginalConnectedChannelInfoArguments, AdminConversationsEkmListOriginalConnectedChannelInfoResponse >; }; getConversationPrefs: MethodWithRequiredArgument< AdminConversationsGetConversationPrefsArguments, AdminConversationsGetConversationPrefsResponse >; getCustomRetention: MethodWithRequiredArgument< AdminConversationsGetCustomRetentionArguments, AdminConversationsGetCustomRetentionResponse >; getTeams: MethodWithRequiredArgument< AdminConversationsGetTeamsArguments, AdminConversationsGetTeamsResponse >; invite: MethodWithRequiredArgument< AdminConversationsInviteArguments, AdminConversationsInviteResponse >; lookup: MethodWithRequiredArgument< AdminConversationsLookupArguments, AdminConversationsLookupResponse >; removeCustomRetention: MethodWithRequiredArgument< AdminConversationsRemoveCustomRetentionArguments, AdminConversationsRemoveCustomRetentionResponse >; rename: MethodWithRequiredArgument< AdminConversationsRenameArguments, AdminConversationsRenameResponse >; restrictAccess: { addGroup: MethodWithRequiredArgument< AdminConversationsRestrictAccessAddGroupArguments, AdminConversationsRestrictAccessAddGroupResponse >; listGroups: MethodWithRequiredArgument< AdminConversationsRestrictAccessListGroupsArguments, AdminConversationsRestrictAccessListGroupsResponse >; removeGroup: MethodWithRequiredArgument< AdminConversationsRestrictAccessRemoveGroupArguments, AdminConversationsRestrictAccessRemoveGroupResponse >; }; search: MethodWithOptionalArgument< AdminConversationsSearchArguments, AdminConversationsSearchResponse >; setConversationPrefs: MethodWithRequiredArgument< AdminConversationsSetConversationPrefsArguments, AdminConversationsSetConversationPrefsResponse >; setCustomRetention: MethodWithRequiredArgument< AdminConversationsSetCustomRetentionArguments, AdminConversationsSetCustomRetentionResponse >; setTeams: MethodWithRequiredArgument< AdminConversationsSetTeamsArguments, AdminConversationsSetTeamsResponse >; unarchive: MethodWithRequiredArgument< AdminConversationsUnarchiveArguments, AdminConversationsUnarchiveResponse >; }; emoji: { add: MethodWithRequiredArgument< AdminEmojiAddArguments, AdminEmojiAddResponse >; addAlias: MethodWithRequiredArgument< AdminEmojiAddAliasArguments, AdminEmojiAddAliasResponse >; list: MethodWithOptionalArgument< AdminEmojiListArguments, AdminEmojiListResponse >; remove: MethodWithRequiredArgument< AdminEmojiRemoveArguments, AdminEmojiRemoveResponse >; rename: MethodWithRequiredArgument< AdminEmojiRenameArguments, AdminEmojiRenameResponse >; }; functions: { list: MethodWithRequiredArgument< AdminFunctionsListArguments, AdminFunctionsListResponse >; permissions: { lookup: MethodWithRequiredArgument< AdminFunctionsPermissionsLookupArguments, AdminFunctionsPermissionsLookupResponse >; set: MethodWithRequiredArgument< AdminFunctionsPermissionsSetArguments, AdminFunctionsPermissionsSetResponse >; }; }; inviteRequests: { approve: MethodWithRequiredArgument< AdminInviteRequestsApproveArguments, AdminInviteRequestsApproveResponse >; approved: { list: MethodWithRequiredArgument< AdminInviteRequestsApprovedListArguments, AdminInviteRequestsApprovedListResponse >; }; denied: { list: MethodWithRequiredArgument< AdminInviteRequestsDeniedListArguments, AdminInviteRequestsDeniedListResponse >; }; deny: MethodWithRequiredArgument< AdminInviteRequestsDenyArguments, AdminInviteRequestsDenyResponse >; list: MethodWithRequiredArgument< AdminInviteRequestsListArguments, AdminInviteRequestsListResponse >; }; roles: { addAssignments: MethodWithRequiredArgument< AdminRolesAddAssignmentsArguments, AdminRolesAddAssignmentsResponse >; listAssignments: MethodWithOptionalArgument< AdminRolesListAssignmentsArguments, AdminRolesListAssignmentsResponse >; removeAssignments: MethodWithRequiredArgument< AdminRolesRemoveAssignmentsArguments, AdminRolesRemoveAssignmentsResponse >; }; teams: { admins: { list: MethodWithRequiredArgument< AdminTeamsAdminsListArguments, AdminTeamsAdminsListResponse >; }; create: MethodWithRequiredArgument< AdminTeamsCreateArguments, AdminTeamsCreateResponse >; list: MethodWithOptionalArgument< AdminTeamsListArguments, AdminTeamsListResponse >; owners: { list: MethodWithRequiredArgument< AdminTeamsOwnersListArguments, AdminTeamsOwnersListResponse >; }; settings: { info: MethodWithRequiredArgument< AdminTeamsSettingsInfoArguments, AdminTeamsSettingsInfoResponse >; setDefaultChannels: MethodWithRequiredArgument< AdminTeamsSettingsSetDefaultChannelsArguments, AdminTeamsSettingsSetDefaultChannelsResponse >; setDescription: MethodWithRequiredArgument< AdminTeamsSettingsSetDescriptionArguments, AdminTeamsSettingsSetDescriptionResponse >; setDiscoverability: MethodWithRequiredArgument< AdminTeamsSettingsSetDiscoverabilityArguments, AdminTeamsSettingsSetDiscoverabilityResponse >; setIcon: MethodWithRequiredArgument< AdminTeamsSettingsSetIconArguments, AdminTeamsSettingsSetIconResponse >; setName: MethodWithRequiredArgument< AdminTeamsSettingsSetNameArguments, AdminTeamsSettingsSetNameResponse >; }; }; usergroups: { addChannels: MethodWithRequiredArgument< AdminUsergroupsAddChannelsArguments, AdminUsergroupsAddChannelsResponse >; addTeams: MethodWithRequiredArgument< AdminUsergroupsAddTeamsArguments, AdminUsergroupsAddTeamsResponse >; listChannels: MethodWithRequiredArgument< AdminUsergroupsListChannelsArguments, AdminUsergroupsListChannelsResponse >; removeChannels: MethodWithRequiredArgument< AdminUsergroupsRemoveChannelsArguments, AdminUsergroupsRemoveChannelsResponse >; }; users: { assign: MethodWithRequiredArgument< AdminUsersAssignArguments, AdminUsersAssignResponse >; invite: MethodWithRequiredArgument< AdminUsersInviteArguments, AdminUsersInviteResponse >; list: MethodWithOptionalArgument< AdminUsersListArguments, AdminUsersListResponse >; remove: MethodWithRequiredArgument< AdminUsersRemoveArguments, AdminUsersRemoveResponse >; session: { clearSettings: MethodWithRequiredArgument< AdminUsersSessionClearSettingsArguments, AdminUsersSessionClearSettingsResponse >; getSettings: MethodWithRequiredArgument< AdminUsersSessionGetSettingsArguments, AdminUsersSessionGetSettingsResponse >; invalidate: MethodWithRequiredArgument< AdminUsersSessionInvalidateArguments, AdminUsersSessionInvalidateResponse >; list: MethodWithOptionalArgument< AdminUsersSessionListArguments, AdminUsersSessionListResponse >; reset: MethodWithRequiredArgument< AdminUsersSessionResetArguments, AdminUsersSessionResetResponse >; resetBulk: MethodWithRequiredArgument< AdminUsersSessionResetBulkArguments, AdminUsersSessionResetBulkResponse >; setSettings: MethodWithRequiredArgument< AdminUsersSessionSetSettingsArguments, AdminUsersSessionSetSettingsResponse >; }; setAdmin: MethodWithRequiredArgument< AdminUsersSetAdminArguments, AdminUsersSetAdminResponse >; setExpiration: MethodWithRequiredArgument< AdminUsersSetExpirationArguments, AdminUsersSetExpirationResponse >; setOwner: MethodWithRequiredArgument< AdminUsersSetOwnerArguments, AdminUsersSetOwnerResponse >; setRegular: MethodWithRequiredArgument< AdminUsersSetRegularArguments, AdminUsersSetRegularResponse >; unsupportedVersions: { export: MethodWithRequiredArgument< AdminUsersUnsupportedVersionsExportArguments, AdminUsersUnsupportedVersionsExportResponse >; }; }; workflows: { collaborators: { add: MethodWithRequiredArgument< AdminWorkflowsCollaboratorsAddArguments, AdminWorkflowsCollaboratorsAddResponse >; remove: MethodWithRequiredArgument< AdminWorkflowsCollaboratorsRemoveArguments, AdminWorkflowsCollaboratorsRemoveResponse >; }; permissions: { lookup: MethodWithRequiredArgument< AdminWorkflowsPermissionsLookupArguments, AdminWorkflowsPermissionsLookupResponse >; }; search: MethodWithOptionalArgument< AdminWorkflowsSearchArguments, AdminWorkflowsSearchResponse >; unpublish: MethodWithRequiredArgument< AdminWorkflowsUnpublishArguments, AdminWorkflowsUnpublishResponse >; };};
property api
readonly api: { test: MethodWithOptionalArgument<APITestArguments, ApiTestResponse>;};
property apps
readonly apps: { connections: { open: MethodWithOptionalArgument< AppsConnectionsOpenArguments, AppsConnectionsOpenResponse >; }; event: { authorizations: { list: MethodWithRequiredArgument< AppsEventAuthorizationsListArguments, AppsEventAuthorizationsListResponse >; }; }; manifest: { create: MethodWithRequiredArgument< AppsManifestCreateArguments, AppsManifestCreateResponse >; delete: MethodWithRequiredArgument< AppsManifestDeleteArguments, AppsManifestDeleteResponse >; export: MethodWithRequiredArgument< AppsManifestExportArguments, AppsManifestExportResponse >; update: MethodWithRequiredArgument< AppsManifestUpdateArguments, AppsManifestUpdateResponse >; validate: MethodWithRequiredArgument< AppsManifestValidateArguments, AppsManifestValidateResponse >; }; uninstall: MethodWithRequiredArgument< AppsUninstallArguments, AppsUninstallResponse >;};
property assistant
readonly assistant: { threads: { setStatus: MethodWithRequiredArgument< AssistantThreadsSetStatusArguments, AssistantThreadsSetStatusResponse >; setSuggestedPrompts: MethodWithRequiredArgument< AssistantThreadsSetSuggestedPromptsArguments, AssistantThreadsSetSuggestedPromptsResponse >; setTitle: MethodWithRequiredArgument< AssistantThreadsSetTitleArguments, AssistantThreadsSetTitleResponse >; };};
property auth
readonly auth: { revoke: MethodWithOptionalArgument<AuthRevokeArguments, AuthRevokeResponse>; teams: { list: MethodWithOptionalArgument< AuthTeamsListArguments, AuthTeamsListResponse >; }; test: MethodWithOptionalArgument<AuthTestArguments, AuthTestResponse>;};
property bookmarks
readonly bookmarks: { add: MethodWithRequiredArgument<BookmarksAddArguments, BookmarksAddResponse>; edit: MethodWithRequiredArgument< BookmarksEditArguments, BookmarksEditResponse >; list: MethodWithRequiredArgument< BookmarksListArguments, BookmarksListResponse >; remove: MethodWithRequiredArgument< BookmarksRemoveArguments, BookmarksRemoveResponse >;};
property bots
readonly bots: { info: MethodWithOptionalArgument<BotsInfoArguments, BotsInfoResponse>;};
property calls
readonly calls: { add: MethodWithRequiredArgument<CallsAddArguments, CallsAddResponse>; end: MethodWithRequiredArgument<CallsEndArguments, CallsEndResponse>; info: MethodWithRequiredArgument<CallsInfoArguments, CallsInfoResponse>; update: MethodWithRequiredArgument< CallsUpdateArguments, CallsUpdateResponse >; participants: { add: MethodWithRequiredArgument< CallsParticipantsAddArguments, CallsParticipantsAddResponse >; remove: MethodWithRequiredArgument< CallsParticipantsRemoveArguments, CallsParticipantsRemoveResponse >; };};
property canvases
readonly canvases: { access: { delete: MethodWithRequiredArgument< CanvasesAccessDeleteArguments, CanvasesAccessDeleteResponse >; set: MethodWithRequiredArgument< CanvasesAccessSetArguments, CanvasesAccessSetResponse >; }; create: MethodWithOptionalArgument< CanvasesCreateArguments, CanvasesCreateResponse >; delete: MethodWithRequiredArgument< CanvasesDeleteArguments, CanvasesDeleteResponse >; edit: MethodWithRequiredArgument< CanvasesEditArguments, CanvasesEditResponse >; sections: { lookup: MethodWithRequiredArgument< CanvasesSectionsLookupArguments, CanvasesSectionsLookupResponse >; };};
property chat
readonly chat: { delete: MethodWithRequiredArgument<ChatDeleteArguments, ChatDeleteResponse>; deleteScheduledMessage: MethodWithRequiredArgument< ChatDeleteScheduledMessageArguments, ChatDeleteScheduledMessageResponse >; getPermalink: MethodWithRequiredArgument< ChatGetPermalinkArguments, ChatGetPermalinkResponse >; meMessage: MethodWithRequiredArgument< ChatMeMessageArguments, ChatMeMessageResponse >; postEphemeral: MethodWithRequiredArgument< ChatPostEphemeralArguments, ChatPostEphemeralResponse >; postMessage: MethodWithRequiredArgument< ChatPostMessageArguments, ChatPostMessageResponse >; scheduleMessage: MethodWithRequiredArgument< ChatScheduleMessageArguments, ChatScheduleMessageResponse >; scheduledMessages: { list: MethodWithOptionalArgument< ChatScheduledMessagesListArguments, ChatScheduledMessagesListResponse >; }; unfurl: MethodWithRequiredArgument<ChatUnfurlArguments, ChatUnfurlResponse>; update: MethodWithRequiredArgument<ChatUpdateArguments, ChatUpdateResponse>;};
property conversations
readonly conversations: { acceptSharedInvite: MethodWithRequiredArgument< ConversationsAcceptSharedInviteArguments, ConversationsAcceptSharedInviteResponse >; approveSharedInvite: MethodWithRequiredArgument< ConversationsApproveSharedInviteArguments, ConversationsApproveSharedInviteResponse >; archive: MethodWithRequiredArgument< ConversationsArchiveArguments, ConversationsArchiveResponse >; canvases: { create: MethodWithRequiredArgument< ConversationsCanvasesCreateArguments, ConversationsCanvasesCreateResponse >; }; close: MethodWithRequiredArgument< ConversationsCloseArguments, ConversationsCloseResponse >; create: MethodWithRequiredArgument< ConversationsCreateArguments, ConversationsCreateResponse >; declineSharedInvite: MethodWithRequiredArgument< ConversationsDeclineSharedInviteArguments, ConversationsDeclineSharedInviteResponse >; externalInvitePermissions: { set: MethodWithRequiredArgument< ConversationsExternalInvitePermissionsSetArguments, ConversationsExternalInvitePermissionsSetResponse >; }; history: MethodWithRequiredArgument< ConversationsHistoryArguments, ConversationsHistoryResponse >; info: MethodWithRequiredArgument< ConversationsInfoArguments, ConversationsInfoResponse >; invite: MethodWithRequiredArgument< ConversationsInviteArguments, ConversationsInviteResponse >; inviteShared: MethodWithRequiredArgument< ConversationsInviteSharedArguments, ConversationsInviteSharedResponse >; join: MethodWithRequiredArgument< ConversationsJoinArguments, ConversationsJoinResponse >; kick: MethodWithRequiredArgument< ConversationsKickArguments, ConversationsKickResponse >; leave: MethodWithRequiredArgument< ConversationsLeaveArguments, ConversationsLeaveResponse >; list: MethodWithOptionalArgument< ConversationsListArguments, ConversationsListResponse >; listConnectInvites: MethodWithOptionalArgument< ConversationsListConnectInvitesArguments, ConversationsListConnectInvitesResponse >; mark: MethodWithRequiredArgument< ConversationsMarkArguments, ConversationsMarkResponse >; members: MethodWithRequiredArgument< ConversationsMembersArguments, ConversationsMembersResponse >; open: MethodWithRequiredArgument< ConversationsOpenArguments, ConversationsOpenResponse >; rename: MethodWithRequiredArgument< ConversationsRenameArguments, ConversationsRenameResponse >; replies: MethodWithRequiredArgument< ConversationsRepliesArguments, ConversationsRepliesResponse >; requestSharedInvite: { approve: MethodWithRequiredArgument< ConversationsRequestSharedInviteApproveArguments, ConversationsRequestSharedInviteApproveResponse >; deny: MethodWithRequiredArgument< ConversationsRequestSharedInviteDenyArguments, ConversationsRequestSharedInviteDenyResponse >; list: MethodWithOptionalArgument< ConversationsRequestSharedInviteListArguments, ConversationsRequestSharedInviteListResponse >; }; setPurpose: MethodWithRequiredArgument< ConversationsSetPurposeArguments, ConversationsSetPurposeResponse >; setTopic: MethodWithRequiredArgument< ConversationsSetTopicArguments, ConversationsSetTopicResponse >; unarchive: MethodWithRequiredArgument< ConversationsUnarchiveArguments, ConversationsUnarchiveResponse >;};
property dialog
readonly dialog: { open: MethodWithRequiredArgument<DialogOpenArguments, DialogOpenResponse>;};
property dnd
readonly dnd: { endDnd: MethodWithOptionalArgument<DndEndDndArguments, DndEndDndResponse>; endSnooze: MethodWithOptionalArgument< DndEndSnoozeArguments, DndEndSnoozeResponse >; info: MethodWithOptionalArgument<DndInfoArguments, DndInfoResponse>; setSnooze: MethodWithRequiredArgument< DndSetSnoozeArguments, DndSetSnoozeResponse >; teamInfo: MethodWithRequiredArgument< DndTeamInfoArguments, DndTeamInfoResponse >;};
property emoji
readonly emoji: { list: MethodWithOptionalArgument<EmojiListArguments, EmojiListResponse>;};
property files
readonly files: { completeUploadExternal: MethodWithRequiredArgument< FilesCompleteUploadExternalArguments, FilesCompleteUploadExternalResponse >; delete: MethodWithRequiredArgument< FilesDeleteArguments, FilesDeleteResponse >; getUploadURLExternal: MethodWithRequiredArgument< FilesGetUploadURLExternalArguments, FilesGetUploadURLExternalResponse >; info: MethodWithRequiredArgument<FilesInfoArguments, FilesInfoResponse>; list: MethodWithRequiredArgument<FilesListArguments, FilesListResponse>; revokePublicURL: MethodWithRequiredArgument< FilesRevokePublicURLArguments, FilesRevokePublicURLResponse >; sharedPublicURL: MethodWithRequiredArgument< FilesSharedPublicURLArguments, FilesSharedPublicURLResponse >; upload: MethodWithRequiredArgument< FilesUploadArguments, FilesUploadResponse >; uploadV2: MethodWithRequiredArgument< FilesUploadV2Arguments, WebAPICallResult >; comments: { delete: MethodWithRequiredArgument< FilesCommentsDeleteArguments, FilesCommentsDeleteResponse >; }; remote: { add: MethodWithRequiredArgument< FilesRemoteAddArguments, FilesRemoteAddResponse >; info: MethodWithRequiredArgument< FilesRemoteInfoArguments, FilesRemoteInfoResponse >; list: MethodWithRequiredArgument< FilesRemoteListArguments, FilesRemoteListResponse >; remove: MethodWithRequiredArgument< FilesRemoteRemoveArguments, FilesRemoteRemoveResponse >; share: MethodWithRequiredArgument< FilesRemoteShareArguments, FilesRemoteShareResponse >; update: MethodWithRequiredArgument< FilesRemoteUpdateArguments, FilesRemoteUpdateResponse >; };};
property functions
readonly functions: { completeError: MethodWithRequiredArgument< FunctionsCompleteErrorArguments, FunctionsCompleteErrorResponse >; completeSuccess: MethodWithRequiredArgument< FunctionsCompleteSuccessArguments, FunctionsCompleteSuccessResponse >;};
property migration
readonly migration: { exchange: MethodWithRequiredArgument< MigrationExchangeArguments, MigrationExchangeResponse >;};
property oauth
readonly oauth: { access: MethodWithRequiredArgument< OAuthAccessArguments, OauthAccessResponse >; v2: { access: MethodWithRequiredArgument< OAuthV2AccessArguments, OauthV2AccessResponse >; exchange: MethodWithRequiredArgument< OAuthV2ExchangeArguments, OauthV2ExchangeResponse >; };};
property openid
readonly openid: { connect: { token: MethodWithRequiredArgument< OpenIDConnectTokenArguments, OpenIDConnectTokenResponse >; userInfo: MethodWithOptionalArgument< OpenIDConnectUserInfoArguments, OpenIDConnectUserInfoResponse >; };};
property pins
readonly pins: { add: MethodWithRequiredArgument<PinsAddArguments, PinsAddResponse>; list: MethodWithRequiredArgument<PinsListArguments, PinsListResponse>; remove: MethodWithRequiredArgument<PinsRemoveArguments, PinsRemoveResponse>;};
property reactions
readonly reactions: { add: MethodWithRequiredArgument<ReactionsAddArguments, ReactionsAddResponse>; get: MethodWithRequiredArgument<ReactionsGetArguments, ReactionsGetResponse>; list: MethodWithOptionalArgument< ReactionsListArguments, ReactionsListResponse >; remove: MethodWithRequiredArgument< ReactionsRemoveArguments, ReactionsRemoveResponse >;};
property reminders
readonly reminders: { add: MethodWithRequiredArgument<RemindersAddArguments, RemindersAddResponse>; complete: MethodWithRequiredArgument< RemindersCompleteArguments, RemindersCompleteResponse >; delete: MethodWithRequiredArgument< RemindersDeleteArguments, RemindersDeleteResponse >; info: MethodWithRequiredArgument< RemindersInfoArguments, RemindersInfoResponse >; list: MethodWithOptionalArgument< RemindersListArguments, RemindersListResponse >;};
property rtm
readonly rtm: { connect: MethodWithOptionalArgument<RTMConnectArguments, RtmConnectResponse>; start: MethodWithOptionalArgument<RTMStartArguments, RtmStartResponse>;};
property search
readonly search: { all: MethodWithRequiredArgument<SearchAllArguments, SearchAllResponse>; files: MethodWithRequiredArgument<SearchFilesArguments, SearchFilesResponse>; messages: MethodWithRequiredArgument< SearchMessagesArguments, SearchMessagesResponse >;};
property stars
readonly stars: { add: MethodWithRequiredArgument<StarsAddRemoveArguments, StarsAddResponse>; list: MethodWithRequiredArgument<StarsListArguments, StarsListResponse>; remove: MethodWithRequiredArgument< StarsAddRemoveArguments, StarsRemoveResponse >;};
property team
readonly team: { accessLogs: MethodWithOptionalArgument< TeamAccessLogsArguments, TeamAccessLogsResponse >; billableInfo: MethodWithOptionalArgument< TeamBillableInfoArguments, TeamBillableInfoResponse >; billing: { info: MethodWithRequiredArgument< TeamBillingInfoArguments, TeamBillingInfoResponse >; }; externalTeams: { disconnect: MethodWithRequiredArgument< TeamExternalTeamsDisconnectArguments, TeamExternalTeamsDisconnectResponse >; list: MethodWithRequiredArgument< TeamExternalTeamsListArguments, TeamExternalTeamsListResponse >; }; info: MethodWithOptionalArgument<TeamInfoArguments, TeamInfoResponse>; integrationLogs: MethodWithOptionalArgument< TeamIntegrationLogsArguments, TeamIntegrationLogsResponse >; preferences: { list: MethodWithOptionalArgument< TeamPreferencesListArguments, TeamPreferencesListResponse >; }; profile: { get: MethodWithOptionalArgument< TeamProfileGetArguments, TeamProfileGetResponse >; };};
property tooling
readonly tooling: { tokens: { rotate: MethodWithRequiredArgument< ToolingTokensRotateArguments, ToolingTokensRotateResponse >; };};
property usergroups
readonly usergroups: { create: MethodWithRequiredArgument< UsergroupsCreateArguments, UsergroupsCreateResponse >; disable: MethodWithRequiredArgument< UsergroupsDisableArguments, UsergroupsDisableResponse >; enable: MethodWithRequiredArgument< UsergroupsEnableArguments, UsergroupsEnableResponse >; list: MethodWithOptionalArgument< UsergroupsListArguments, UsergroupsListResponse >; update: MethodWithRequiredArgument< UsergroupsUpdateArguments, UsergroupsUpdateResponse >; users: { list: MethodWithRequiredArgument< UsergroupsUsersListArguments, UsergroupsUsersListResponse >; update: MethodWithRequiredArgument< UsergroupsUsersUpdateArguments, UsergroupsUsersUpdateResponse >; };};
property users
readonly users: { conversations: MethodWithRequiredArgument< UsersConversationsArguments, UsersConversationsResponse >; deletePhoto: MethodWithRequiredArgument< UsersDeletePhotoArguments, UsersDeletePhotoResponse >; discoverableContacts: { lookup: MethodWithRequiredArgument< UsersDiscoverableContactsLookupArguments, UsersDiscoverableContactsLookupResponse >; }; getPresence: MethodWithRequiredArgument< UsersGetPresenceArguments, UsersGetPresenceResponse >; identity: MethodWithRequiredArgument< UsersIdentityArguments, UsersIdentityResponse >; info: MethodWithRequiredArgument<UsersInfoArguments, UsersInfoResponse>; list: MethodWithRequiredArgument<UsersListArguments, UsersListResponse>; lookupByEmail: MethodWithRequiredArgument< UsersLookupByEmailArguments, UsersLookupByEmailResponse >; setPhoto: MethodWithRequiredArgument< UsersSetPhotoArguments, UsersSetPhotoResponse >; setPresence: MethodWithRequiredArgument< UsersSetPresenceArguments, UsersSetPresenceResponse >; profile: { get: MethodWithRequiredArgument< UsersProfileGetArguments, UsersProfileGetResponse >; set: MethodWithRequiredArgument< UsersProfileSetArguments, UsersProfileSetResponse >; };};
property views
readonly views: { open: MethodWithRequiredArgument<ViewsOpenArguments, ViewsOpenResponse>; publish: MethodWithRequiredArgument< ViewsPublishArguments, ViewsPublishResponse >; push: MethodWithRequiredArgument<ViewsPushArguments, ViewsPushResponse>; update: MethodWithRequiredArgument< ViewsUpdateArguments, ViewsUpdateResponse >;};
property workflows
readonly workflows: { stepCompleted: MethodWithRequiredArgument< WorkflowsStepCompletedArguments, WorkflowsStepCompletedResponse >; stepFailed: MethodWithRequiredArgument< WorkflowsStepFailedArguments, WorkflowsStepFailedResponse >; updateStep: MethodWithRequiredArgument< WorkflowsUpdateStepArguments, WorkflowsUpdateStepResponse >;};
method apiCall
abstract apiCall: ( method: string, options?: Record<string, unknown>) => Promise<WebAPICallResult>;
method filesUploadV2
abstract filesUploadV2: ( options: FilesUploadV2Arguments) => Promise<WebAPICallResult>;
class WebClient
class WebClient extends Methods {}
A client for Slack's Web API
This client provides an alias for each Web API method. Each method is a convenience wrapper for calling the WebClient#apiCall method using the method name as the first parameter.
constructor
constructor( token?: string, { slackApiUrl, logger, logLevel, maxRequestConcurrency, retryConfig, agent, tls, timeout, rejectRateLimitedCalls, headers, teamId, attachOriginalToWebAPIRequestError, requestInterceptor, adapter, }?: WebClientOptions);
Parameter token
An API token to authenticate/authorize with Slack (usually start with
xoxp
,xoxb
)Parameter webClientOptions
Configuration options.
Parameter
{Function} [webClientOptions.requestInterceptor] - An interceptor to mutate outgoing requests. See
Parameter
{Function} [webClientOptions.adapter] - An adapter to allow custom handling of requests. Useful if you would like to use a pre-configured http client. See
property slackApiUrl
readonly slackApiUrl: string;
The base URL for reaching Slack's Web API. Consider changing this value for testing purposes.
property token
readonly token?: string;
Authentication and authorization token for accessing Slack Web API (usually begins with
xoxp
orxoxb
)
method apiCall
apiCall: ( method: string, options?: Record<string, unknown>) => Promise<WebAPICallResult>;
Generic method for calling a Web API method
Parameter method
the Web API method to call https://api.slack.com/methods
Parameter options
options
method filesUploadV2
filesUploadV2: ( options: FilesUploadV2Arguments) => Promise< WebAPICallResult & { files: FilesCompleteUploadExternalResponse[] }>;
This wrapper method provides an easy way to upload files using the following endpoints:
**#1**: For each file submitted with this method, submit filenames and file metadata to to request a URL to which to send the file data to and an id for the file
**#2**: for each returned file
upload_url
, upload corresponding file to URLs returned from step 1 (e.g. https://files.slack.com/upload/v1/...")**#3**: Complete uploads
Parameter options
method paginate
paginate: { ( method: string, options?: Record<string, unknown> ): AsyncIterable<WebAPICallResult>; ( method: string, options: Record<string, unknown>, shouldStop: PaginatePredicate ): Promise<void>; <R extends PageReducer<any>, A extends PageAccumulator<R>>( method: string, options: Record<string, unknown>, shouldStop: PaginatePredicate, reduce?: PageReducer<A> ): Promise<A>;};
Iterate over the result pages of a cursor-paginated Web API method. This method can return two types of values, depending on which arguments are used. When up to two parameters are used, the return value is an async iterator which can be used as the iterable in a for-await-of loop. When three or four parameters are used, the return value is a promise that resolves at the end of iteration. The third parameter,
shouldStop
, is a function that is called with eachpage
and can end iteration by returningtrue
. The fourth parameter,reduce
, is a function that is called with three arguments:accumulator
,page
, andindex
. Theaccumulator
is a value of any type you choose, but it will containundefined
whenreduce
is called for the first time. Thepage
argument andindex
arguments are exactly what they say they are. Thereduce
function's return value will be passed in asaccumulator
the next time its called, and the returned promise will resolve to the last value ofaccumulator
.The for-await-of syntax is part of ES2018. It is available natively in Node starting with v10.0.0. You may be able to use it in earlier JavaScript runtimes by transpiling your source with a tool like Babel. However, the transpiled code will likely sacrifice performance.
Parameter method
the cursor-paginated Web API method to call https://api.slack.com/docs/pagination
Parameter options
options
Parameter shouldStop
a predicate that is called with each page, and should return true when pagination can end.
Parameter reduce
a callback that can be used to accumulate a value that the return promise is resolved to
Interfaces
interface AdminAnalyticsMemberDetails
interface AdminAnalyticsMemberDetails {}
property channel_messages_posted_count
channel_messages_posted_count: number;
property date
date: string;
property date_claimed
date_claimed: number;
property email_address
email_address: string;
property enterprise_id
enterprise_id: string;
property files_added_count
files_added_count: number;
property is_active
is_active: boolean;
property is_active_android
is_active_android: boolean;
property is_active_apps
is_active_apps: boolean;
property is_active_desktop
is_active_desktop: boolean;
property is_active_ios
is_active_ios: boolean;
property is_active_slack_connect
is_active_slack_connect: boolean;
property is_active_workflows
is_active_workflows: boolean;
property is_billable_seat
is_billable_seat: boolean;
property is_guest
is_guest: boolean;
property messages_posted_count
messages_posted_count: number;
property reactions_added_count
reactions_added_count: number;
property search_count
search_count: number;
property slack_calls_count
slack_calls_count: number;
property slack_huddles_count
slack_huddles_count: number;
property team_id
team_id: string;
property total_calls_count
total_calls_count: number;
property user_id
user_id: string;
interface AdminAnalyticsPublicChannelDetails
interface AdminAnalyticsPublicChannelDetails {}
property channel_id
channel_id: string;
property channel_type
channel_type: string;
property date
date: string;
property date_created
date_created: number;
property date_last_active
date_last_active: number;
property enterprise_id
enterprise_id: string;
property externally_shared_with_organizations
externally_shared_with_organizations: AdminAnalyticsExternallySharedWithOrganizationsDetails[];
property full_members_count
full_members_count: number;
property guest_member_count
guest_member_count: number;
property is_shared_externally
is_shared_externally: boolean;
property members_who_posted_count
members_who_posted_count: number;
property members_who_viewed_count
members_who_viewed_count: number;
property messages_posted_by_members_count
messages_posted_by_members_count: number;
property messages_posted_count
messages_posted_count: number;
property originating_team
originating_team: AdminAnalyticsOriginatingTeamDetails;
property reactions_added_count
reactions_added_count: number;
property shared_with
shared_with: AdminAnalyticsSharedWithDetails[];
property total_members_count
total_members_count: number;
property visibility
visibility: string;
interface AdminAnalyticsPublicChannelMetadataDetails
interface AdminAnalyticsPublicChannelMetadataDetails {}
property channel_id
channel_id: string;
property date
date: string;
property description
description: string;
property name
name: string;
property topic
topic: string;
interface AdminAppsConfigLookupArguments
interface AdminAppsConfigLookupArguments extends TokenOverridable {}
property app_ids
app_ids: string[];
An array of app IDs to get app configs for.
interface AdminAppsConfigSetArguments
interface AdminAppsConfigSetArguments extends AppID, TokenOverridable {}
property domain_restrictions
domain_restrictions?: { /** @description Sets allowed URLs for the app. */ urls?: string[]; /** @description Sets emails for connector authorization. */ emails?: string[];};
Domain restrictions for the app.
property workflow_auth_strategy
workflow_auth_strategy?: 'builder_choice' | 'end_user_only';
The workflow auth permission.
interface AdminAuthPolicyAssignEntitiesArguments
interface AdminAuthPolicyAssignEntitiesArguments extends EntityIDs, EntityType, PolicyName, TokenOverridable {}
interface AdminAuthPolicyGetEntitiesArguments
interface AdminAuthPolicyGetEntitiesArguments extends Partial<EntityType>, PolicyName, TokenOverridable, CursorPaginationEnabled {}
interface AdminAuthPolicyRemoveEntitiesArguments
interface AdminAuthPolicyRemoveEntitiesArguments extends EntityIDs, EntityType, PolicyName, TokenOverridable {}
interface AdminBarriersCreateArguments
interface AdminBarriersCreateArguments extends TokenOverridable {}
property barriered_from_usergroup_ids
barriered_from_usergroup_ids: string[];
A list of IDs ti associate with the barrier.
property primary_usergroup_id
primary_usergroup_id: string;
The ID of the primary .
property restricted_subjects
restricted_subjects: ['im', 'mpim', 'call'];
What kind of interactions are blocked by this barrier? Currently you must provide all three:
im
,mpim
,call
.
interface AdminBarriersDeleteArguments
interface AdminBarriersDeleteArguments extends BarrierID, TokenOverridable {}
interface AdminBarriersUpdateArguments
interface AdminBarriersUpdateArguments extends AdminBarriersCreateArguments, BarrierID {}
interface AdminConversationsArchiveArguments
interface AdminConversationsArchiveArguments extends ChannelID, TokenOverridable {}
interface AdminConversationsBulkArchiveArguments
interface AdminConversationsBulkArchiveArguments extends ChannelIDs, TokenOverridable {}
interface AdminConversationsBulkDeleteArguments
interface AdminConversationsBulkDeleteArguments extends ChannelIDs, TokenOverridable {}
interface AdminConversationsBulkMoveArguments
interface AdminConversationsBulkMoveArguments extends ChannelIDs, TokenOverridable {}
property target_team_id
target_team_id: string;
Target team ID to move channels to.
interface AdminConversationsConvertToPrivateArguments
interface AdminConversationsConvertToPrivateArguments extends ChannelID, TokenOverridable {}
property name
name?: string;
Name of private channel to create. Only respected when converting an MPIM.
interface AdminConversationsConvertToPublicArguments
interface AdminConversationsConvertToPublicArguments extends ChannelID, TokenOverridable {}
interface AdminConversationsDeleteArguments
interface AdminConversationsDeleteArguments extends ChannelID, TokenOverridable {}
interface AdminConversationsDisconnectSharedArguments
interface AdminConversationsDisconnectSharedArguments extends ChannelID, TokenOverridable {}
property leaving_team_ids
leaving_team_ids?: string[];
Team IDs getting removed from the channel, optional if there are only two teams in the channel.
interface AdminConversationsGetConversationPrefsArguments
interface AdminConversationsGetConversationPrefsArguments extends ChannelID, TokenOverridable {}
interface AdminConversationsGetCustomRetentionArguments
interface AdminConversationsGetCustomRetentionArguments extends ChannelID, TokenOverridable {}
interface AdminConversationsGetTeamsArguments
interface AdminConversationsGetTeamsArguments extends ChannelID, TokenOverridable, CursorPaginationEnabled {}
interface AdminConversationsInviteArguments
interface AdminConversationsInviteArguments extends ChannelID, UserIDs, TokenOverridable {}
interface AdminConversationsLookupArguments
interface AdminConversationsLookupArguments extends TeamIDs, TokenOverridable, CursorPaginationEnabled {}
property last_message_activity_before
last_message_activity_before: number;
UNIX timestamp to filter by public channels where the most recent message was sent before this parameter.
property max_member_count
max_member_count?: number;
Filter by public channels with member count equal to or less than the specified number.
interface AdminConversationsRemoveCustomRetentionArguments
interface AdminConversationsRemoveCustomRetentionArguments extends ChannelID, TokenOverridable {}
interface AdminConversationsRenameArguments
interface AdminConversationsRenameArguments extends ChannelID, TokenOverridable {}
property name
name: string;
The new name for the channel.
interface AdminConversationsRestrictAccessAddGroupArguments
interface AdminConversationsRestrictAccessAddGroupArguments extends ChannelID, GroupID, RestrictAccessTeamID, TokenOverridable {}
interface AdminConversationsRestrictAccessListGroupsArguments
interface AdminConversationsRestrictAccessListGroupsArguments extends ChannelID, RestrictAccessTeamID, TokenOverridable {}
interface AdminConversationsRestrictAccessRemoveGroupArguments
interface AdminConversationsRestrictAccessRemoveGroupArguments extends ChannelID, GroupID, RestrictAccessTeamID, TokenOverridable {}
interface AdminConversationsSetConversationPrefsArguments
interface AdminConversationsSetConversationPrefsArguments extends ChannelID, TokenOverridable {}
property prefs
prefs: Record<string, unknown>;
The prefs for this channel.
interface AdminConversationsSetCustomRetentionArguments
interface AdminConversationsSetCustomRetentionArguments extends ChannelID, TokenOverridable {}
property duration_days
duration_days: number;
The message retention duration in days to set for this conversation.
interface AdminConversationsSetTeamsArguments
interface AdminConversationsSetTeamsArguments extends ChannelID, TokenOverridable {}
property org_channel
org_channel?: boolean;
Set to
true
if channel has to be converted to an org channel. Defaults tofalse
.
property target_team_ids
target_team_ids?: string[];
A list of workspaces to which the channel should be shared. Not required if the channel is being shared org-wide.
property team_id
team_id?: string;
The workspace to which the channel belongs. Omit this argument if the channel is a cross-workspace shared channel.
interface AdminConversationsUnarchiveArguments
interface AdminConversationsUnarchiveArguments extends ChannelID, TokenOverridable {}
interface AdminEmojiAddAliasArguments
interface AdminEmojiAddAliasArguments extends Name, TokenOverridable {}
property alias_for
alias_for: string;
Name of the emoji for which the alias is being made. Any wrapping whitespace or colons will be automatically trimmed.
interface AdminEmojiAddArguments
interface AdminEmojiAddArguments extends Name, TokenOverridable {}
property url
url: string;
The URL of a file to use as an image for the emoji. Square images under 128KB and with transparent backgrounds work best.
interface AdminEmojiRemoveArguments
interface AdminEmojiRemoveArguments extends Name, TokenOverridable {}
interface AdminEmojiRenameArguments
interface AdminEmojiRenameArguments extends Name, TokenOverridable {}
property new_name
new_name: string;
The new name of the emoji.
interface AdminFunctionsListArguments
interface AdminFunctionsListArguments extends TokenOverridable, CursorPaginationEnabled {}
interface AdminFunctionsPermissionsLookupArguments
interface AdminFunctionsPermissionsLookupArguments extends TokenOverridable {}
property function_ids
function_ids: [string, ...string[]];
An array of function IDs to get permissions for.
interface AdminFunctionsPermissionsSetArguments
interface AdminFunctionsPermissionsSetArguments extends TokenOverridable, Partial<UserIDs> {}
property function_id
function_id: string;
The function ID to set permissions for.
property visibility
visibility: 'everyone' | 'app_collaborators' | 'named_entities' | 'no_one';
The function visibility.
interface AdminInviteRequestsApproveArguments
interface AdminInviteRequestsApproveArguments extends InviteRequestID, Required<OptionalTeamAssignable>, TokenOverridable {}
interface AdminInviteRequestsApprovedListArguments
interface AdminInviteRequestsApprovedListArguments extends Required<OptionalTeamAssignable>, TokenOverridable, CursorPaginationEnabled {}
interface AdminInviteRequestsDeniedListArguments
interface AdminInviteRequestsDeniedListArguments extends Required<OptionalTeamAssignable>, TokenOverridable, CursorPaginationEnabled {}
interface AdminInviteRequestsDenyArguments
interface AdminInviteRequestsDenyArguments extends InviteRequestID, Required<OptionalTeamAssignable>, TokenOverridable {}
interface AdminInviteRequestsListArguments
interface AdminInviteRequestsListArguments extends Required<OptionalTeamAssignable>, TokenOverridable, CursorPaginationEnabled {}
interface AdminRolesAddAssignmentsArguments
interface AdminRolesAddAssignmentsArguments extends EntityIDs, RoleID, UserIDs, TokenOverridable {}
interface AdminRolesRemoveAssignmentsArguments
interface AdminRolesRemoveAssignmentsArguments extends EntityIDs, RoleID, UserIDs, TokenOverridable {}
interface AdminTeamsAdminsListArguments
interface AdminTeamsAdminsListArguments extends TeamID, TokenOverridable, CursorPaginationEnabled {}
interface AdminTeamsCreateArguments
interface AdminTeamsCreateArguments extends TokenOverridable {}
property team_description
team_description?: string;
Description for the team.
property team_discoverability
team_discoverability?: TeamDiscoverability;
Who can join the team.
property team_domain
team_domain: string;
Team domain (for example, slacksoftballteam). Domains are limited to 21 characters.
property team_name
team_name: string;
Team name (for example, Slack Softball Team).
interface AdminTeamsOwnersListArguments
interface AdminTeamsOwnersListArguments extends TeamID, TokenOverridable, CursorPaginationEnabled {}
interface AdminTeamsSettingsInfoArguments
interface AdminTeamsSettingsInfoArguments extends TeamID, TokenOverridable {}
interface AdminTeamsSettingsSetDefaultChannelsArguments
interface AdminTeamsSettingsSetDefaultChannelsArguments extends ChannelIDs, TeamID, TokenOverridable {}
interface AdminTeamsSettingsSetDescriptionArguments
interface AdminTeamsSettingsSetDescriptionArguments extends TeamID, TokenOverridable {}
property description
description: string;
The new description for the workspace.
interface AdminTeamsSettingsSetDiscoverabilityArguments
interface AdminTeamsSettingsSetDiscoverabilityArguments extends TeamID, TokenOverridable {}
property discoverability
discoverability: TeamDiscoverability;
This workspace's discovery setting.
interface AdminTeamsSettingsSetIconArguments
interface AdminTeamsSettingsSetIconArguments extends TeamID, TokenOverridable {}
property image_url
image_url: string;
Image URL for the icon.
interface AdminTeamsSettingsSetNameArguments
interface AdminTeamsSettingsSetNameArguments extends TeamID, TokenOverridable {}
property name
name: string;
The new name of the workspace.
interface AdminUsergroupsAddChannelsArguments
interface AdminUsergroupsAddChannelsArguments extends ChannelIDs, UsergroupID, OptionalTeamAssignable, TokenOverridable {}
interface AdminUsergroupsAddTeamsArguments
interface AdminUsergroupsAddTeamsArguments extends UsergroupID, TokenOverridable {}
property auto_provision
auto_provision?: boolean;
When
true
, this method automatically creates new workspace accounts for the IDP group members. Defaults tofalse
.
property team_ids
team_ids: string | string[];
One or more encoded team (workspace) IDs. Each workspace MUST belong to the organization associated with the token.
interface AdminUsergroupsListChannelsArguments
interface AdminUsergroupsListChannelsArguments extends UsergroupID, OptionalTeamAssignable, TokenOverridable {}
property include_num_members
include_num_members?: boolean;
Flag to include or exclude the count of members per channel.
interface AdminUsergroupsRemoveChannelsArguments
interface AdminUsergroupsRemoveChannelsArguments extends ChannelIDs, UsergroupID, TokenOverridable {}
interface AdminUsersAssignArguments
interface AdminUsersAssignArguments extends TeamID, UserID, Partial<ChannelIDs>, IsRestricted, IsUltraRestricted, TokenOverridable {}
interface AdminUsersInviteArguments
interface AdminUsersInviteArguments extends ChannelIDs, TeamID, IsRestricted, IsUltraRestricted, TokenOverridable {}
property custom_message
custom_message?: string;
An optional message to send to the user in the invite email.
property email
email: string;
The email address of the person to invite.
property email_password_policy_enabled
email_password_policy_enabled?: boolean;
Allow invited user to sign in via email and password. Only available for Enterprise Grid teams via admin invite.
property guest_expiration_ts
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.
property real_name
real_name?: string;
Full name of the user.
property resend
resend?: boolean;
Allow this invite to be resent in the future if a user has not signed up yet. Resending can only be done via the UI and has no expiration. Defaults to
false
.
interface AdminUsersRemoveArguments
interface AdminUsersRemoveArguments extends TeamID, UserID, TokenOverridable {}
interface AdminUsersSessionClearSettingsArguments
interface AdminUsersSessionClearSettingsArguments extends UserIDs, TokenOverridable {}
interface AdminUsersSessionGetSettingsArguments
interface AdminUsersSessionGetSettingsArguments extends UserIDs, TokenOverridable {}
interface AdminUsersSessionInvalidateArguments
interface AdminUsersSessionInvalidateArguments extends TeamID, TokenOverridable {}
property session_id
session_id: string;
ID of the session to invalidate.
interface AdminUsersSessionResetArguments
interface AdminUsersSessionResetArguments extends UserID, SessionExpirationTarget, TokenOverridable {}
interface AdminUsersSessionResetBulkArguments
interface AdminUsersSessionResetBulkArguments extends UserIDs, SessionExpirationTarget, TokenOverridable {}
interface AdminUsersSessionSetSettingsArguments
interface AdminUsersSessionSetSettingsArguments extends UserIDs, TokenOverridable {}
property desktop_app_browser_quit
desktop_app_browser_quit?: boolean;
Terminate the session when the client—either the desktop app or a browser window—is closed.
property duration
duration?: number;
The session duration in seconds. The minimum value is 28800, which represents 8 hours; the max value is 315569520 or 10 years (that's a long Slack session).
interface AdminUsersSetAdminArguments
interface AdminUsersSetAdminArguments extends TeamID, UserID, TokenOverridable {}
interface AdminUsersSetExpirationArguments
interface AdminUsersSetExpirationArguments extends UserID, TokenOverridable, OptionalTeamAssignable {}
property expiration_ts
expiration_ts: number;
Epoch timestamp in seconds when guest account should be disabled.
interface AdminUsersSetOwnerArguments
interface AdminUsersSetOwnerArguments extends TeamID, UserID, TokenOverridable {}
interface AdminUsersSetRegularArguments
interface AdminUsersSetRegularArguments extends TeamID, UserID, TokenOverridable {}
interface AdminUsersUnsupportedVersionsExportArguments
interface AdminUsersUnsupportedVersionsExportArguments extends TokenOverridable {}
property date_end_of_support
date_end_of_support?: number;
Unix timestamp of the date of past or upcoming end of support cycles. If not provided will include all announced end of support cycles. Defaults to
0
.
property date_sessions_started
date_sessions_started?: number;
Unix timestamp of a date to start looking for user sessions. If not provided will start six months ago.
interface AdminWorkflowsCollaboratorsAddArguments
interface AdminWorkflowsCollaboratorsAddArguments extends CollaboratorIDs, WorkflowIDs, TokenOverridable {}
interface AdminWorkflowsCollaboratorsRemoveArguments
interface AdminWorkflowsCollaboratorsRemoveArguments extends CollaboratorIDs, WorkflowIDs, TokenOverridable {}
interface AdminWorkflowsPermissionsLookupArguments
interface AdminWorkflowsPermissionsLookupArguments extends WorkflowIDs, TokenOverridable {}
property max_workflow_triggers
max_workflow_triggers?: number;
Maximum number of triggers to fetch for each workflow when determining overall run permissions. Defaults to
100
. Maximum of1000
.
interface AdminWorkflowsUnpublishArguments
interface AdminWorkflowsUnpublishArguments extends WorkflowIDs, TokenOverridable {}
interface AppsEventAuthorizationsListArguments
interface AppsEventAuthorizationsListArguments extends TokenOverridable, CursorPaginationEnabled {}
property event_context
event_context: string;
interface AppsManifestCreateArguments
interface AppsManifestCreateArguments extends TokenOverridable {}
property manifest
manifest: Manifest;
interface AppsManifestDeleteArguments
interface AppsManifestDeleteArguments extends AppID, TokenOverridable {}
interface AppsManifestExportArguments
interface AppsManifestExportArguments extends AppID, TokenOverridable {}
interface AppsManifestUpdateArguments
interface AppsManifestUpdateArguments extends AppID, TokenOverridable {}
property manifest
manifest: Manifest;
interface AppsManifestValidateArguments
interface AppsManifestValidateArguments extends Partial<AppID>, TokenOverridable {}
property manifest
manifest: Manifest;
interface AppsUninstallArguments
interface AppsUninstallArguments extends Pick<OAuthCredentials, 'client_id' | 'client_secret'>, TokenOverridable {}
interface AssistantThreadsSetStatusArguments
interface AssistantThreadsSetStatusArguments extends TokenOverridable {}
property channel_id
channel_id: string;
Channel ID containing the assistant thread.
property status
status: string;
Status of the assistant (e.g. 'is thinking...')
property thread_ts
thread_ts: string;
Message timestamp of the thread.
interface AssistantThreadsSetSuggestedPromptsArguments
interface AssistantThreadsSetSuggestedPromptsArguments extends TokenOverridable {}
property channel_id
channel_id: string;
Channel ID containing the assistant thread.
property prompts
prompts: [AssistantPrompt, ...AssistantPrompt[]];
Prompt suggestions that appear when opening assistant thread.
property thread_ts
thread_ts: string;
Message timestamp of the thread.
property title
title?: string;
Title for the prompts.
interface AssistantThreadsSetTitleArguments
interface AssistantThreadsSetTitleArguments extends TokenOverridable {}
property channel_id
channel_id: string;
Channel ID containing the assistant thread.
property thread_ts
thread_ts: string;
Message timestamp of the thread.
property title
title: string;
Title of the thread.
interface BookmarksAddArguments
interface BookmarksAddArguments extends ChannelID, BookmarkFields, TokenOverridable {}
interface BookmarksEditArguments
interface BookmarksEditArguments extends ChannelID, ID, Partial<BookmarkFields>, TokenOverridable {}
interface BookmarksListArguments
interface BookmarksListArguments extends ChannelID, TokenOverridable {}
interface BookmarksRemoveArguments
interface BookmarksRemoveArguments extends ChannelID, ID, TokenOverridable {}
interface CallsAddArguments
interface CallsAddArguments extends Partial<Users>, CallDetails, TokenOverridable {}
property created_by
created_by?: string;
ID of the user who created this Call. When this method is called with a user token, this field is optional and defaults to the authed user of the token. Otherwise, the field is required.
property date_start
date_start?: number;
Unix timestamp of the call start time.
property external_display_id
external_display_id?: string;
An optional, human-readable ID supplied by the 3rd-party Call provider. If supplied, this ID will be displayed in the Call object.
property external_unique_id
external_unique_id: string;
An ID supplied by the 3rd-party Call provider. It must be unique across all Calls from that service.
interface CallsEndArguments
interface CallsEndArguments extends ID, TokenOverridable {}
property duration
duration?: number;
Call duration in seconds.
interface CallsInfoArguments
interface CallsInfoArguments extends ID, TokenOverridable {}
interface CallsParticipantsAddArguments
interface CallsParticipantsAddArguments extends ID, Users, TokenOverridable {}
interface CallsParticipantsRemoveArguments
interface CallsParticipantsRemoveArguments extends ID, Users, TokenOverridable {}
interface CallsUpdateArguments
interface CallsUpdateArguments extends ID, Partial<CallDetails>, TokenOverridable {}
interface CanvasesAccessDeleteArguments
interface CanvasesAccessDeleteArguments extends CanvasID, Partial<ChannelIDs>, TokenOverridable, Partial<UserIDs> {}
interface CanvasesAccessSetArguments
interface CanvasesAccessSetArguments extends CanvasID, Partial<ChannelIDs>, TokenOverridable, Partial<UserIDs> {}
property access_level
access_level: 'read' | 'write';
Desired level of access.
interface CanvasesDeleteArguments
interface CanvasesDeleteArguments extends CanvasID, TokenOverridable {}
interface CanvasesEditArguments
interface CanvasesEditArguments extends CanvasID, TokenOverridable {}
property changes
changes: [Change, ...Change[]];
List of changes to apply to the canvas.
interface CanvasesSectionsLookupArguments
interface CanvasesSectionsLookupArguments extends CanvasID, TokenOverridable {}
property criteria
criteria: Criteria;
Filtering criteria.
interface ChatDeleteArguments
interface ChatDeleteArguments extends ChannelAndTS, AsUser, TokenOverridable {}
interface ChatDeleteScheduledMessageArguments
interface ChatDeleteScheduledMessageArguments extends Channel, AsUser, TokenOverridable {}
property scheduled_message_id
scheduled_message_id: string;
The
scheduled_message_id
returned from call to .
interface ChatGetPermalinkArguments
interface ChatGetPermalinkArguments extends ChannelAndMessageTS, TokenOverridable {}
interface ChatMeMessageArguments
interface ChatMeMessageArguments extends ChannelAndText, TokenOverridable {}
interface CodedError
interface CodedError extends NodeJS.ErrnoException {}
All errors produced by this package adhere to this interface
property code
code: ErrorCode;
interface ConversationsApproveSharedInviteArguments
interface ConversationsApproveSharedInviteArguments extends InviteID, TargetTeam, TokenOverridable {}
interface ConversationsArchiveArguments
interface ConversationsArchiveArguments extends Channel, TokenOverridable {}
interface ConversationsCanvasesCreateArguments
interface ConversationsCanvasesCreateArguments extends ChannelID, TokenOverridable {}
property document_content
document_content?: DocumentContent;
Structure describing the type and contents of the Canvas being created.
interface ConversationsCloseArguments
interface ConversationsCloseArguments extends Channel, TokenOverridable {}
interface ConversationsCreateArguments
interface ConversationsCreateArguments extends IsPrivate, TokenOverridable, OptionalTeamAssignable {}
property name
name: string;
Name of the public or private channel to create.
interface ConversationsDeclineSharedInviteArguments
interface ConversationsDeclineSharedInviteArguments extends InviteID, TargetTeam, TokenOverridable {}
interface ConversationsExternalInvitePermissionsSetArguments
interface ConversationsExternalInvitePermissionsSetArguments extends Channel, Required<TargetTeam>, TokenOverridable {}
property action
action: 'downgrade' | 'upgrade';
The type of action be taken:
upgrade
ordowngrade
.
interface ConversationsHistoryArguments
interface ConversationsHistoryArguments extends Channel, IncludeAllMetadata, TokenOverridable, CursorPaginationEnabled, TimelinePaginationEnabled {}
interface ConversationsInfoArguments
interface ConversationsInfoArguments extends Channel, TokenOverridable, LocaleAware {}
property include_num_members
include_num_members?: boolean;
Set to
true
to include the member count for the specified conversation. Defaults tofalse
.
interface ConversationsInviteArguments
interface ConversationsInviteArguments extends Channel, Users, TokenOverridable {}
property force
force?: boolean;
When set to
true
and multiple user IDs are provided, continue inviting the valid ones while disregarding invalid IDs. Defaults tofalse
.
interface ConversationsJoinArguments
interface ConversationsJoinArguments extends Channel, TokenOverridable {}
interface ConversationsKickArguments
interface ConversationsKickArguments extends Channel, TokenOverridable {}
property user
user: string;
interface ConversationsLeaveArguments
interface ConversationsLeaveArguments extends Channel, TokenOverridable {}
interface ConversationsMarkArguments
interface ConversationsMarkArguments extends MessageSpecifier, TokenOverridable {}
interface ConversationsMembersArguments
interface ConversationsMembersArguments extends Channel, TokenOverridable, CursorPaginationEnabled {}
interface ConversationsRenameArguments
interface ConversationsRenameArguments extends Channel, TokenOverridable {}
property name
name: string;
New name for conversation.
interface ConversationsRepliesArguments
interface ConversationsRepliesArguments extends MessageSpecifier, IncludeAllMetadata, TokenOverridable, CursorPaginationEnabled, TimelinePaginationEnabled {}
interface ConversationsRequestSharedInviteApproveArguments
interface ConversationsRequestSharedInviteApproveArguments extends InviteID, Partial<ChannelID>, TokenOverridable {}
property is_external_limited
is_external_limited?: boolean;
Whether the invited team will have post-only permissions in the channel. Will override the value on the requested invite.
property message
message?: { /** * @description When `true`, will override the user specified message. Otherwise, `text` will be appended to the * user specified message on the invite request. */ is_override: boolean; /** @description Text to include along with the email invite. */ text: string;};
Optional additional messaging to attach to the invite approval message.
interface ConversationsRequestSharedInviteDenyArguments
interface ConversationsRequestSharedInviteDenyArguments extends InviteID, Message, TokenOverridable {}
interface ConversationsSetPurposeArguments
interface ConversationsSetPurposeArguments extends Channel, TokenOverridable {}
property purpose
purpose: string;
A new, specialer purpose.
interface ConversationsSetTopicArguments
interface ConversationsSetTopicArguments extends Channel, TokenOverridable {}
property topic
topic: string;
The new topic string. Does not support formatting or linkification.
interface ConversationsUnarchiveArguments
interface ConversationsUnarchiveArguments extends Channel, TokenOverridable {}
interface DialogOpenArguments
interface DialogOpenArguments extends TokenOverridable {}
property dialog
dialog: Dialog;
The dialog definition.
property trigger_id
trigger_id: string;
Exchange a trigger to post to the user.
interface DndSetSnoozeArguments
interface DndSetSnoozeArguments extends TokenOverridable {}
property num_minutes
num_minutes: number;
Number of minutes, from now, to snooze until.
interface DndTeamInfoArguments
interface DndTeamInfoArguments extends TokenOverridable, OptionalTeamAssignable {}
property users
users: string;
Comma-separated list of users to fetch Do Not Disturb status for.
interface FilesCommentsDeleteArguments
interface FilesCommentsDeleteArguments extends FileArgument, TokenOverridable {}
property id
id: string;
The ID of the comment to delete.
interface FilesDeleteArguments
interface FilesDeleteArguments extends FileArgument, TokenOverridable {}
interface FilesGetUploadURLExternalArguments
interface FilesGetUploadURLExternalArguments extends TokenOverridable {}
property alt_text
alt_text?: string;
Description of image for screen-reader.
property filename
filename: string;
Name of the file being uploaded.
property length
length: number;
Size in bytes of the file being uploaded.
property snippet_type
snippet_type?: string;
Syntax type of the snippet being uploaded. E.g.
python
.
interface FilesInfoArguments
interface FilesInfoArguments extends FileArgument, TokenOverridable, CursorPaginationEnabled, TraditionalPagingEnabled {}
interface FilesListArguments
interface FilesListArguments extends TokenOverridable, TraditionalPagingEnabled, OptionalTeamAssignable {}
property channel
channel?: string;
Filter files appearing in a specific channel, indicated by its ID.
property show_files_hidden_by_limit
show_files_hidden_by_limit?: boolean;
Show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit.
property ts_from
ts_from?: string;
Filter files created after this timestamp (inclusive).
property ts_to
ts_to?: string;
Filter files created before this timestamp (inclusive).
property types
types?: string;
Filter files by type. Pass multiple values for
types
argument by comma-seperating the values. The default value isall
, which does not filter the list. Available types areall
,spaces
,snippets
,images
,gdocs
,zips
andpdfs
.
property user
user?: string;
Filter files created by a single user.
interface FilesRemoteAddArguments
interface FilesRemoteAddArguments extends SharedFile, FileType, ExternalIDArgument, TokenOverridable {}
interface FilesRemoteListArguments
interface FilesRemoteListArguments extends TokenOverridable, CursorPaginationEnabled {}
interface FilesRevokePublicURLArguments
interface FilesRevokePublicURLArguments extends FileArgument, TokenOverridable {}
interface FilesSharedPublicURLArguments
interface FilesSharedPublicURLArguments extends FileArgument, TokenOverridable {}
interface FunctionsCompleteErrorArguments
interface FunctionsCompleteErrorArguments extends ExecutionID, TokenOverridable {}
property error
error: string;
interface FunctionsCompleteSuccessArguments
interface FunctionsCompleteSuccessArguments extends ExecutionID, TokenOverridable {}
property outputs
outputs: Record<string, unknown>;
interface MigrationExchangeArguments
interface MigrationExchangeArguments extends TokenOverridable, OptionalTeamAssignable {}
interface OAuthAccessArguments
interface OAuthAccessArguments extends OAuthCredentials {}
property single_channel
single_channel?: boolean;
Request the user to add your app only to a single channel. Only valid with a . Defaults to
false
.
interface OAuthV2AccessArguments
interface OAuthV2AccessArguments extends OAuthCredentials, OAuthGrantRefresh {}
interface OAuthV2ExchangeArguments
interface OAuthV2ExchangeArguments extends Pick<OAuthCredentials, 'client_id' | 'client_secret'> {}
property token
token: string;
The legacy xoxb or xoxp token being migrated.
interface OpenIDConnectTokenArguments
interface OpenIDConnectTokenArguments extends OAuthCredentials, OAuthGrantRefresh {}
interface PinsAddArguments
interface PinsAddArguments extends MessageArgument, TokenOverridable {}
interface PinsListArguments
interface PinsListArguments extends TokenOverridable {}
property channel
channel: string;
Channel to get pinned items for.
interface PinsRemoveArguments
interface PinsRemoveArguments extends MessageArgument, TokenOverridable {}
interface ReactionsAddArguments
interface ReactionsAddArguments extends MessageArgument, TokenOverridable, ReactionName {}
interface RemindersAddArguments
interface RemindersAddArguments extends TokenOverridable, OptionalTeamAssignable {}
property recurrence
recurrence?: ReminderRecurrence;
Specify the repeating behavior of a reminder. If you set the sub-property
frequency
toweekly
, you must also set theweekdays
array to specify which days of the week to recur on.
property text
text: string;
The content of the reminder.
property time
time: string | number;
When this reminder should happen, one of: - the Unix timestamp (up to five years from now), - the number of seconds until the reminder (if within 24 hours), or - a natural language description (Ex. "in 15 minutes," or "every Thursday").
property user
user?: string;
No longer supported - reminders cannot be set for other users.
See Also
.
Deprecated
interface RemindersCompleteArguments
interface RemindersCompleteArguments extends TokenOverridable, OptionalTeamAssignable {}
property reminder
reminder: string;
The ID of the reminder to be marked as complete.
interface RemindersDeleteArguments
interface RemindersDeleteArguments extends TokenOverridable, OptionalTeamAssignable {}
property reminder
reminder: string;
The ID of the reminder to delete.
interface RemindersInfoArguments
interface RemindersInfoArguments extends TokenOverridable, OptionalTeamAssignable {}
property reminder
reminder: string;
The ID of the reminder to retrieve information about.
interface RetryOptions
interface RetryOptions extends OperationOptions {}
Options to create retry policies. Extends from https://github.com/tim-kos/node-retry.
interface SearchAllArguments
interface SearchAllArguments extends TokenOverridable, TraditionalPagingEnabled, Searchable {}
interface SearchFilesArguments
interface SearchFilesArguments extends TokenOverridable, TraditionalPagingEnabled, Searchable {}
interface SearchMessagesArguments
interface SearchMessagesArguments extends TokenOverridable, TraditionalPagingEnabled, Searchable {}
interface StarsListArguments
interface StarsListArguments extends TokenOverridable, TraditionalPagingEnabled, CursorPaginationEnabled, OptionalTeamAssignable {}
interface ToolingTokensRotateArguments
interface ToolingTokensRotateArguments {}
property refresh_token
refresh_token: string;
The
xoxe
refresh token that was issued along with the old app configuration token.
interface UsergroupsCreateArguments
interface UsergroupsCreateArguments extends TokenOverridable, OptionalTeamAssignable, UsergroupsIncludeCount {}
property channels
channels?: string;
A comma separated string of encoded channel IDs for which the User Group uses as a default.
property description
description?: string;
A short description of the User Group.
property handle
handle?: string;
A mention handle. Must be unique among channels, users and User Groups.
property name
name: string;
A name for the User Group. Must be unique among User Groups.
interface UsergroupsDisableArguments
interface UsergroupsDisableArguments extends TokenOverridable, OptionalTeamAssignable, UsergroupsIncludeCount {}
property usergroup
usergroup: string;
The encoded ID of the User Group to disable.
interface UsergroupsEnableArguments
interface UsergroupsEnableArguments extends TokenOverridable, OptionalTeamAssignable, UsergroupsIncludeCount {}
property usergroup
usergroup: string;
The encoded ID of the User Group to enable.
interface UsergroupsUpdateArguments
interface UsergroupsUpdateArguments extends TokenOverridable, OptionalTeamAssignable, Partial<UsergroupsCreateArguments> {}
property usergroup
usergroup: string;
The encoded ID of the User Group to update.
interface UsergroupsUsersListArguments
interface UsergroupsUsersListArguments extends TokenOverridable, OptionalTeamAssignable {}
property include_disabled
include_disabled?: boolean;
Allow results that involve disabled User Groups.
property usergroup
usergroup: string;
The encoded ID of the User Group to list users for.
interface UsergroupsUsersUpdateArguments
interface UsergroupsUsersUpdateArguments extends TokenOverridable, OptionalTeamAssignable, UsergroupsIncludeCount {}
interface UsersConversationsArguments
interface UsersConversationsArguments extends TokenOverridable, CursorPaginationEnabled, OptionalTeamAssignable {}
property exclude_archived
exclude_archived?: boolean;
Set to
true
to exclude archived channels from the list. Default isfalse
.
property types
types?: string;
Mix and match channel types by providing a comma-separated list of any combination of
public_channel
,private_channel
,mpim
andim
. Defaults topublic_channel
.
property user
user?: string;
Browse conversations by a specific user ID's membership. Non-public channels are restricted to those where the calling user shares membership.
interface UsersDeletePhotoArguments
interface UsersDeletePhotoArguments extends TokenOverridable {}
interface UsersDiscoverableContactsLookupArguments
interface UsersDiscoverableContactsLookupArguments extends Email, TokenOverridable {}
interface UsersGetPresenceArguments
interface UsersGetPresenceArguments extends TokenOverridable {}
property user
user?: string;
User to get presence info on. Defaults to the authed user.
interface UsersIdentityArguments
interface UsersIdentityArguments extends TokenOverridable {}
interface UsersInfoArguments
interface UsersInfoArguments extends TokenOverridable, LocaleAware {}
property user
user: string;
User to get info on.
interface UsersListArguments
interface UsersListArguments extends TokenOverridable, CursorPaginationEnabled, LocaleAware, OptionalTeamAssignable {}
interface UsersLookupByEmailArguments
interface UsersLookupByEmailArguments extends Email, TokenOverridable {}
interface UsersProfileGetArguments
interface UsersProfileGetArguments extends TokenOverridable {}
property include_labels
include_labels?: boolean;
Include labels for each ID in custom profile fields. Using this parameter will heavily rate-limit your requests and is not recommended. Defaults to
false
.
property user
user?: string;
User to retrieve profile info for.
interface UsersProfileSetArguments
interface UsersProfileSetArguments extends TokenOverridable {}
property name
name?: string;
Name of a single profile field to set. If both
name
andprofile
are set,name
takes precedence.See Also
.
property profile
profile?: Record<string, unknown>;
Sets profile fields using a single argument. Collection of key:value pairs presented. At most 50 fields may be set. Each field name is limited to 255 characters.
See Also
.
property user
user?: string;
ID of user to change. This argument may only be specified by admins on paid teams.
property value
value?: string;
Value to set for the profile field specified by
name
. Usable only if profile is not passed.See Also
.
interface UsersSetPhotoArguments
interface UsersSetPhotoArguments extends TokenOverridable {}