Real-time data delivery to any service you use #
Webhooks transform your forms into powerful automation triggers that connect seamlessly with your entire tech stack. The moment someone submits a form, webhooks instantly deliver that data to any application you choose—no manual exports, no delays, no complicated middleware. You get real-time notifications in Slack, automatic lead entries in your CRM, instant ticket creation in your support system, and updates across all your business tools simultaneously.
This direct connection eliminates data silos and manual data entry while ensuring your team always works with the freshest information. Whether you’re routing support requests, tracking sales leads, or triggering complex workflows, webhooks give you the flexibility to build exactly the automation you need. Connect to thousands of popular services or your own custom applications—all with a simple URL configuration.
How Webhooks Work in FORMEPIC #
When someone submits your form, FORMEPIC automatically sends an HTTP POST request to your specified webhook URL containing all the submission data in JSON format. Your receiving application processes this data and triggers whatever actions you’ve configured—creating records, sending notifications, updating systems, and more.
The Webhook Workflow #
- Form Submission: User completes and submits your form
- Data Processing: FORMEPIC processes and validates the submission
- Webhook Trigger: System prepares JSON payload with submission data
- HTTP Request: FORMEPIC sends POST/PUT/PATCH request to your webhook URL
- Delivery Confirmation: Your endpoint receives data and returns status code
- Retry Logic: If delivery fails, automatic retries occur based on your configuration
- Logging: Execution details are recorded for monitoring and troubleshooting
Webhook Payload Structure #
Each webhook delivers a JSON payload containing:
Submission Data:
- Form ID and title
- Submission timestamp
- Unique submission ID
- All form field values (key-value pairs)
- IP address and user agent
- Referrer URL
- Custom metadata
Example Payload:
{
“form_id”: “abc123”,
“form_title”: “Contact Form”,
“submission_id”: “sub_456xyz”,
“submitted_at”: “2025-01-15T10:30:00Z”,
“fields”: {
“name”: “John Doe”,
“email”: “john@example.com”,
“message”: “Interested in your services”
},
“metadata”: {
“ip_address”: “192.168.1.1”,
“user_agent”: “Mozilla/5.0…”,
“referrer”: “https://example.com”
}
}
Popular Apps & Services You Can Connect #
Webhooks enable you to connect FORMEPIC with virtually any online service. Here are some popular integrations:
Business & Productivity #
- Slack: Instant team notifications for new submissions
- Microsoft Teams: Channel alerts and workflow triggers
- Google Workspace: Sheets updates, Calendar events, Drive file creation
- Notion: Automatic database entries from form data
- Airtable: Real-time base updates and record creation
CRM & Sales #
- Salesforce: Lead capture and opportunity tracking
- HubSpot: Contact creation and deal management
- Pipedrive: Deal creation and pipeline updates
- Zoho CRM: Lead management and sales automation
- Copper: Relationship management and sales tracking
Marketing Automation #
- Mailchimp: Subscriber management and campaign triggers
- ActiveCampaign: Contact automation and list management
- ConvertKit: Subscriber tagging and sequence triggers
- Drip: E-commerce automation and customer journeys
- Klaviyo: E-commerce marketing and personalization
Project Management #
- Asana: Task and project creation from submissions
- Trello: Card creation and list management
- Monday.com: Board updates and workflow automation
- ClickUp: Task management and team collaboration
- Jira: Issue tracking and project updates
Customer Support #
- Zendesk: Ticket creation and customer management
- Freshdesk: Support ticket automation
- Help Scout: Customer conversation management
- Intercom: Customer messaging and support
- Front: Shared inbox and team collaboration
Analytics & Tracking #
- Google Analytics: Event tracking and conversion monitoring
- Mixpanel: User behavior analytics
- Segment: Customer data platform integration
- Amplitude: Product analytics and insights
Developer Tools #
- GitHub: Issue creation and repository updates
- GitLab: Project management and CI/CD triggers
- Custom APIs: Your own applications and services
- Zapier: Connect to 5,000+ apps without coding
- Make (Integromat): Advanced workflow automation
- n8n: Self-hosted workflow automation
And many more services that accept webhook data—if it has an API endpoint, you can connect it!
How to Set Up Webhooks #
Step 1: Access Webhook Configuration #
From Form Builder:
- Open your form in the Form Builder
- In the right sidebar, locate the Integrations panel
- Click “Add Integration” button
- Select “Webhooks” from the integration library
From Integrations Page:
- Navigate to Dashboard > Integrations
- Find “Webhooks” in the integration list
- Click on the Webhooks card
- Click “Add Webhook” or “Create Webhook”
Step 2: Configure Basic Settings #
- Select Form:
- Choose which form should trigger this webhook
- Each webhook is tied to a specific form
- Name Your Webhook:
- Enter a descriptive name (e.g., “CRM Integration”, “Slack Notifications”)
- Use clear names to identify webhooks easily in logs
- Good names help with troubleshooting and management
- Enter Webhook URL:
- Provide the complete endpoint URL (must start with https:// or http://)
- Example: https://api.yourservice.com/webhooks/formepic
- URL must be publicly accessible
- Endpoint should be ready to receive POST requests
Step 3: Configure HTTP Method #
Choose the HTTP method your endpoint expects:
POST (Default):
- Most common method for webhooks
- Creates new resources
- Standard for most integrations
PUT:
- Updates existing resources
- Requires resource identifier in URL
- Idempotent (safe to retry)
PATCH:
- Partial updates to existing resources
- Modifies specific fields
- More efficient than PUT for small updates
Step 4: Add Custom Headers (Optional) #
Configure authentication and custom headers in JSON format:
Common Header Examples:
Basic Authentication:
{
“Authorization”: “Bearer your_api_token_here”,
“Content-Type”: “application/json”
}
API Key Authentication:
{
“X-API-Key”: “your_api_key_here”,
“Content-Type”: “application/json”
}
Custom Headers:
{
“Authorization”: “Bearer token123”,
“X-Custom-Header”: “custom_value”,
“X-Source”: “formepic”,
“Content-Type”: “application/json”
}
Important:
- Headers must be valid JSON format
- Keys and values are case-sensitive
- Include authentication headers if required by your endpoint
- Content-Type is automatically set to application/json if not specified
Step 5: Configure Retry Logic #
Set up automatic retry attempts for failed deliveries:
Retry Attempts:
- Number of times to retry failed deliveries (0-10)
- Default: 3 attempts
- Set to 0 to disable retries
- More retries increase delivery success but add delay
Retry Delay:
- Time in seconds between retry attempts
- Default: 60 seconds
- Minimum: 0 seconds (immediate retry)
- Higher delays reduce server load but increase total delivery time
Retry Strategy:
- Retries occur for timeouts and 5xx server errors
- 4xx client errors (bad request, authentication) won’t retry
- Each retry is logged individually
- Final status shows total attempts made
Step 6: Enable and Save #
- Ensure the Enabled toggle is ON
- Review all settings for accuracy
- Click Save to create the webhook
- Webhook is now active and ready to receive submissions
Managing Webhooks #
Viewing Active Webhooks #
In Form Builder:
- Open form in builder
- Navigate to Integrations panel
- See all configured webhooks listed
- View status (Active/Disabled), last updated time, and quick actions
In Integrations Dashboard:
- Go to Dashboard > Integrations
- Click on Webhooks integration
- See all webhooks across all forms
- Filter by form, status, or service type
Webhook Card Information #
Each webhook displays:
- Name: Custom webhook name you provided
- Status Badge: Active (green) or Disabled (gray)
- Service Type: Integration service if applicable
- URL: Endpoint receiving the data (clickable to open in new tab)
- Method: HTTP method (POST/PUT/PATCH)
- Retry Attempts: Number of configured retries
- Last Updated: Time since last modification
Enabling/Disabling Webhooks #
To Disable:
- Toggle the switch to OFF on the webhook card
- Webhook stops sending data immediately
- Configuration is preserved
- Can be re-enabled anytime
To Enable:
- Toggle the switch to ON
- Webhook begins sending data on new submissions
- Previous configuration is used
Editing Webhooks #
- Click “Edit” button on webhook card
- Make desired changes to any setting
- Click Save to update
- Changes apply to new submissions immediately
- Existing queued retries use old configuration
Deleting Webhooks #
- Click “Delete” button on webhook card
- Confirm deletion in the dialog
- Webhook is permanently removed
- Deletion cannot be undone
- Consider disabling instead if you might need it again
Webhook Execution Logs #
Monitor webhook delivery:
- View success and failure status for each submission
- See response codes and error messages
- Track retry attempts and outcomes
- Export logs for analysis
- Filter by date range or status
Testing Webhooks #
Before Going Live #
1. Use Webhook Testing Tools:
- Webhook.site: Free tool to inspect webhook payloads
- RequestBin: Collect and inspect HTTP requests
- Postman: Test webhook endpoints directly
2. Submit Test Form Entry:
- Fill out and submit a test entry
- Check webhook execution logs
- Verify data arrived at endpoint
- Confirm data format is correct
3. Verify Authentication:
- Test with incorrect credentials to ensure security
- Confirm authentication headers are working
- Check that unauthorized requests are rejected
4. Test Retry Logic:
- Temporarily break your endpoint
- Submit a form entry
- Verify retry attempts occur
- Check retry delay timing
- Restore endpoint and confirm eventual success
Common Test Scenarios #
Success Test:
- Submit form with complete data
- Verify 200-299 response code
- Confirm data appears correctly in destination
Failure Test:
- Configure invalid URL temporarily
- Submit form entry
- Verify retry attempts occur
- Check error logging is accurate
Authentication Test:
- Remove authentication headers temporarily
- Submit form entry
- Verify 401/403 response
- Restore headers and retest
Large Payload Test:
- Submit form with maximum field data
- Confirm large payloads process correctly
- Check for timeout issues
- Verify all data arrives intact
Webhook Security Best Practices #
Use HTTPS:
- Always use https:// URLs, never http://
- Ensures data is encrypted in transit
- Protects sensitive form data
- Required for compliance standards
Implement Authentication:
- Use API keys, tokens, or OAuth
- Include authentication in headers
- Rotate keys regularly
- Never expose keys in URLs
Validate Webhook Source:
- Verify requests come from FORMEPIC
- Check signature headers if available
- Validate payload structure
- Reject malformed requests
IP Whitelisting:
- Restrict endpoint access to FORMEPIC IPs if possible
- Add firewall rules for additional security
- Monitor for unauthorized access attempts
Secure Your Endpoint:
- Use strong authentication
- Implement rate limiting
- Log all webhook requests
- Monitor for suspicious activity
Requirements #
- Form must be saved before configuring webhooks
- Webhook endpoint must be publicly accessible
- Endpoint should return appropriate HTTP status codes
- Valid SSL certificate required for HTTPS endpoints
- Endpoint should handle JSON payloads
Tips and Tricks #
- Use Descriptive Names: Make webhook identification easy with clear, specific names
- Test Before Launch: Always test webhooks with real submissions before sharing forms
- Monitor Regularly: Check webhook logs weekly to catch issues early
- Set Appropriate Retries: Balance between delivery success and performance
- Document Your Endpoints: Keep notes on what each webhook connects to
- Use Status Codes Correctly: Return 200-299 for success, appropriate error codes for failures
- Handle Retries Properly: Make endpoints idempotent to safely handle duplicate deliveries
- Log Incoming Data: Keep logs of webhook deliveries for troubleshooting
- Implement Timeouts: Set reasonable timeout limits on your endpoints
- Use Queue Systems: For complex processing, queue webhook data for async handling
- Test Failure Scenarios: Verify retry logic works by intentionally failing endpoints
- Keep URLs Simple: Avoid overly complex URLs with many parameters
Important Notes #
- Webhooks trigger after successful form submission, not during preview
- Failed webhook deliveries don’t prevent form submission success
- Retries occur automatically based on your configuration
- Each webhook delivery is logged regardless of outcome
- Custom headers must be valid JSON format
- Authentication headers are sent with every request including retries
- Webhook execution happens asynchronously—submission confirmation isn’t delayed
- Disabling a webhook stops deliveries immediately but preserves configuration
- Webhooks can be configured for forms, surveys, quizzes, and polls
- Rate limiting may apply to high-volume forms
- Execution order for multiple webhooks is based on creation date
Common Issues & Troubleshooting #
Webhook Not Firing #
Issue: Form submissions don’t trigger webhook
Solutions:
- Verify webhook is enabled (toggle switch ON)
- Confirm form is saved (webhooks don’t work on unsaved forms)
- Check that you’re submitting the correct form
- Review webhook configuration for errors
- Test with a fresh form submission, not preview
401 or 403 Authentication Errors #
Issue: Webhook receives unauthorized errors
Solutions:
- Verify authentication headers are correct
- Check API key or token hasn’t expired
- Ensure headers are in valid JSON format
- Test credentials directly with the API
- Confirm endpoint expects the authentication method used
Timeout Errors #
Issue: Webhook delivery times out
Solutions:
- Check endpoint response time—should respond within 30 seconds
- Optimize endpoint processing for faster responses
- Consider queuing complex processing for async handling
- Verify endpoint server is online and responsive
- Check for network connectivity issues
SSL Certificate Errors #
Issue: HTTPS webhook fails with SSL errors
Solutions:
- Verify SSL certificate is valid and not expired
- Check certificate chain is complete
- Ensure certificate matches the domain
- Test endpoint with SSL verification tools
- Use trusted certificate authority
Data Not Formatted Correctly #
Issue: Webhook receives data but format is wrong
Solutions:
- Review webhook payload structure documentation
- Check that endpoint expects JSON format
- Verify Content-Type header is set correctly
- Test with webhook testing tools to inspect payload
- Ensure field names match your expectations
Retries Not Working #
Issue: Failed webhooks aren’t retrying
Solutions:
- Verify retry attempts are set above 0
- Check retry delay configuration
- Review error type—4xx errors don’t retry
- Confirm webhook is still enabled during retry period
- Check logs to see if retries are occurring
Multiple Webhooks Causing Issues #
Issue: Having problems with multiple webhooks configured
Solutions:
- Check execution order—newer webhooks fire after older ones
- Verify each webhook URL is unique and correct
- Test webhooks individually by temporarily disabling others
- Check if endpoints can handle concurrent requests
- Review rate limiting on destination services
Webhook Suddenly Stopped Working #
Issue: Previously working webhook now fails
Solutions:
- Check if endpoint URL changed or is offline
- Verify API credentials didn’t expire
- Review endpoint server logs for errors
- Check if endpoint API version or requirements changed
- Test endpoint directly to isolate the issue
- Review recent changes to form fields or structure
Using the AI Assistant for Webhooks #
Need help with webhook configuration? FORMEPIC’s AI Assistant can guide you through the process:
Configuration Assistance:
- Ask the AI to help configure webhook settings
- Get recommendations for header configurations
- Understand payload structure and formatting
Troubleshooting Support:
- Describe your webhook issue to get solutions
- Get help interpreting error messages
- Receive guidance on testing and debugging
Integration Guidance:
- Ask about specific service integrations
- Get advice on authentication methods
- Learn best practices for your use case
Example AI Prompts:
- “Help me set up a webhook to send data to Slack”
- “Why is my webhook returning a 401 error?”
- “What headers do I need for authenticating with [service]?”
- “How do I format the payload for [specific API]?”
- “My webhook isn’t firing, what should I check?”
The AI Assistant can guide you through the entire webhook setup process and help resolve any issues you encounter.
