Discord webhooks allow your Spoo.me instance to send notifications directly to your Discord server when users submit contact forms or report URLs. This integration keeps you informed about user interactions and potential issues.

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

  1. Open Discord and go to your server
  2. Right-click on the channel where you want contact form notifications
  3. 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

  1. In the channel settings, click on the “Integrations” tab in the sidebar
  2. Look for the “Webhooks” section
  3. Click “Create Webhook” or “New Webhook”
3

Configure the Webhook

  1. Name: Set the webhook name to “Contact Form” or “Spoo.me Contact”
  2. Avatar: Upload a custom avatar or use the default
  3. Channel: Ensure it’s pointing to the correct channel
  4. 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:

https://discord.com/api/webhooks/1234567890123456789/AbCdEfGhIjKlMnOpQrStUvWxYz1234567890AbCdEfGhIjKlMnOpQrStUvWxYz

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

  1. Navigate to the channel designated for URL reports (e.g., #url-reports)
  2. Right-click on the channel
  3. Select “Edit Channel”

Consider making this channel private or restricted to moderators only, as URL reports may contain sensitive information.

2

Create Second Webhook

  1. Go to “Integrations”“Webhooks”
  2. Click “Create Webhook”
  3. Name: Set to “URL Reports” or “Spoo.me Reports”
  4. Channel: Ensure it points to your reports channel
  5. 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:

https://discord.com/api/webhooks/0987654321098765432/ZyXwVuTsRqPoNmLkJiHgFeDcBa0987654321ZyXwVuTsRqPoNmLkJiHgFeDcBa

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:

# Contact form webhook
CONTACT_WEBHOOK=https://discord.com/api/webhooks/1234567890123456789/AbCdEfGhIjKlMnOpQrStUvWxYz1234567890AbCdEfGhIjKlMnOpQrStUvWxYz

# URL report webhook  
URL_REPORT_WEBHOOK=https://discord.com/api/webhooks/0987654321098765432/ZyXwVuTsRqPoNmLkJiHgFeDcBa0987654321ZyXwVuTsRqPoNmLkJiHgFeDcBa

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:

📧 **New Contact Form Submission**

**Name:** John Doe
**Email:** [email protected]
**Subject:** Feature Request
**Message:** Hi, I'd love to see analytics export functionality added to the service. Is this something you're considering?

**IP Address:** 192.168.1.100

URL Report Notifications

When someone reports a URL, you’ll receive:

🚨 **URL Reported**

**Reported URL:** https://spoo.me/abc123 → https://suspicious-site.com
**Reason:** Phishing attempt

**Reporter IP:** 203.0.113.50

Testing Your Webhooks

Before deploying your Spoo.me instance, test both webhooks to ensure they’re working correctly:

Test your contact webhook:

curl -X POST "YOUR_CONTACT_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "🧪 **Test Message**\n\nThis is a test of the contact form webhook. If you see this message, the webhook is configured correctly!"
  }'

Test your report webhook:

curl -X POST "YOUR_URL_REPORT_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "🧪 **Test Message**\n\nThis is a test of the URL report webhook. If you see this message, the webhook is configured correctly!"
  }'

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:

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

Next Steps

With your webhooks configured, you’re ready to proceed with deployment: