Webhook Resource
Webhooks allow external services to post messages to Fluxer channels without a bot account.Webhook Object
Structure
Unique webhook identifier
Webhook type (see Webhook Types)
Guild ID where the webhook exists
Channel ID where the webhook posts
User who created the webhook
ID of the creator user
Webhook display name (1-80 characters)
Hash of the webhook’s avatar
Secure token for webhook authentication (only returned on creation)
Application ID (for application webhooks)
Version for optimistic concurrency control
Example Webhook
Webhook Types
Creating Webhooks
Webhooks are created in a channel and post messages to that channel. The creator needsMANAGE_WEBHOOKS permission.
Webhook Token
The webhook token is only returned when creating or retrieving the webhook with proper permissions. It should be kept secure:- Never commit tokens to version control
- Rotate tokens if compromised
- Use environment variables or secure storage
Executing Webhooks
Webhooks can post messages using their token without requiring a bot account or OAuth2.Request Format
Message content (max 2000 characters for webhooks)
Override the webhook’s default username
Override the webhook’s default avatar (URL)
Array of embed objects (max 10)
Control which mentions are allowed
Message flags (e.g., suppress embeds)
Wait for message to be created and return it
Send message to a specific thread
Example Request
Webhook vs Bot
When to use Webhooks:
- Simple one-way notifications
- External service integrations (CI/CD, monitoring)
- No need for user interactions
- Lower setup complexity
When to use Bots:
- Two-way interactions required
- Need to read messages or react
- Complex command handling
- Guild-specific configurations
- Require permissions beyond posting
Rate Limits
Webhooks have separate rate limits from user accounts:- Per-webhook: 30 requests per minute
- Global: 50 requests per second
429 Too Many Requests with a Retry-After header.
Endpoints
Create Webhook
MANAGE_WEBHOOKS permission.
Webhook name (1-80 characters)
Base64 encoded image data for avatar
Get Channel Webhooks
MANAGE_WEBHOOKS permission.
Get Guild Webhooks
MANAGE_WEBHOOKS permission.
Get Webhook
MANAGE_WEBHOOKS permission or webhook token.
Get Webhook with Token
Modify Webhook
MANAGE_WEBHOOKS permission.
New webhook name
New avatar (base64 encoded) or null to remove
Move webhook to a different channel
Modify Webhook with Token
Delete Webhook
MANAGE_WEBHOOKS permission.
Delete Webhook with Token
Execute Webhook
Execute Slack-Compatible Webhook
Execute GitHub-Compatible Webhook
Get Webhook Message
Edit Webhook Message
Delete Webhook Message
Security Best Practices
- Keep tokens secure - Never expose webhook tokens publicly
- Validate sources - Verify requests come from expected sources
- Use HTTPS - Always use secure connections
- Rotate tokens - Regenerate tokens periodically or when compromised
- Limit permissions - Only grant webhook creation to trusted users
- Monitor usage - Track webhook activity for suspicious patterns
Common Use Cases
CI/CD Notifications
Monitoring Alerts
RSS/News Feeds
Related Resources
- Messages - Message structure and embeds
- Channels - Where webhooks post
- Applications - OAuth2 applications