Slack
Project Connectors/Communication/SlackDataSource/. SlackDataSource : WebAPIDataSource. DataSourceType.Slack, DatasourceCategory.Connector.
Pattern
Follows the standard connector layout: WebAPIConnectionProperties, entity names mapped to Slack Web API methods, and CommandAttribute for editor-visible operations. Models live under TheTechIdea.Beep.Connectors.Slack.Models.
Source & IDataSource
Implementation: Connectors/Communication/SlackDataSource/SlackDataSource.cs — SlackDataSource : WebAPIDataSource. Entity keys (e.g. channels, messages) map to Slack Web API methods; some entities require filters (e.g. channel for messages). See IDataSource for generic access.
Command methods (CommandAttribute)
Name | Method | Returns | ObjectType |
|---|---|---|---|
| GetChannels | GetChannels(List<AppFilter> filters = null) | Task<IEnumerable<SlackChannel>> | SlackChannel |
| GetMessages | GetMessages(List<AppFilter> filters = null) | Task<IEnumerable<SlackMessage>> | SlackMessage |
| GetUsers | GetUsers(List<AppFilter> filters = null) | Task<IEnumerable<SlackUser>> | SlackUser |
| GetFiles | GetFiles(List<AppFilter> filters = null) | Task<IEnumerable<SlackFile>> | SlackFile |
| GetTeam | GetTeam(List<AppFilter> filters = null) | Task<IEnumerable<SlackTeam>> | SlackTeam |
| GetUserGroups | GetUserGroups(List<AppFilter> filters = null) | Task<IEnumerable<SlackUserGroup>> | SlackUserGroup |
| PostMessage | PostMessageAsync(SlackMessage message) | Task<IEnumerable<SlackMessage>> | SlackMessage |
| CreateChannel | CreateChannelAsync(SlackChannel channel) | Task<IEnumerable<SlackChannel>> | SlackChannel |
| CreateUserGroup | CreateUserGroupAsync(SlackUserGroup userGroup) | Task<IEnumerable<SlackUserGroup>> | SlackUserGroup |
| UpdateUserGroup | UpdateUserGroupAsync(SlackUserGroup userGroup) | Task<IEnumerable<SlackUserGroup>> | SlackUserGroup |
Model types
TheTechIdea.Beep.Connectors.Slack.Models — SlackChannel, SlackMessage, SlackUser, SlackFile, SlackTeam, SlackUserGroup, and related DTOs used for API JSON.
Connection
Bot tokens or workspace OAuth tokens are supplied through connection properties; scopes must match the methods you call. Details vary by Slack app configuration.