Work with a Slack Bot Client
Use these Apex classes to work with a Slack bot client.
BotClient Class
Provides access to a Slack Bot Client so you can perform tasks such as publishing views to the home tab or sending messages to a channel.
Usage
Before you can work with a bot client, register the action and get access to a Slack context . To get access to a Slack client, use the Slack.App class .
1 public void run ( ) {
2 Slack . App app = Slack . App . MySlackApp . get ( ) ;
3 Slack . BotClient client = app . getBotClientForTeam ( context . getTeamId ( ) ) ;
4 Slack . ViewReference viewReference = Slack . View . MyViewName . get ( ) ;
5
6 // Get context data
7 String channel = context . getChannelId ( ) ;
8
9 // Specify your request/response objects and pass in your context data
10 }
Bots are allowed to post in channels where they are members. If your app must post to a DM between two users, consider using a user client instead.
Many Slack API methods require a token. BotClient automatically includes an appropriate token in your requests. For example,
ChatPostMessageRequest calls Slack’s chat.postMessage method , which requires a token along with a few other arguments. This token is automatically included when you use BotClient to make a request.
BotClient Methods
The following are methods for BotClient.
appsUninstall(req)
Signature
1 public Slack . AppsUninstallResponse appsUninstall ( Slack . AppsUninstallRequest req )
Parameters
req
Type: Slack.AppsUninstallRequest
Return Value
Type: Slack.AppsUninstallResponse
authRevoke(req)
Signature
1 public Slack . AuthRevokeResponse authRevoke ( Slack . AuthRevokeRequest req )
Parameters
req
Type: Slack.AuthRevokeRequest
Return Value
Type: Slack.AuthRevokeResponse
authTeamsList(req)
Signature
1 public Slack . AuthTeamsListResponse authTeamsList ( Slack . AuthTeamsListRequest req )
Parameters
req
Type: Slack.AuthTeamsListRequest
Return Value
Type: Slack.AuthTeamsListResponse
authTest(req)
Signature
1 public Slack . AuthTestResponse authTest ( Slack . AuthTestRequest req )
Parameters
req
Type: Slack.AuthTestRequest
Return Value
Type: Slack.AuthTestResponse
botsInfo(req)
Signature
1 public Slack . BotsInfoResponse botsInfo ( Slack . BotsInfoRequest req )
Parameters
req
Type: Slack.BotsInfoRequest
Return Value
Type: Slack.BotsInfoResponse
callsAdd(req)
Signature
1 public Slack . CallsAddResponse callsAdd ( Slack . CallsAddRequest req )
Parameters
req
Type: Slack.CallsAddRequest
Return Value
Type: Slack.CallsAddResponse
callsEnd(req)
Signature
1 public Slack . CallsEndResponse callsEnd ( Slack . CallsEndRequest req )
Parameters
req
Type: Slack.CallsEndRequest
Return Value
Type: Slack.CallsEndResponse
callsInfo(req)
Signature
1 public Slack . CallsInfoResponse callsInfo ( Slack . CallsInfoRequest req )
Parameters
req
Type: Slack.CallsInfoRequest
Return Value
Type: Slack.CallsInfoResponse
callsParticipantsAdd(req)
Signature
1 public Slack . CallsParticipantsAddResponse callsParticipantsAdd ( Slack . CallsParticipantsAddRequest req )
Parameters
req
Type: Slack.CallsParticipantsAddRequest
Return Value
Type: Slack.CallsParticipantsAddResponse
callsParticipantsRemove(req)
Signature
1 public Slack . CallsParticipantsRemoveResponse callsParticipantsRemove ( Slack . CallsParticipantsRemoveRequest req )
Parameters
req
Type: Slack.CallsParticipantsRemoveRequest
Return Value
Type: Slack.CallsParticipantsRemoveResponse
callsUpdate(req)
Signature
1 public Slack . CallsUpdateResponse callsUpdate ( Slack . CallsUpdateRequest req )
Parameters
req
Type: Slack.CallsUpdateRequest
Return Value
Type: Slack.CallsUpdateResponse
chatDelete(req)
Signature
1 public Slack . ChatDeleteResponse chatDelete ( Slack . ChatDeleteRequest req )
Parameters
req
Type: Slack.ChatDeleteRequest
Return Value
Type: Slack.ChatDeleteResponse
chatDeleteScheduledMessage(req)
Signature
1 public Slack . ChatDeleteScheduledMessageResponse
2 chatDeleteScheduledMessage (
3 Slack . ChatDeleteScheduledMessageRequest req )
Parameters
req
Type: Slack.ChatDeleteScheduledMessageRequest
Return Value
Type: Slack.ChatDeleteScheduledMessageResponse
chatGetPermalink(req)
Signature
1 public Slack . ChatGetPermalinkResponse
2 chatGetPermalink ( Slack . ChatGetPermalinkRequest req )
Parameters
req
Type: Slack.ChatGetPermalinkRequest
Return Value
Type: Slack.ChatGetPermalinkResponse
chatMeMessage(req)
Signature
1 public Slack . ChatMeMessageResponse chatMeMessage ( Slack . ChatMeMessageRequest req )
Parameters
req
Type: Slack.ChatMeMessageRequest
Return Value
Type: Slack.ChatMeMessageResponse
chatPostEphemeral(req)
Signature
1 public Slack . ChatPostEphemeralResponse chatPostEphemeral ( Slack . ChatPostEphemeralRequest req )
Parameters
req
Type: Slack.ChatPostEphemeralRequest
Return Value
Type: Slack.ChatPostEphemeralResponse
chatPostMessage(req)
Signature
1 public Slack . ChatPostMessageResponse chatPostMessage ( Slack . ChatPostMessageRequest req )
Parameters
req
Type: Slack.ChatPostMessageRequest
Return Value
Type: Slack.ChatPostMessageResponse
chatScheduleMessage(req)
Signature
1 public Slack . ChatScheduleMessageResponse chatScheduleMessage ( Slack . ChatScheduleMessageRequest req )
Parameters
req
Type: Slack.ChatScheduleMessageRequest
Return Value
Type: Slack.ChatScheduleMessageResponse
chatScheduledMessagesList(req)
Signature
1 public Slack . ChatScheduledMessagesListResponse chatScheduledMessagesList ( Slack . ChatScheduledMessagesListRequest req )
Parameters
req
Type: Slack.ChatScheduledMessagesListRequest
Return Value
Type: Slack.ChatScheduledMessagesListResponse
chatUpdate(req)
Signature
1 public Slack . ChatUpdateResponse chatUpdate ( Slack . ChatUpdateRequest req )
Parameters
req
Type: Slack.ChatUpdateRequest
Return Value
Type: Slack.ChatUpdateResponse
conversationsArchive(req)
Signature
1 public Slack . ConversationsArchiveResponse conversationsArchive ( Slack . ConversationsArchiveRequest req )
Parameters
req
Type: Slack.ConversationsArchiveRequest
Return Value
Type: Slack.ConversationsArchiveResponse
conversationsClose(req)
Signature
1 public Slack . ConversationsCloseResponse conversationsClose ( Slack . ConversationsCloseRequest req )
Parameters
req
Type: Slack.ConversationsCloseRequest
Return Value
Type: Slack.ConversationsCloseResponse
conversationsCreate(req)
Signature
1 public Slack . ConversationsCreateResponse conversationsCreate ( Slack . ConversationsCreateRequest req )
Parameters
req
Type: Slack.ConversationsCreateRequest
Return Value
Type: Slack.ConversationsCreateResponse
conversationsHistory(req)
Signature
1 public Slack . ConversationsHistoryResponse conversationsHistory ( Slack . ConversationsHistoryRequest req )
Parameters
req
Type: Slack.ConversationsHistoryRequest
Return Value
Type: Slack.ConversationsHistoryResponse
conversationsInfo(req)
Signature
1 public Slack . ConversationsInfoResponse conversationsInfo ( Slack . ConversationsInfoRequest req )
Parameters
req
Type: Slack.ConversationsInfoRequest
Return Value
Type: Slack.ConversationsInfoResponse
conversationsInvite(req)
Signature
1 public Slack . ConversationsInviteResponse conversationsInvite ( Slack . ConversationsInviteRequest req )
Parameters
req
Type: Slack.ConversationsInviteRequest
Return Value
Type: Slack.ConversationsInviteResponse
conversationsJoin(req)
Signature
1 public Slack . ConversationsJoinResponse conversationsJoin ( Slack . ConversationsJoinRequest req )
Parameters
req
Type: Slack.ConversationsJoinRequest
Return Value
Type: Slack.ConversationsJoinResponse
conversationsKick(req)
Signature
1 public Slack . ConversationsKickResponse conversationsKick ( Slack . ConversationsKickRequest req )
Parameters
req
Type: Slack.ConversationsKickRequest
Return Value
Type: Slack.ConversationsKickResponse
conversationsLeave(req)
Signature
1 public Slack . ConversationsLeaveResponse conversationsLeave ( Slack . ConversationsLeaveRequest req )
Parameters
req
Type: Slack.ConversationsLeaveRequest
Return Value
Type: Slack.ConversationsLeaveResponse
conversationsList(req)
Signature
1 public Slack . ConversationsListResponse conversationsList ( Slack . ConversationsListRequest req )
Parameters
req
Type: Slack.ConversationsListRequest
Return Value
Type: Slack.ConversationsListResponse
conversationsMark(req)
Signature
1 public Slack . ConversationsMarkResponse conversationsMark ( Slack . ConversationsMarkRequest req )
Parameters
req
Return Value
Type: Slack.ConversationsMarkResponse
conversationsMembers(req)
Signature
1 public Slack . ConversationsMembersResponse conversationsMembers ( Slack . ConversationsMembersRequest req )
Parameters
req
Type: Slack.ConversationsMembersRequest
Return Value
Type: Slack.ConversationsMembersResponse
conversationsOpen(req)
Signature
1 public Slack . ConversationsOpenResponse conversationsOpen ( Slack . ConversationsOpenRequest req )
Parameters
req
Type: Slack.ConversationsOpenRequest
Return Value
Type: Slack.ConversationsOpenResponse
conversationsRename(req)
Signature
1 public Slack . ConversationsRenameResponse conversationsRename ( Slack . ConversationsRenameRequest req )
Parameters
req
Type: Slack.ConversationsRenameRequest
Return Value
Type: Slack.ConversationsRenameResponse
conversationsReplies(req)
Signature
1 public Slack . ConversationsRepliesResponse conversationsReplies ( Slack . ConversationsRepliesRequest req )
Parameters
req
Type: Slack.ConversationsRepliesRequest
Return Value
Type: Slack.ConversationsRepliesResponse
conversationsSetPurpose(req)
Signature
1 public Slack . ConversationsSetPurposeResponse conversationsSetPurpose ( Slack . ConversationsSetPurposeRequest req )
Parameters
req
Type: Slack.ConversationsSetPurposeRequest
Return Value
Type: Slack.ConversationsSetPurposeResponse
conversationsSetTopic(req)
Signature
1 public Slack . ConversationsSetTopicResponse conversationsSetTopic ( Slack . ConversationsSetTopicRequest req )
Parameters
req
Type: Slack.ConversationsSetTopicRequest
Return Value
Type: Slack.ConversationsSetTopicResponse
conversationsUnarchive(req)
Signature
1 public Slack . ConversationsUnarchiveResponse conversationsUnarchive ( Slack . ConversationsUnarchiveRequest req )
Parameters
req
Type: Slack.ConversationsUnarchiveRequest
Return Value
Type: Slack.ConversationsUnarchiveResponse
dndInfo(req)
Signature
1 public Slack . DndInfoResponse dndInfo ( Slack . DndInfoRequest req )
Parameters
req
Type: Slack.DndInfoRequest
Return Value
Type: Slack.DndInfoResponse
dndTeamInfo(req)
Signature
1 public Slack . DndTeamInfoResponse dndTeamInfo ( Slack . DndTeamInfoRequest req )
Parameters
req
Type: Slack.DndTeamInfoRequest
Return Value
Type: Slack.DndTeamInfoResponse
emojiList(req)
Signature
1 public Slack . EmojiListResponse emojiList ( Slack . EmojiListRequest req )
Parameters
req
Type: Slack.EmojiListRequest
Return Value
Type: Slack.EmojiListResponse
filesDelete(req)
Signature
1 public Slack . FilesDeleteResponse filesDelete ( Slack . FilesDeleteRequest req )
Parameters
req
Type: Slack.FilesDeleteRequest
Return Value
Type: Slack.FilesDeleteResponse
filesInfo(req)
Signature
1 public Slack . FilesInfoResponse filesInfo ( Slack . FilesInfoRequest req )
Parameters
req
Type: Slack.FilesInfoRequest
Return Value
Type: Slack.FilesInfoResponse
filesList(req)
Signature
1 public Slack . FilesListResponse filesList ( Slack . FilesListRequest req )
Parameters
req
Type: Slack.FilesListRequest
Return Value
Type: Slack.FilesListResponse
filesRemoteAdd(req)
Signature
1 public Slack . FilesRemoteAddResponse filesRemoteAdd ( Slack . FilesRemoteAddRequest req )
Parameters
req
Type: Slack.FilesRemoteAddRequest
Return Value
Type: Slack.FilesRemoteAddResponse
filesRemoteInfo(req)
Signature
1 public Slack . FilesRemoteInfoResponse filesRemoteInfo ( Slack . FilesRemoteInfoRequest req )
Parameters
req
Type: Slack.FilesRemoteInfoRequest
Return Value
Type: Slack.FilesRemoteInfoResponse
filesRemoteList(req)
Signature
1 public Slack . FilesRemoteListResponse filesRemoteList ( Slack . FilesRemoteListRequest req )
Parameters
req
Type: Slack.FilesRemoteListRequest
Return Value
Type: Slack.FilesRemoteListResponse
filesRemoteRemove(req)
Signature
1 public Slack . FilesRemoteRemoveResponse filesRemoteRemove ( Slack . FilesRemoteRemoveRequest req )
Parameters
req
Type: Slack.FilesRemoteRemoveRequest
Return Value
Type: Slack.FilesRemoteRemoveResponse
filesRemoteShare(req)
Signature
1 public Slack . FilesRemoteShareResponse filesRemoteShare ( Slack . FilesRemoteShareRequest req )
Parameters
req
Type: Slack.FilesRemoteShareRequest
Return Value
Type: Slack.FilesRemoteShareResponse
filesRemoteUpdate(req)
Signature
1 public Slack . FilesRemoteUpdateResponse filesRemoteUpdate ( Slack . FilesRemoteUpdateRequest req )
Parameters
req
Type: Slack.FilesRemoteUpdateRequest
migrationExchange(req)
Signature
1 public Slack . MigrationExchangeResponse migrationExchange ( Slack . MigrationExchangeRequest req )
Parameters
req
Type: Slack.MigrationExchangeRequest
Return Value
Type: Slack.MigrationExchangeResponse
pinsAdd(req)
Signature
1 public Slack . PinsAddResponse pinsAdd ( Slack . PinsAddRequest req )
Parameters
req
Type: Slack.PinsAddRequest
Return Value
Type: Slack.PinsAddResponse
pinsList(req)
Signature
1 public Slack . PinsListResponse pinsList ( Slack . PinsListRequest req )
Parameters
req
Type: Slack.PinsListRequest
Return Value
Type: Slack.PinsListResponse
pinsRemove(req)
Signature
1 public Slack . PinsRemoveResponse pinsRemove ( Slack . PinsRemoveRequest req )
Parameters
req
Type: Slack.PinsRemoveRequest
Return Value
Type: Slack.PinsRemoveResponse
reactionsAdd(req)
Signature
1 public Slack . ReactionsAddResponse reactionsAdd ( Slack . ReactionsAddRequest req )
Parameters
req
Type: Slack.ReactionsAddRequest
Return Value
Type: Slack.ReactionsAddResponse
reactionsGet(req)
Signature
1 public Slack . ReactionsGetResponse reactionsGet ( Slack . ReactionsGetRequest req )
Parameters
req
Type: Slack.ReactionsGetRequest
Return Value
Type: Slack.ReactionsGetResponse
reactionsList(req)
Signature
1 public Slack . ReactionsListResponse reactionsList ( Slack . ReactionsListRequest req )
Parameters
req
Type: Slack.ReactionsListRequest
Return Value
Type: Slack.ReactionsListResponse
reactionsRemove(req)
Signature
1 public Slack . ReactionsRemoveResponse reactionsRemove ( Slack . ReactionsRemoveRequest req )
Parameters
req
Type: Slack.ReactionsRemoveRequest
Return Value
Type: Slack.ReactionsRemoveResponse
starsAdd(req)
Signature
1 public Slack . StarsAddResponse starsAdd ( Slack . StarsAddRequest req )
Parameters
req
Type: Slack.StarsAddRequest
Return Value
Type: Slack.StarsAddResponse
teamInfo(req)
Signature
1 public Slack.TeamInfoResponse teamInfo(Slack.TeamInfoRequest req)
Parameters
req
Type: Slack.TeamInfoRequest
Return Value
Type: Slack.TeamInfoResponse
teamProfileGet(req)
Signature
1 public Slack . TeamProfileGetResponse teamProfileGet ( Slack . TeamProfileGetRequest req )
Parameters
req
Type: Slack.TeamProfileGetRequest
Return Value
Type: Slack.TeamProfileGetResponse
usergroupsCreate(req)
Signature
1 public Slack . UsergroupsCreateResponse usergroupsCreate ( Slack . UsergroupsCreateRequest req )
Parameters
req
Type: Slack.UsergroupsCreateRequest
Return Value
Type: Slack.UsergroupsCreateResponse
usergroupsDisable(req)
Parameters
req
1 public Slack . UsergroupsDisableResponse usergroupsDisable ( Slack . UsergroupsDisableRequest req )
Parameters
req
Type: Slack.UsergroupsDisableRequest
Return Value
Type: Slack.UsergroupsDisableResponse
usergroupsEnable(req)
Signature
1 public Slack . UsergroupsEnableResponse usergroupsEnable ( Slack . UsergroupsEnableRequest req )
Parameters
req
Type: Slack.UsergroupsEnableRequest
Return Value
Type: Slack.UsergroupsEnableResponse
usergroupsList(req)
Signature
1 public Slack . UsergroupsListResponse usergroupsList ( Slack . UsergroupsListRequest req )
Parameters
req
Type: Slack.UsergroupsListRequest
Return Value
Type: Slack.UsergroupsListResponse
usergroupsUpdate(req)
Signature
1 public Slack . UsergroupsUpdateResponse usergroupsUpdate ( Slack . UsergroupsUpdateRequest req )
Parameters
req
Type: Slack.UsergroupsUpdateRequest
Return Value
Type: Slack.UsergroupsUpdateResponse
usergroupsUsersList(req)
Signature
1 public Slack . UsergroupsUsersListResponse usergroupsUsersList ( Slack . UsergroupsUsersListRequest req )
Parameters
req
Type: Slack.UsergroupsUsersListRequest
Return Value
Type: Slack.UsergroupsUsersListResponse
usergroupsUsersUpdate(req)
Signature
1 public Slack . UsergroupsUsersUpdateResponse usergroupsUsersUpdate ( Slack . UsergroupsUsersUpdateRequest req )
Parameters
req
Type: Slack.UsergroupsUsersUpdateRequest
Return Value
Type: Slack.UsergroupsUsersUpdateResponse
usersConversations(req)
Signature
1 public Slack . UsersConversationsResponse usersConversations ( Slack . UsersConversationsRequest req )
Parameters
Type: Slack.UsersConversationsRequest
usersGetPresence(req)
Signature
1 public Slack . UsersGetPresenceResponse usersGetPresence ( Slack . UsersGetPresenceRequest req )
Parameters
req
Type: Slack.UsersGetPresenceRequest
Return Value
Type: Slack.UsersGetPresenceResponse
usersInfo(req)
Signature
1 public Slack . UsersInfoResponse usersInfo ( Slack . UsersInfoRequest req )
Return Value
Type: Slack.UsersInfoResponse
usersList(req)
Signature
1 public Slack . UsersListResponse usersList ( Slack . UsersListRequest req )
Return Value
req
Type: Slack.UsersListRequest
usersLookupByEmail(req)
Signature
1 public Slack . UsersLookupByEmailResponse usersLookupByEmail ( Slack . UsersLookupByEmailRequest req )
Parameters
req
Type: Slack.UsersLookupByEmailRequest
Return Value
Type: Slack.UsersLookupByEmailResponse
usersProfileGet(req)
Signature
1 public Slack . UsersProfileGetResponse usersProfileGet ( Slack . UsersProfileGetRequest req )
Parameters
req
Type: Slack.UsersProfileGetRequest
Return Value
Type: Slack.UsersProfileGetResponse
usersSetActive(req)
Signature
1 public Slack . UsersSetActiveResponse usersSetActive ( Slack . UsersSetActiveRequest req )
Parameters
req
Type: Slack.UsersSetActiveRequest
Return Value
Type: Slack.UsersSetActiveResponse
usersSetPresence(req)
Signature
1 public Slack . UsersSetPresenceResponse usersSetPresence ( Slack . UsersSetPresenceRequest req )
Parameters
req
Type: Slack.UsersSetPresenceRequest
Return Value
Type: Slack.UsersSetPresenceResponse
viewsOpen(req)
Signature
1 public Slack . ViewsOpenResponse viewsOpen ( Slack . ViewsOpenRequest req )
Parameters
req
Type: Slack.ViewsOpenRequest
Return Value
Type: Slack.ViewsOpenResponse
viewsPublish(req)
Signature
1 public Slack . ViewsPublishResponse viewsPublish ( Slack . ViewsPublishRequest req )
Parameters
req
Type: Slack.ViewsPublishRequest
Return Value
Type: Slack.ViewsPublishResponse
viewsPush(req)
Signature
1 public Slack . ViewsPushResponse viewsPush ( Slack . ViewsPushRequest req )
Parameters
req
Type: Slack.ViewsPushRequest
Return Value
Type: Slack.ViewsPushResponse
viewsUpdate(req)
Signature
1 public Slack . ViewsUpdateResponse viewsUpdate ( Slack . ViewsUpdateRequest req )
Parameters
req
Type: Slack.ViewsUpdateRequest
Return Value
Type: Slack.ViewsUpdateResponse
workflowsStepCompleted(req)
Signature
1 public Slack . WorkflowsStepCompletedResponse workflowsStepCompleted ( Slack . WorkflowsStepCompletedRequest req )
Parameters
req
Type: Slack.WorkflowsStepCompletedRequest
Return Value
Type: Slack.WorkflowsStepCompletedResponse
workflowsStepFailed(req)
Signature
1 public Slack . WorkflowsStepFailedResponse workflowsStepFailed ( Slack . WorkflowsStepFailedRequest req )
Parameters
req
Type: Slack.WorkflowsStepFailedRequest
workflowsUpdateStep(req)
Signature
1 public Slack . WorkflowsUpdateStepResponse workflowsUpdateStep ( Slack . WorkflowsUpdateStepRequest req )
Parameters
req
Type: Slack.WorkflowsUpdateStepRequest
Return Value
Type: Slack.WorkflowsUpdateStepResponse
This feature is not generally available. It is not part of your purchased Services. This feature is subject to change, may be discontinued with no notice at any time in SFDC’s sole discretion, and SFDC may never make this feature generally available. Make your purchase decisions only on the basis of generally available products and features. This feature is made available on an AS IS basis and use of this feature is at your sole risk.