> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Discord

> Connect your own Discord bot for typed server actions and signed HTTP webhook events.

Automate.ax connects to a Discord application that you own. Your bot token stays isolated in the integration account used by your automation.

## Connect a bot

1. Create or select an application in the [Discord Developer Portal](https://discord.com/developers/applications).
2. Open **Bot**, create the bot if needed, reset its token, and copy the token.
3. Open **OAuth2 → URL Generator**. Select `bot` and `applications.commands`, then select only the server permissions your automations need.
4. Open the generated URL and install the bot in each server you want to automate.
5. In Automate.ax, connect Discord with **Bot token** and paste the token.

Discord permissions are server- and channel-specific. Automate.ax validates the bot identity when you connect it; Discord enforces each action's permissions and role hierarchy when the action runs. Use the optional `reason` input on moderation and management actions to populate the server audit log.

Some actions also depend on privileged Gateway intents configured on the application's **Bot** page. Enable **Server Members Intent** (`GUILD_MEMBERS`) before using `discord.listMembers`. Enable **Message Content Intent** (`MESSAGE_CONTENT`) when your bot must read message content; without it, Discord can return empty content and related message fields. Verified applications may need Discord's approval before enabling these intents.

## Receive HTTP webhook events

Deploy an automation that uses a Discord trigger, then configure this URL under your application's **Webhooks** settings:

```text theme={null}
https://automate.ax/api/v1/events/discord/YOUR_APPLICATION_ID
```

Replace `YOUR_APPLICATION_ID` with the application ID from **General Information**. Discord verifies the endpoint with a signed PING. Enable the application authorization and entitlement events your automation uses.

Discord's Event Webhooks do not deliver ordinary server messages, reactions, channel changes, or member changes. This integration does not poll for them. Those events require Discord Gateway support, which is not part of the current integration.

## Use an account

```ts automations/discord-message.automation.ts theme={null}
import { automation, onHttpRequest } from "automate.ax"
import { discord, discordAccount } from "automate.ax/discord"

export default automation("Post Discord update", () => {
  onHttpRequest({ scope: "automation" })
  discord.sendMessage(
    { channelId: "123456789012345678", content: "Deployment complete" },
    { account: discordAccount("operations-bot") },
  )
})
```

Omit the second argument to use the project's default Discord account. Discord IDs are snowflake strings; keep them as strings even when they contain only digits.

## Provider behavior

Automate.ax uses Discord API v10, validates successful responses, and follows Discord's `Retry-After` value after a rate limit. Invalid credentials, missing permissions, bad inputs, and role-hierarchy failures stop immediately. Create actions are not replayed automatically when Discord may have accepted the first request.

## Exports

```ts theme={null}
import { discord, discordAccount } from "automate.ax/discord"
```

* `discord` contains the packaged Discord actions and triggers.
* `discordAccount("name")` selects a named Discord bot connection.

## Triggers

* [On webhook event](/reference/integrations/discord/triggers/on-webhook-event)
* [On application authorized](/reference/integrations/discord/triggers/on-application-authorized)
* [On application access removed](/reference/integrations/discord/triggers/on-application-deauthorized)
* [On entitlement created](/reference/integrations/discord/triggers/on-entitlement-created)
* [On entitlement updated](/reference/integrations/discord/triggers/on-entitlement-updated)
* [On entitlement deleted](/reference/integrations/discord/triggers/on-entitlement-deleted)

## Actions

* [Add member role](/reference/integrations/discord/actions/add-member-role)
* [Add reaction](/reference/integrations/discord/actions/add-reaction)
* [Add thread member](/reference/integrations/discord/actions/add-thread-member)
* [Ban member](/reference/integrations/discord/actions/ban-member)
* [Bulk delete messages](/reference/integrations/discord/actions/bulk-delete-messages)
* [Create Auto Moderation rule](/reference/integrations/discord/actions/create-automod-rule)
* [Create channel](/reference/integrations/discord/actions/create-channel)
* [Create emoji](/reference/integrations/discord/actions/create-emoji)
* [Create invite](/reference/integrations/discord/actions/create-invite)
* [Create role](/reference/integrations/discord/actions/create-role)
* [Create scheduled event](/reference/integrations/discord/actions/create-scheduled-event)
* [Create thread](/reference/integrations/discord/actions/create-thread)
* [Create thread from message](/reference/integrations/discord/actions/create-thread-from-message)
* [Create webhook](/reference/integrations/discord/actions/create-webhook)
* [Delete Auto Moderation rule](/reference/integrations/discord/actions/delete-automod-rule)
* [Delete channel](/reference/integrations/discord/actions/delete-channel)
* [Delete channel permission](/reference/integrations/discord/actions/delete-channel-permission)
* [Delete emoji](/reference/integrations/discord/actions/delete-emoji)
* [Delete invite](/reference/integrations/discord/actions/delete-invite)
* [Delete message](/reference/integrations/discord/actions/delete-message)
* [Delete role](/reference/integrations/discord/actions/delete-role)
* [Delete scheduled event](/reference/integrations/discord/actions/delete-scheduled-event)
* [Delete webhook](/reference/integrations/discord/actions/delete-webhook)
* [End poll](/reference/integrations/discord/actions/end-poll)
* [Get channel](/reference/integrations/discord/actions/get-channel)
* [Get current bot](/reference/integrations/discord/actions/get-current-bot)
* [Get server](/reference/integrations/discord/actions/get-guild)
* [Get member](/reference/integrations/discord/actions/get-member)
* [Get message](/reference/integrations/discord/actions/get-message)
* [Get webhook](/reference/integrations/discord/actions/get-webhook)
* [Join thread](/reference/integrations/discord/actions/join-thread)
* [Kick member](/reference/integrations/discord/actions/kick-member)
* [Leave thread](/reference/integrations/discord/actions/leave-thread)
* [List active threads](/reference/integrations/discord/actions/list-active-threads)
* [List Auto Moderation rules](/reference/integrations/discord/actions/list-automod-rules)
* [List bans](/reference/integrations/discord/actions/list-bans)
* [List channel invites](/reference/integrations/discord/actions/list-channel-invites)
* [List channel webhooks](/reference/integrations/discord/actions/list-channel-webhooks)
* [List channels](/reference/integrations/discord/actions/list-channels)
* [List emojis](/reference/integrations/discord/actions/list-emojis)
* [List servers](/reference/integrations/discord/actions/list-guilds)
* [List members](/reference/integrations/discord/actions/list-members)
* [List messages](/reference/integrations/discord/actions/list-messages)
* [List poll answer voters](/reference/integrations/discord/actions/list-poll-answer-voters)
* [List roles](/reference/integrations/discord/actions/list-roles)
* [List scheduled events](/reference/integrations/discord/actions/list-scheduled-events)
* [List thread members](/reference/integrations/discord/actions/list-thread-members)
* [Pin message](/reference/integrations/discord/actions/pin-message)
* [Remove member role](/reference/integrations/discord/actions/remove-member-role)
* [Remove own reaction](/reference/integrations/discord/actions/remove-own-reaction)
* [Remove thread member](/reference/integrations/discord/actions/remove-thread-member)
* [Reply to message](/reference/integrations/discord/actions/reply-to-message)
* [Send message](/reference/integrations/discord/actions/send-message)
* [Set channel permission](/reference/integrations/discord/actions/set-channel-permission)
* [Remove member ban](/reference/integrations/discord/actions/unban-member)
* [Unpin message](/reference/integrations/discord/actions/unpin-message)
* [Update Auto Moderation rule](/reference/integrations/discord/actions/update-automod-rule)
* [Update channel](/reference/integrations/discord/actions/update-channel)
* [Update emoji](/reference/integrations/discord/actions/update-emoji)
* [Update server](/reference/integrations/discord/actions/update-guild)
* [Update member](/reference/integrations/discord/actions/update-member)
* [Update message](/reference/integrations/discord/actions/update-message)
* [Update role](/reference/integrations/discord/actions/update-role)
* [Update scheduled event](/reference/integrations/discord/actions/update-scheduled-event)
* [Update webhook](/reference/integrations/discord/actions/update-webhook)
