Integration reference
Discord Trigger and Action reference
React to Discord gateway events and automate messages, threads, reactions, moderation, roles, and scheduled events.
Authentication
Choose a customer webhook, customer-owned bot, or the hosted FastHook bot according to the Action.
- Trigger account type:
oauth2; reconnect byoauth. - Action connection type:
oauth2; available modes: Customer webhook, Customer bot, FastHook bot.
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: identify, bot.
View 15 provider permissions or credential requirements
View Channels, Send Messages, Embed Links, Attach Files, Read Message History, Send Polls, Send TTS Messages, Manage Messages, Add Reactions, Pin Messages, Create Public Threads, Send Messages in Threads, Manage Roles, Moderate Members, Create Events
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 Discord as a Trigger
The current provider manifest contains 93 available Trigger definitions. Representative definitions include:
- Message Create
- Message Reaction Add
- Thread Create
- Channel Create
- Guild Member Add
- Message Update
View all 93 available Trigger definitions
| Trigger | Manifest key | Delivery | Additional scopes |
|---|---|---|---|
| Any Discord Event | discord.any_event.instant | instant | None declared |
| Custom Discord Events | discord.custom_webhook_events.instant | instant | None declared |
| Activity Invite Create | discord.activity_invite_create.instant | instant | None declared |
| Application Authorized | discord.application_authorized.instant | instant | None declared |
| Application Command Permissions Update | discord.application_command_permissions_update.instant | instant | None declared |
| Application Deauthorized | discord.application_deauthorized.instant | instant | None declared |
| Auto Moderation Action Execution | discord.auto_moderation_action_execution.instant | instant | None declared |
| Auto Moderation Rule Create | discord.auto_moderation_rule_create.instant | instant | None declared |
| Auto Moderation Rule Delete | discord.auto_moderation_rule_delete.instant | instant | None declared |
| Auto Moderation Rule Update | discord.auto_moderation_rule_update.instant | instant | None declared |
| Channel Create | discord.channel_create.instant | instant | None declared |
| Channel Delete | discord.channel_delete.instant | instant | None declared |
| Channel Info | discord.channel_info.instant | instant | None declared |
| Channel Pins Update | discord.channel_pins_update.instant | instant | None declared |
| Channel Update | discord.channel_update.instant | instant | None declared |
| Entitlement Create | discord.entitlement_create.instant | instant | None declared |
| Entitlement Delete | discord.entitlement_delete.instant | instant | None declared |
| Entitlement Update | discord.entitlement_update.instant | instant | None declared |
| Game Direct Message Create | discord.game_direct_message_create.instant | instant | None declared |
| Game Direct Message Delete | discord.game_direct_message_delete.instant | instant | None declared |
| Game Direct Message Update | discord.game_direct_message_update.instant | instant | None declared |
| Game Relationship Add | discord.game_relationship_add.instant | instant | None declared |
| Game Relationship Remove | discord.game_relationship_remove.instant | instant | None declared |
| Guild Audit Log Entry Create | discord.guild_audit_log_entry_create.instant | instant | None declared |
| Guild Ban Add | discord.guild_ban_add.instant | instant | None declared |
| Guild Ban Remove | discord.guild_ban_remove.instant | instant | None declared |
| Guild Create | discord.guild_create.instant | instant | None declared |
| Guild Delete | discord.guild_delete.instant | instant | None declared |
| Guild Emojis Update | discord.guild_emojis_update.instant | instant | None declared |
| Guild Integrations Update | discord.guild_integrations_update.instant | instant | None declared |
| Guild Members Chunk | discord.guild_members_chunk.instant | instant | None declared |
| Guild Member Add | discord.guild_member_add.instant | instant | None declared |
| Guild Member Remove | discord.guild_member_remove.instant | instant | None declared |
| Guild Member Update | discord.guild_member_update.instant | instant | None declared |
| Guild Role Create | discord.guild_role_create.instant | instant | None declared |
| Guild Role Delete | discord.guild_role_delete.instant | instant | None declared |
| Guild Role Update | discord.guild_role_update.instant | instant | None declared |
| Guild Scheduled Event Create | discord.guild_scheduled_event_create.instant | instant | None declared |
| Guild Scheduled Event Delete | discord.guild_scheduled_event_delete.instant | instant | None declared |
| Guild Scheduled Event Update | discord.guild_scheduled_event_update.instant | instant | None declared |
| Guild Scheduled Event User Add | discord.guild_scheduled_event_user_add.instant | instant | None declared |
| Guild Scheduled Event User Remove | discord.guild_scheduled_event_user_remove.instant | instant | None declared |
| Guild Soundboard Sounds Update | discord.guild_soundboard_sounds_update.instant | instant | None declared |
| Guild Soundboard Sound Create | discord.guild_soundboard_sound_create.instant | instant | None declared |
| Guild Soundboard Sound Delete | discord.guild_soundboard_sound_delete.instant | instant | None declared |
| Guild Soundboard Sound Update | discord.guild_soundboard_sound_update.instant | instant | None declared |
| Guild Stickers Update | discord.guild_stickers_update.instant | instant | None declared |
| Guild Update | discord.guild_update.instant | instant | None declared |
| Integration Create | discord.integration_create.instant | instant | None declared |
| Integration Delete | discord.integration_delete.instant | instant | None declared |
| Integration Update | discord.integration_update.instant | instant | None declared |
| Interaction Create | discord.interaction_create.instant | instant | None declared |
| Invite Create | discord.invite_create.instant | instant | None declared |
| Invite Delete | discord.invite_delete.instant | instant | None declared |
| Lobby Message Create | discord.lobby_message_create.instant | instant | None declared |
| Lobby Message Delete | discord.lobby_message_delete.instant | instant | None declared |
| Lobby Message Update | discord.lobby_message_update.instant | instant | None declared |
| Message Create | discord.message_create.instant | instant | None declared |
| Message Delete | discord.message_delete.instant | instant | None declared |
| Message Delete Bulk | discord.message_delete_bulk.instant | instant | None declared |
| Message Poll Vote Add | discord.message_poll_vote_add.instant | instant | None declared |
| Message Poll Vote Remove | discord.message_poll_vote_remove.instant | instant | None declared |
| Message Reaction Add | discord.message_reaction_add.instant | instant | None declared |
| Message Reaction Remove | discord.message_reaction_remove.instant | instant | None declared |
| Message Reaction Remove All | discord.message_reaction_remove_all.instant | instant | None declared |
| Message Reaction Remove Emoji | discord.message_reaction_remove_emoji.instant | instant | None declared |
| Message Update | discord.message_update.instant | instant | None declared |
| Presence Update | discord.presence_update.instant | instant | None declared |
| Quest User Enrollment | discord.quest_user_enrollment.instant | instant | None declared |
| Relationship Add | discord.relationship_add.instant | instant | None declared |
| Relationship Remove | discord.relationship_remove.instant | instant | None declared |
| Relationship Update | discord.relationship_update.instant | instant | None declared |
| Soundboard Sounds | discord.soundboard_sounds.instant | instant | None declared |
| Stage Instance Create | discord.stage_instance_create.instant | instant | None declared |
| Stage Instance Delete | discord.stage_instance_delete.instant | instant | None declared |
| Stage Instance Update | discord.stage_instance_update.instant | instant | None declared |
| Subscription Create | discord.subscription_create.instant | instant | None declared |
| Subscription Delete | discord.subscription_delete.instant | instant | None declared |
| Subscription Update | discord.subscription_update.instant | instant | None declared |
| Thread Create | discord.thread_create.instant | instant | None declared |
| Thread Delete | discord.thread_delete.instant | instant | None declared |
| Thread List Sync | discord.thread_list_sync.instant | instant | None declared |
| Thread Members Update | discord.thread_members_update.instant | instant | None declared |
| Thread Member Update | discord.thread_member_update.instant | instant | None declared |
| Thread Update | discord.thread_update.instant | instant | None declared |
| Typing Start | discord.typing_start.instant | instant | None declared |
| User Activity Action | discord.user_activity_action.instant | instant | None declared |
| Voice Channel Effect Send | discord.voice_channel_effect_send.instant | instant | None declared |
| Voice Channel Start Time Update | discord.voice_channel_start_time_update.instant | instant | None declared |
| Voice Channel Status Update | discord.voice_channel_status_update.instant | instant | None declared |
| Voice Server Update | discord.voice_server_update.instant | instant | None declared |
| Voice State Update | discord.voice_state_update.instant | instant | None declared |
| Webhooks Update | discord.webhooks_update.instant | instant | None declared |
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 Discord Actions
The current Action manifest contains 17 operations. Representative Actions include:
- Send Message
- Send Direct Message
- Edit Message
- Add Reaction
- Create Thread
- Add Member Role
View all 17 available Action definitions
| Action | Manifest key | Access and auth | Manifest rate limit |
|---|---|---|---|
| Send Message | discord.send_channel_message | View Channels, Send Messages, Embed Links, Attach Files, Read Message History, Send Polls, Send TTS MessagesFastHook-managed account · Customer bot or credential · Customer webhook | 1/second |
| Send Direct Message | discord.send_direct_message | Send Messages, Embed Links, Attach Files, Send PollsFastHook-managed account · Customer bot or credential | 1/second |
| Edit Message | discord.edit_message | View Channels, Send Messages, Read Message HistoryFastHook-managed account · Customer bot or credential · Customer webhook | 1/second |
| Delete Message | discord.delete_message | View Channels, Manage Messages, Read Message HistoryFastHook-managed account · Customer bot or credential · Customer webhook | 1/second |
| Publish Announcement | discord.crosspost_message | View Channels, Send Messages, Manage Messages, Read Message HistoryFastHook-managed account · Customer bot or credential | 1/second |
| Add Reaction | discord.add_reaction | View Channels, Add Reactions, Read Message HistoryFastHook-managed account · Customer bot or credential | 1/second |
| Remove Own Reaction | discord.remove_reaction | View Channels, Read Message HistoryFastHook-managed account · Customer bot or credential | 1/second |
| Pin Message | discord.pin_message | View Channels, Pin Messages, Read Message HistoryFastHook-managed account · Customer bot or credential | 1/second |
| Unpin Message | discord.unpin_message | View Channels, Pin Messages, Read Message HistoryFastHook-managed account · Customer bot or credential | 1/second |
| Create Thread | discord.create_thread | View Channels, Create Public Threads, Send Messages in Threads, Read Message HistoryFastHook-managed account · Customer bot or credential | 1/second |
| Create Forum Post | discord.create_forum_post | View Channels, Create Public Threads, Send Messages in Threads, Embed Links, Attach FilesFastHook-managed account · Customer bot or credential | 1/second |
| Add Member Role | discord.add_member_role | Manage RolesFastHook-managed account · Customer bot or credential | 1/second |
| Remove Member Role | discord.remove_member_role | Manage RolesFastHook-managed account · Customer bot or credential | 1/second |
| Timeout Member | discord.timeout_member | Moderate MembersFastHook-managed account · Customer bot or credential | 1/second |
| Remove Member Timeout | discord.remove_member_timeout | Moderate MembersFastHook-managed account · Customer bot or credential | 1/second |
| Create Scheduled Event | discord.create_scheduled_event | Create EventsFastHook-managed account · Customer bot or credential | 1/second |
| Custom API Request | discord.custom_api_request | None declared FastHook-managed account · Customer bot or credential | 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 Discord Trigger definition.
- Create a Workflow with that Source as its Trigger.
- Add the required Discord 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 Discord.
Troubleshooting Discord
- 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
- Authentication mode changes the fields and permissions available to an Action.
- Use event filters and ignore-bot controls to prevent message loops.