Webhooks
Send form data to any URL endpoint via HTTP POST. Webhooks enable you to connect Web3Forms with thousands of applications and services, creating powerful automation workflows without writing code.
What are Webhooks?
Webhooks allow you to automatically send form submission data to any HTTP endpoint in real-time. This opens up endless possibilities for integrating with:
Automation Platforms: Zapier, Make (Integromat), n8n, Pipedream
CRM Systems: Salesforce, HubSpot, Pipedrive
Email Marketing: Mailchimp, ConvertKit, SendGrid
Project Management: Asana, Trello, ClickUp
Databases: Airtable, MongoDB, PostgreSQL
Communication: Slack, Discord, Microsoft Teams
Custom Applications: Your own backend services
Key Features
✅ Universal Compatibility: Works with any service that accepts HTTP POST requests
✅ Real-time Delivery: Data is sent immediately after form submission
✅ Secure Transmission: Data is sent over HTTPS
✅ Automatic Retry: Failed webhooks are retried automatically
✅ Clean Payload: Sensitive data is removed before sending
Setup Instructions
Step 1: Create a Webhook URL
Webhook URLs can be created using various platforms:
Recommended Platforms:
Zapier - Connect with 5,000+ apps (Commercial)
Make (formerly Integromat) - Advanced automation (Free tier available)
Pipedream - Developer-friendly automation (Generous free plan)
n8n - Open-source automation (Self-hosted or cloud)
We recommend Pipedream if you're technical, as it offers a generous free plan and provides excellent debugging tools.
Step 2: Access the Integrations Tab
Log in to your Web3Forms Dashboard
Select the form you want to connect
Navigate to the Integrations tab in your form settings
Step 3: Enable Webhook Integration
Find the Webhook integration card
Toggle the switch to enable the integration
Paste your webhook URL in the Webhook URL field
Click the Save Settings button
[SCREENSHOT PLACEHOLDER: Webhook integration card in Web3Forms dashboard]

Webhook Payload Structure
Web3Forms sends form data as a JSON payload via HTTP POST request. The payload includes all form fields submitted by the user.
Request Headers
Example Payload
What's Included
All form fields: Any field you include in your form (name, email, message, etc.)
Custom fields: Any additional fields you've added
Metadata fields: Subject, from_name, and other configuration fields
What's Excluded
For security and privacy, the following data is removed before sending:
access_key- Your Web3Forms access keyapikey- Legacy API key fieldattachment- File attachments (separate handling)botcheck- Anti-spam honeypot fieldrecaptcha_response- CAPTCHA tokens
Use Cases
CRM Integration
Automatically add leads to your CRM:
Create a webhook in Zapier or Make
Connect to your CRM (Salesforce, HubSpot, etc.)
Map form fields to CRM fields
Leads are added automatically
Database Storage
Store submissions in a database:
Send to Airtable for a visual database
Use Pipedream to insert into PostgreSQL or MongoDB
Create custom data warehousing solutions
Team Notifications
Send notifications to multiple platforms:
Slack channels for team awareness
Discord servers for community projects
Microsoft Teams for enterprise environments
Email notifications to multiple recipients
Email Marketing
Add subscribers to your email list:
Connect to Mailchimp, ConvertKit, or SendGrid
Automatically create contact lists
Trigger welcome email sequences
Custom Processing
Build custom workflows:
Validate and enrich data
Perform background processing
Trigger custom business logic
Integrate with proprietary systems
Popular Integrations
Zapier
Connect Web3Forms with 5,000+ apps using Zapier:
Create a new Zap in Zapier
Choose Webhooks by Zapier as the trigger
Select Catch Hook
Copy the webhook URL
Paste it in Web3Forms webhook settings
Test and configure your automation
Learn more about Zapier integration →
Make (Integromat)
Build complex automation scenarios:
Create a new Scenario in Make
Add a Webhook module as the trigger
Choose Custom webhook
Copy the webhook URL
Add it to Web3Forms
Build your automation workflow
Learn more about Make integration →
Pipedream
Developer-friendly automation with code:
Create a new Workflow in Pipedream
Select HTTP / Webhook as the trigger
Copy the endpoint URL
Add it to Web3Forms
Use pre-built actions or write custom Node.js code
n8n
Open-source workflow automation:
Create a new Workflow in n8n
Add a Webhook node
Configure the webhook path
Copy the webhook URL
Connect it to Web3Forms
Build your self-hosted automation
Testing Your Webhook
Test in Web3Forms
Submit a test entry through your form
Check if the webhook was triggered
Verify data arrived at your endpoint
Debug with Webhook Testing Tools
Use these tools to inspect webhook payloads:
Webhook.site - Free webhook testing
RequestBin - Inspect HTTP requests
Pipedream RequestBin - Developer-focused debugging
Check Delivery Status
Monitor webhook delivery in your automation platform:
Check execution logs in Zapier/Make/Pipedream
Review error messages if delivery fails
Verify payload structure matches expectations
Troubleshooting
Webhook Not Triggering
Verify URL: Ensure the webhook URL is correct and accessible
Check Status: Make sure the integration is enabled (toggle on)
Test Endpoint: Use webhook testing tools to verify your endpoint works
Check Logs: Review logs in your automation platform
Firewall: Ensure your endpoint isn't blocked by a firewall
Invalid URL Error
Webhook URL must start with
https://URL must be publicly accessible
Don't include spaces or invalid characters
Test the URL in a browser or curl command
Data Not Received
Check the payload structure in your automation platform
Verify field names match what you expect
Ensure your endpoint is processing JSON correctly
Check for rate limits on your receiving service
Timeout Errors
Webhook endpoints must respond within 30 seconds
If processing takes longer, return 200 OK immediately
Process data asynchronously in the background
Advanced Configuration
Multiple Webhooks
To send data to multiple endpoints:
Use one webhook URL in Web3Forms
Configure your automation platform to forward to multiple services
Example: Zapier → Send to both Slack and Airtable
Data Transformation
Transform data before sending to your destination:
Use automation platforms to map and modify fields
Filter submissions based on conditions
Enrich data with external API calls
Format data for specific integrations
Conditional Logic
Send to different endpoints based on form data:
Use automation platforms to add conditional routing
Example: Send enterprise leads to sales team, others to support
Filter spam or test submissions
Error Handling
Handle webhook failures gracefully:
Set up retry logic in your automation platform
Create error notifications for failed webhooks
Log failures for debugging
Implement fallback endpoints
Security Best Practices
Protect Your Webhook URLs
Never share webhook URLs publicly
Regenerate URLs if compromised
Use URL parameters for authentication if supported
Monitor webhook activity for unusual patterns
Validate Incoming Data
In your webhook handler:
Validate data types and formats
Sanitize input to prevent injection attacks
Check for required fields
Implement rate limiting
Use HTTPS
Always use HTTPS endpoints
Never use HTTP for webhooks
Ensure SSL certificates are valid
Related Integrations
Google Sheets Integration - Direct spreadsheet sync
Slack Integration - Team notifications
Discord Integration - Community notifications
Telegram Integration - Mobile notifications
Additional Resources
Need Help?
If you encounter any issues with webhooks:
Email [email protected]
Check the documentation of your automation platform
Last updated
Was this helpful?