Integration reference
Slack Trigger and Action reference
Start Workflows from Slack events and automate messages, reactions, channels, pins, and member operations.
Authentication
Install the FastHook Slack app through OAuth for the workspace used by Triggers and Actions.
- Trigger account type:
oauth2; reconnect byoauth. - Action connection type:
oauth2; available modes: Connected Slack workspace.
Create or reuse the account from a Trigger or Action dialog, or manage it under Settings → Connected accounts. See Authentication and permissions for scopes and access diagnostics, or Connected accounts for reuse, reconnect, revocation, and credential rotation.
Scopes and permissions
Base Trigger authorization requests: team:read.
View 15 OAuth scopes used by current Actions
chat:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:history, im:write, users:read, reactions:write, pins:write, channels:manage, groups:write
View 15 provider permissions or credential requirements
chat:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:history, im:write, users:read, reactions:write, pins:write, channels:manage, groups:write
Operation-specific requirements appear in the tables below. Custom event selections can add scopes dynamically, so the current Trigger or Action dialog remains authoritative for the exact consent request.
Use Slack as a Trigger
The current provider manifest contains 41 available Trigger definitions. Representative definitions include:
- Any Available Slack Event
- New Message in Channel
- New Direct Message
- New User Mention
- Reaction Added
- File Shared
View all 41 available Trigger definitions
| Trigger | Manifest key | Delivery | Additional scopes |
|---|---|---|---|
| Any Available Slack Event | slack.any_event.instant | instant | app_mentions:read, channels:history, channels:read, emoji:read, files:read, groups:history, groups:read, im:history, mpim:history, mpim:read, pins:read, reactions:read, team:read, usergroups:read, users:read |
| Custom Webhook Events | slack.custom_webhook_events.instant | instant | app_mentions:read, channels:history, channels:read, emoji:read, files:read, groups:history, groups:read, im:history, mpim:history, mpim:read, pins:read, reactions:read, team:read, usergroups:read, users:read |
| New Message in Channel | slack.new_message_channel.instant | instant | channels:history, channels:read |
| New Message in Private Channel | slack.new_message_private_channel.instant | instant | groups:history, groups:read |
| New Direct Message | slack.new_direct_message.instant | instant | im:history |
| New Group Direct Message | slack.new_group_direct_message.instant | instant | mpim:history |
| New User Mention | slack.new_user_mention.instant | instant | channels:history, channels:read, groups:history, groups:read, im:history, mpim:history, users:read |
| New Keyword Mention | slack.new_keyword_mention.instant | instant | channels:history, channels:read, groups:history, groups:read, im:history, mpim:history |
| Message Edited | slack.message_edited.instant | instant | channels:history, channels:read, groups:history, groups:read, im:history, mpim:history |
| Message Deleted | slack.message_deleted.instant | instant | channels:history, channels:read, groups:history, groups:read, im:history, mpim:history |
| New Thread Reply | slack.thread_reply.instant | instant | channels:history, channels:read, groups:history, groups:read, im:history, mpim:history |
| Reaction Added | slack.reaction_added.instant | instant | reactions:read, channels:read, groups:read |
| Reaction Removed | slack.reaction_removed.instant | instant | reactions:read, channels:read, groups:read |
| File Shared | slack.file_shared.instant | instant | files:read |
| Channel Created | slack.channel_created.instant | instant | channels:read |
| Private Channel Created | slack.private_channel_created.polling | polling | groups:read |
| Channel Renamed | slack.channel_renamed.instant | instant | channels:read |
| Channel Archived | slack.channel_archived.instant | instant | channels:read |
| User Joined Workspace | slack.user_joined_workspace.instant | instant | users:read |
| User Joined Channel | slack.user_joined_channel.instant | instant | channels:read, groups:read, mpim:read, users:read |
| User Left Channel | slack.user_left_channel.instant | instant | channels:read, groups:read, users:read |
| FastHook App Mentioned | slack.app_mentioned.instant | instant | app_mentions:read, channels:read, groups:read |
| Channel Deleted | slack.channel_deleted.instant | instant | channels:read |
| Channel Shared | slack.channel_shared.instant | instant | channels:read, groups:read |
| Channel Unshared | slack.channel_unshared.instant | instant | channels:read, groups:read |
| Channel Topic Changed | slack.channel_topic_changed.instant | instant | channels:history, channels:read, groups:history, groups:read |
| Channel Purpose Changed | slack.channel_purpose_changed.instant | instant | channels:history, channels:read, groups:history, groups:read |
| User Profile Changed | slack.user_changed.instant | instant | users:read |
| File Created | slack.file_created.instant | instant | files:read |
| File Changed | slack.file_changed.instant | instant | files:read |
| File Deleted | slack.file_deleted.instant | instant | files:read |
| File Made Public | slack.file_made_public.instant | instant | files:read |
| File Unshared | slack.file_unshared.instant | instant | files:read |
| Pin Added | slack.pin_added.instant | instant | pins:read, channels:read, groups:read |
| Pin Removed | slack.pin_removed.instant | instant | pins:read, channels:read, groups:read |
| Custom Emoji Changed | slack.custom_emoji_changed.instant | instant | emoji:read |
| User Group Created | slack.user_group_created.instant | instant | usergroups:read |
| User Group Updated | slack.user_group_updated.instant | instant | usergroups:read |
| User Group Members Changed | slack.user_group_members_changed.instant | instant | usergroups:read |
| Workspace Renamed | slack.workspace_renamed.instant | instant | team:read |
| Workspace Domain Changed | slack.workspace_domain_changed.instant | instant | team:read |
Choose the narrowest event definition that fits the Workflow. Configure provider-specific resource and event filters in the Source dialog before adding broader Workflow Filters.
Use Slack Actions
The current Action manifest contains 17 operations. Representative Actions include:
- Send Message
- Send Direct Message
- Update Message
- Schedule Message
- Add Reaction
- Create Channel
View all 17 available Action definitions
| Action | Manifest key | Access and auth | Manifest rate limit |
|---|---|---|---|
| Send Message | slack.send_channel_message | chat:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:historyFastHook-managed account | 1/second |
| Send Direct Message | slack.send_direct_message | chat:write, im:write, users:readFastHook-managed account | 1/second |
| Update Message | slack.update_message | chat:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:historyFastHook-managed account | 1/second |
| Delete Message | slack.delete_message | chat:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:historyFastHook-managed account | 1/second |
| Schedule Message | slack.schedule_message | chat:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:historyFastHook-managed account | 1/second |
| Delete Scheduled Message | slack.delete_scheduled_message | chat:write, channels:read, groups:readFastHook-managed account | 1/second |
| Add Reaction | slack.add_reaction | reactions:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:historyFastHook-managed account | 1/second |
| Remove Reaction | slack.remove_reaction | reactions:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:historyFastHook-managed account | 1/second |
| Pin Message | slack.pin_message | pins:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:historyFastHook-managed account | 1/second |
| Unpin Message | slack.unpin_message | pins:write, channels:read, groups:read, im:read, mpim:read, channels:history, groups:history, im:history, mpim:historyFastHook-managed account | 1/second |
| Create Channel | slack.create_channel | channels:manage, groups:writeFastHook-managed account | 1/second |
| Archive Channel | slack.archive_channel | channels:manage, groups:write, channels:read, groups:readFastHook-managed account | 1/second |
| Invite Member to Channel | slack.invite_user_to_channel | channels:manage, groups:write, channels:read, groups:read, users:readFastHook-managed account | 1/second |
| Set Channel Topic | slack.set_channel_topic | channels:manage, groups:write, channels:read, groups:readFastHook-managed account | 1/second |
| Set Channel Purpose | slack.set_channel_purpose | channels:manage, groups:write, channels:read, groups:readFastHook-managed account | 1/second |
| Rename Channel | slack.rename_channel | channels:manage, groups:write, channels:read, groups:readFastHook-managed account | 1/second |
| Custom API Request | slack.custom_api_request | None declared FastHook-managed account | 1/second |
The Action editor reads its required permissions, fields, remote resource pickers, output schema, and rate limit from the provider manifest. Available fields can change with the selected operation and authentication mode.
Build a Workflow
- Create a Source using a Slack Trigger definition.
- Create a Workflow with that Source as its Trigger.
- Add the required Slack Action and select the connected account.
- Map Trigger or earlier-Step data into the Action fields with the field picker.
- Add a Filter, Paths, Delay, or Transformation when the route needs it.
- Activate the Workflow, produce a controlled event, and verify the run in Audit and in Slack.
Troubleshooting Slack
- The account is missing or cannot be selected
- Confirm the active FastHook team, provider, account status, and authentication mode. A disabled or revoked account cannot execute an Action.
- A resource picker is empty
- Verify that the connected provider identity can access the resource itself. OAuth consent does not add workspace, repository, channel, drive, project, base, or record permissions.
- The editor asks for additional scopes
- Reconnect the same account from the affected Trigger or Action so FastHook can request its current manifest scopes. Then reopen the editor and select the resource again.
- An active Workflow returns 401, 403, or a permission error
- Compare the selected operation’s access requirements below with the account recorded in Audit. Check provider-side membership and object access before repeating the Action.
- The provider returns 429 or a temporary 5xx
- Inspect the Step attempt and retryability in Audit. FastHook can retry temporary failures, but provider quotas and idempotency rules still apply.
Provider-specific checks
- Private conversations require the connected app to have access.
- Sending as the connected user requires the user-token capability shown by the Action editor.