You’ll need two separate webhooks: one for contact form submissions and another for URL reports. Both follow the same creation process but serve different purposes.
Prerequisites
Before creating webhooks, ensure you have:- A Discord server where you have administrator permissions
- Two dedicated channels for notifications (recommended)
Create separate channels like
#contact-forms
and #url-reports
to organize different types of notifications.Creating the Contact Form Webhook
This webhook will receive all contact form submissions from your Spoo.me instance.1
Navigate to Server Settings
- Open Discord and go to your server
- Right-click on the channel where you want contact form notifications
- Select “Edit Channel” from the context menu
Choose a channel that’s easily accessible but not too busy, as you’ll receive notifications here.
2
Access Integrations
- In the channel settings, click on the “Integrations” tab in the sidebar
- Look for the “Webhooks” section
- Click “Create Webhook” or “New Webhook”

3
Configure the Webhook
- Name: Set the webhook name to “Contact Form” or “Spoo.me Contact”
- Avatar: Upload a custom avatar or use the default
- Channel: Ensure it’s pointing to the correct channel
- Click “Copy Webhook URL” to get the webhook URL
Important: Save this webhook URL immediately. You won’t be able to see it again once you close this dialog.
4
Save the Webhook URL
Your contact form webhook URL should look like this:Save this as your
CONTACT_WEBHOOK
environment variable.Test the webhook by clicking “Test Webhook” in the Discord interface to ensure it’s working.
Creating the URL Report Webhook
This webhook will receive notifications when users report potentially harmful or inappropriate URLs.1
Select Report Channel
- Navigate to the channel designated for URL reports (e.g.,
#url-reports
) - Right-click on the channel
- Select “Edit Channel”
Consider making this channel private or restricted to moderators only, as URL reports may contain sensitive information.
2
Create Second Webhook
- Go to “Integrations” → “Webhooks”
- Click “Create Webhook”
- Name: Set to “URL Reports” or “Spoo.me Reports”
- Channel: Ensure it points to your reports channel
- Click “Copy Webhook URL”
This webhook will send structured messages containing details about reported URLs, including the original URL, reporter information, and reason for reporting.
3
Save the Report Webhook URL
Your URL report webhook URL format is identical to the contact webhook:Save this as your
URL_REPORT_WEBHOOK
environment variable.Environment Variables Setup
Once you have both webhook URLs, you’ll need to configure them as environment variables in your deployment:Security Note: These webhook URLs are sensitive credentials. Never commit them to version control or share them publicly. Anyone with access to these URLs can send messages to your Discord channels.
Webhook Message Examples
Here’s what notifications will look like in your Discord channels:Contact Form Notifications
When someone submits a contact form, you’ll receive a message like:URL Report Notifications
When someone reports a URL, you’ll receive:Testing Your Webhooks
Before deploying your Spoo.me instance, test both webhooks to ensure they’re working correctly:- Using curl
- Using Discord Interface
Test your contact webhook:Test your report webhook:
If you see test messages in both channels, your webhooks are properly configured and ready to use.
Alternative Webhook Services (Coming Soon
)
While Discord is the most common choice, you can also use other webhook services:
Slack Webhooks
Slack Webhooks
Create incoming webhooks in Slack:
- Go to your Slack workspace settings
- Navigate to Apps → Custom Integrations → Incoming WebHooks
- Choose a channel and create the webhook
- Use the provided webhook URL in your environment variables
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Microsoft Teams
Microsoft Teams
Set up Teams webhooks:
- Go to your Teams channel
- Click ”⋯” → Connectors
- Find “Incoming Webhook” and configure
- Copy the webhook URL for your environment variables
https://outlook.office.com/webhook/...
Custom Webhook Endpoint
Custom Webhook Endpoint
You can also create your own webhook endpoint:
- Set up a server endpoint that accepts POST requests
- Process the JSON payload containing form data
- Implement your own notification logic (email, SMS, etc.)
Security Best Practices
Follow these security practices when handling webhooks:
- Restrict webhook URLs: Only share them with trusted team members
- Use HTTPS: Ensure all webhook URLs use HTTPS for encrypted transmission
- Rotate regularly: Consider regenerating webhook URLs periodically
- Monitor usage: Keep an eye on webhook activity for unusual patterns
- Validate payloads: If using custom endpoints, validate incoming data
Troubleshooting
Webhook not receiving messages
Webhook not receiving messages
- Verify the webhook URL is correctly copied
- Check that the Discord channel still exists
- Ensure the webhook hasn’t been deleted
- Test with a simple curl command to isolate the issue
Messages appear in wrong channel
Messages appear in wrong channel
- Double-check which channel each webhook is configured for
- Verify you’re using the correct webhook URL for each purpose
- Regenerate the webhook if needed and update your environment variables
Rate limiting issues
Rate limiting issues
- Discord webhooks are rate-limited to 30 requests per minute
- Implement queuing if expecting high volume of notifications
- Consider batching multiple reports into single messages