Custom Webhooks
Integrate external services and applications with SYNTHET using custom webhooks.
Overview
SYNTHET's Custom Webhooks feature allows you to integrate external services and receive real-time notifications about events from virtually any platform. Whether it's GitHub commits, deployment notifications, monitoring alerts, or custom integrations, webhooks enable seamless data flow into your Discord server.
Create webhook endpoints, configure event types, customize message formatting, and manage multiple webhook sources with simple Discord commands. Perfect for DevOps, monitoring, and automation workflows.
Webhooks support JSON payloads and can be configured to trigger on custom events.
Core Commands
Use these commands to manage webhooks:
/webhook create <name> | Create a new webhook endpoint |
/webhook list | View all active webhooks |
/webhook delete <webhook_id> | Delete a webhook and stop receiving events |
/webhook info <webhook_id> | Get webhook URL and configuration details |
/webhook set-channel <webhook_id> <#channel> | Set notification channel for webhook |
/webhook configure <webhook_id> <setting> <value> | Configure webhook event filters |
/webhook format <webhook_id> <template> | Customize webhook message formatting |
/webhook test <webhook_id> | Send a test event to verify webhook |
/webhook logs <webhook_id> | View webhook activity logs |
/webhook stats <webhook_id> | View webhook statistics and event counts |
Getting Started
Follow these steps to set up a webhook:
Step 1: Create a Webhook
Create a new webhook endpoint that external services can send events to.
/webhook create github-alertsStep 2: Get Webhook URL
Retrieve the webhook URL to configure in your external service.
/webhook info github-alertsStep 3: Configure Destination
Set which Discord channel receives webhook notifications.
/webhook set-channel github-alerts #notificationsStep 4: Test the Webhook
Send a test event to verify everything is working correctly.
/webhook test github-alertsPopular Integrations
SYNTHET webhooks work with many popular services:
GitHub
Events: Pushes, PRs, Releases, Issues
Setup: Use webhook URL in GitHub Settings > Webhooks
GitLab
Events: Push, Merge Requests, Tags, Issues
Setup: Configure in Project Settings > Integrations
Sentry
Events: Error alerts, Release events
Setup: Add custom integration in Sentry settings
Datadog
Events: Monitor alerts, metric thresholds
Setup: Create webhook monitor in Datadog
PagerDuty
Events: Incident alerts, status updates
Setup: Configure webhook in integration settings
Custom Services
Events: Any custom JSON payloads
Setup: HTTP POST to webhook URL with JSON data
Webhook Payload Structure
Webhooks accept JSON payloads with the following structure:
{
"event": "push",
"service": "github",
"timestamp": "2024-02-05T10:30:00Z",
"data": {
"title": "Event Title",
"description": "Event details",
"url": "https://example.com/event",
"author": "username",
"severity": "info"
}
}The payload structure is flexible. SYNTHET will extract relevant information and format it for Discord display.
Custom Message Formatting
Format webhook notifications with template variables:
Available Variables
{{event}} - Event type (e.g., "push", "pull_request")
{{service}} - Service name (e.g., "github", "gitlab")
{{title}} - Event title or subject
{{description}} - Event description or message
{{author}} - User who triggered the event
{{url}} - Link to the event
{{severity}} - Event severity (info, warning, error)
Example Custom Format
🔔 {{event}} from {{service}}: {{title}} by {{author}}Use this format to customize how webhook events appear in your Discord channel.
Event Filtering & Configuration
Control which events trigger notifications:
Filter by Event Type
Only receive notifications for specific event types.
/webhook configure github-alerts events "push,pull_request"Filter by Severity
Only alert for certain severity levels.
/webhook configure alerts severity "error,critical"Filter by Pattern
Match webhooks against specific text patterns or keywords.
/webhook configure github-alerts pattern "production"Security Considerations
Keep your webhooks secure with these practices:
Webhook URLs are unique and act as authentication tokens - keep them secret
Never share webhook URLs in public channels or version control
Rotate webhook URLs regularly for sensitive integrations
Use event filtering to limit what data is sent through webhooks
Only configure webhooks in trusted Discord channels
Review webhook logs regularly for suspicious activity
Delete unused webhooks to reduce exposure
Advanced Features
Leverage powerful webhook features:
Activity Logs
View detailed logs of all events received by each webhook for troubleshooting and audit purposes.
Webhook Statistics
Monitor event counts, success rates, and activity trends for each webhook integration.
Test Events
Send test payloads to verify webhook configuration before going live.
Retry Logic
Automatic retries for failed webhook deliveries ensure no events are lost.
Tips & Best Practices
- • Give webhooks descriptive names to easily identify their purpose
- • Use separate webhooks for different services or event types
- • Configure event filters to reduce notification noise
- • Customize message formats to match your team's preferences
- • Test webhooks with test events before relying on them
- • Monitor webhook logs for delivery issues or unexpected payloads
- • Rotate webhook URLs periodically for security-sensitive integrations
- • Use role mentions in webhook formats for high-priority events
Troubleshooting
Webhook not receiving events
Verify the webhook URL is correctly configured in the external service. Check that the notification channel is set. Review logs with `/webhook logs webhook-id`.
Events not formatted correctly
Check your custom message format template. Ensure you're using correct variable names like {{title}} and {{author}}.
Webhook URL exposed or compromised
Delete the webhook immediately with `/webhook delete webhook-id` and create a new one to generate a fresh URL.
Too many notifications
Use event filtering to limit which events trigger notifications. Configure severity or pattern filters to reduce noise.
Notification channel not receiving messages
Ensure the SYNTHET bot has Send Messages permission in the channel. Verify the channel is set with `/webhook set-channel webhook-id #channel`.