Notifications

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 listView 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-alerts

Step 2: Get Webhook URL

Retrieve the webhook URL to configure in your external service.

/webhook info github-alerts

Step 3: Configure Destination

Set which Discord channel receives webhook notifications.

/webhook set-channel github-alerts #notifications

Step 4: Test the Webhook

Send a test event to verify everything is working correctly.

/webhook test github-alerts

Popular 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`.