Webhook Integration FAQs #
Common questions about webhook integrations, connecting custom forms, troubleshooting webhook issues, and managing external data sources.
General Questions #
Q: What is a webhook and how does it work in PloverCRM? #
A: A webhook is an automated way for external services to send data to PloverCRM in real-time.
How It Works:
<span class="hljs-symbol">External</span> Service → HTTP POST Request → PloverCRM Webhook Endpoint → <span class="hljs-meta">Field</span> Mapping → Contact Created/Updated
Process Flow:
- User submits form on external service (Leadpages, custom form, etc.)
- External service sends HTTP POST request with form data
- PloverCRM receives request at webhook endpoint
- Data is validated and mapped to contact fields
- Contact is created or updated in CRM
- Lists, tags, and automation are triggered
Use Cases:
- Custom HTML forms without form builder plugins
- Third-party lead generation services (Leadpages, Unbounce)
- External CRM or marketing platforms
- Custom applications and scripts
- API integrations from other systems
Benefits:
- Real-time lead capture
- No manual data entry
- Automatic contact creation
- Works with any service that supports webhooks
- Flexible field mapping
Related: Webhook Integrations
Q: What’s the difference between webhook integrations and form plugin integrations? #
A: Different integration methods for different scenarios:
Form Plugin Integrations (Contact Form 7, Gravity Forms, etc.):
- Built-in, native integration
- Automatic field detection
- Visual field mapping interface
- No coding required
- Works only with supported form plugins
Webhook Integrations:
- Universal integration method
- Works with any service that can send HTTP POST
- Requires webhook URL configuration
- Manual field mapping
- More flexible but requires technical setup
When to Use Each:
| Use Form Plugin Integration | Use Webhook Integration |
|---|---|
| Using supported form plugin | Using custom HTML forms |
| Want visual setup | Need maximum flexibility |
| No coding knowledge | Comfortable with JSON/HTTP |
| WordPress-based forms | External services (Leadpages, etc.) |
| Quick setup needed | Custom applications |
Example Scenarios:
- Form Plugin: Contact Form 7 on your WordPress site → Use Contact Form 7 integration
- Webhook: Leadpages landing page → Use webhook integration
- Webhook: Custom React form → Use webhook integration
- Form Plugin: Gravity Forms → Use Gravity Forms integration
Related: Form Integrations Overview
Q: Do I need technical knowledge to set up webhooks? #
A: Basic technical knowledge is helpful but not required:
What You Need to Know:
- Basic: How to copy/paste URLs
- Intermediate: Understanding of JSON format
- Advanced: HTTP requests and API concepts (for troubleshooting)
Setup Difficulty Levels:
Easy (No Coding):
- Services with webhook UI (Zapier, Make)
- Copy webhook URL from PloverCRM
- Paste into external service
- Test and verify
Moderate (Some Technical):
- Custom HTML forms with JavaScript
- Understanding JSON payload structure
- Basic field mapping concepts
- Testing with tools like Postman
Advanced (Developer):
- Custom applications
- Complex data transformations
- Authentication implementation
- Error handling and retry logic
Help Available:
- PloverCRM documentation with examples
- Pre-built code snippets
- Support team assistance
- Community forums
Related: Webhook Integrations
Setup and Configuration #
Q: How do I get my webhook URL? #
A: Webhook URL is available in PloverCRM:
Steps:
- Go to PloverCRM → Data Sources
- Navigate to Webhooks tab
- Your webhook URL is displayed
- Click Copy button to copy URL
Using the URL:
- Paste into external service webhook configuration
- Use in custom form settings
- Include in integration setup
- Test with external services
Related: Webhook Integrations
Q: How do I create a webhook integration? #
A: Step-by-step integration setup:
Step 1: Get Webhook URL
- Go to PloverCRM → Data Sources → Webhooks
- Copy webhook URL
Step 2: Create Integration
- Click Add New Integration
- Category: Webhooks
- Provider: Generic Webhook
- Name: Descriptive name (e.g., “Leadpages Contact Form”)
- Source ID: Unique identifier (e.g.,
leadpages_contact_form)
Step 3: Configure Field Mappings Map data fields from your external service to CRM fields:
- Email field (Required)
- First Name
- Last Name
- Phone
- Company (custom field)
- Any other custom fields
Step 4: Configure Settings
- Lists: Select lists to add contacts to
- Tags: Select tags to apply
- Stage: Set initial stage
- Owner: Assign owner (optional)
- Duplicate Handling: Update Existing (recommended)
Step 5: Save and Test
- Click Save Integration
- Send test webhook
- Verify contact created
- Check field mappings
Related: Webhook Integrations
Q: What is a source_id and why do I need it? #
A: The source_id identifies which integration should process the webhook:
Purpose:
- Routes webhook data to correct integration
- Allows multiple webhook integrations
- Distinguishes between different forms/sources
- Required for webhook processing
How to Set It:
When creating your webhook integration, you’ll assign a unique source_id (like “leadpages_contact_form” or “custom_html_form”). This helps PloverCRM know which integration settings to use when processing the data.
Naming Guidelines:
- Use lowercase letters
- Use underscores (not spaces or hyphens)
- Be descriptive and unique
- Examples:
leadpages_contact_formcustom_html_form_homepagezapier_lead_captureexternal_crm_sync
Multiple Integrations:
You can have multiple webhook integrations, each with its own source_id. This allows you to process different forms or data sources with different settings (lists, tags, field mappings, etc.).
Related: Webhook Integrations
Q: What format should my webhook payload be in? #
A: PloverCRM accepts JSON format data from external services.
Required Fields:
source_id: Your integration identifieremail: Contact email address (required)
Optional Fields:
first_name: Contact first namelast_name: Contact last namephone: Phone numbercompany: Company name- Any custom fields you’ve created
Example Data:
A simple contact submission might include:
- source_id: “custom_form”
- email: “[email protected]”
- first_name: “Jane”
- last_name: “Smith”
- phone: “+1-555-0123”
- company: “Acme Corporation”
For Complex Data:
If your external service sends nested or structured data, you can map these fields in the integration settings using dot notation (e.g., “contact.email” or “user.name.first”).
Related: Webhook Integrations
Testing Webhooks #
Q: How do I test my webhook integration? #
A: Multiple testing methods available:
Method 1: Using External Service Test Function
Most services have a “Send Test” button:
- Use test mode if available
- Send a test submission
- Verify data reaches PloverCRM
Method 2: Using Webhook Testing Tools
- Go to https://webhook.site
- Copy the unique URL provided
- Configure as webhook destination in your external service
- Send test request
- View received data format
- Adjust format if needed
- Send to PloverCRM webhook
Method 3: Manual Test with Testing Tools
Use tools like Postman or similar to send test data directly to your webhook URL.
Verification Steps:
- Send test webhook
- Check for success response
- Go to PloverCRM → Contacts
- Search for test contact
- Verify all fields populated correctly
- Check lists and tags assigned
- Review integration logs
Related: Testing Integrations
Q: How do I view webhook logs? #
A: Integration logs track all webhook activity:
Access Logs:
- Go to PloverCRM → Data Sources
- Find your webhook integration
- Click View Logs
Log Information:
- Timestamp of webhook received
- Source ID
- Data received (summary)
- Processing result (success/error)
- Contact ID created/updated
- Error messages (if any)
Log Entry Example:
Successful submission:
- Date/Time: 2026-02-04 10:30:15
- Source: leadpages_contact_form
- Email: [email protected]
- Result: Contact created (ID: 456)
Error example:
- Date/Time: 2026-02-04 10:35:22
- Source: custom_form
- Error: Email field is required
- Data: Missing email field
Log Retention:
- Logs kept for 30 days
- Can be exported for longer retention
- Automatically cleaned up after 30 days
Troubleshooting with Logs:
- Check if webhook was received
- Verify source_id matches
- Review data structure
- Identify error messages
- Fix issues and retry
Related: Integration Logs
Troubleshooting #
Q: Webhook not receiving data. What should I check? #
A: Systematic troubleshooting steps:
1. Verify Webhook URL
- Check URL is correct (no typos)
- Ensure using HTTPS (not HTTP)
- Verify domain is accessible
- Test URL accessibility
2. Check WordPress REST API
Test if REST API is enabled on your WordPress site. Your hosting provider or WordPress administrator can help verify this.
3. Verify Firewall/Security
- Check if firewall blocking requests
- Verify security plugin not blocking REST API
- Whitelist webhook endpoint if needed
- Check server security rules
4. Test Webhook Manually
Use a webhook testing tool or the external service’s test function to send a test request.
5. Review Integration Logs
- Check if webhook was received
- Look for error messages
- Verify source_id matches
6. Check External Service Configuration
- Verify webhook URL configured correctly
- Check if service is sending webhooks
- Review service’s webhook logs
- Test with service’s test function
Common Issues:
- Wrong URL (typo or old URL)
- HTTP instead of HTTPS
- Firewall blocking requests
- Security plugin blocking REST API
- External service not sending webhooks
- source_id mismatch
Related: Troubleshooting Integrations
Q: Contact not created even though webhook was received. Why? #
A: Check these common causes:
1. Missing Email Field
- Email is required for contact creation
- Check payload includes “email” field
- Verify field mapping includes email
2. source_id Mismatch
- Payload source_id must match integration source_id
- Check for typos or case sensitivity
- Verify integration is active
3. Invalid Email Format
- Email must be valid format ([email protected])
- Check for spaces or special characters
- Verify email validation rules
4. Duplicate Handling
- If “Skip if Exists” and contact exists, skipped
- Change to “Update Existing” mode
- Check if contact already in CRM
5. Permission Issues
- Integration user may lack create permission
- Check role permissions
- Verify CRM access
6. Field Mapping Errors
- Required fields not mapped
- Invalid field values
- Data type mismatches
Debugging Steps:
- Check integration logs for errors
- Verify email field present and valid
- Test with minimal payload (email only)
- Check duplicate handling setting
- Review field mappings
- Test with different email address
Related: Troubleshooting Integrations
Q: Some fields are not populating. What’s wrong? #
A: Field mapping troubleshooting:
1. Verify Field Mapping
- Check field is mapped in integration settings
- Verify field name matches exactly
- Field names are case-sensitive
2. Check Data Structure
- Review actual data in logs
- Verify field is present in the data
- Check for nested fields (use dot notation if needed)
3. Data Type Compatibility
- Text fields: Any string value
- Number fields: Numeric values only
- Date fields: YYYY-MM-DD format
- Dropdown fields: Must match existing options
4. Custom Field Issues
- Custom field must exist before import
- Field name/key must match exactly
- Check custom field permissions
5. Empty Values
- Check if external service sending empty values
- Verify field has data in source
- Review conditional logic in source form
Example Issue:
- Expected: Company field populated
- Data received: Has “company_name” field
- Mapping: Set to “company” field
- Issue: Field names don’t match
- Fix: Change mapping to “company_name” or change data field name
Testing:
- Send test webhook with known values
- Check integration logs for data received
- Verify field names match exactly
- Test each field individually
- Review field mapping configuration
Related: Field Mapping
Q: Getting 404 Not Found error. How do I fix it? #
A: 404 errors indicate WordPress can’t find the endpoint:
Solution 1: Flush Permalinks
- Go to Settings → Permalinks
- Click Save Changes (don’t change anything)
- This flushes rewrite rules
- Test webhook again
Solution 2: Verify REST API Enabled
<span class="hljs-comment"># Test REST API</span>
curl https:<span class="hljs-regexp">//y</span>oursite.com<span class="hljs-regexp">/wp-json/</span>
Should return JSON, not 404.
Solution 3: Check .htaccess
- Verify .htaccess file exists
- Check for correct WordPress rewrite rules
- Regenerate if needed
Solution 4: Check Permalink Structure
- Go to Settings → Permalinks
- Ensure not set to “Plain”
- Use “Post name” or other structure
- Save changes
Solution 5: Verify Plugin Active
- Check PloverCRM plugin is activated
- Deactivate and reactivate if needed
- Check for plugin conflicts
Solution 6: Server Configuration
- Verify mod_rewrite enabled (Apache)
- Check nginx configuration (Nginx)
- Contact hosting provider if needed
Test After Each Step:
curl https:<span class="hljs-regexp">//y</span>oursite.com<span class="hljs-regexp">/wp-json/</span>plover-crm<span class="hljs-regexp">/v1/</span>webhook<span class="hljs-regexp">/generic</span>
Related: Troubleshooting Integrations
Advanced Topics #
Q: Can I secure my webhook endpoint? #
A: Yes, several security options available:
Built-in Security:
- HTTPS encryption (always use HTTPS, not HTTP)
- Data validation on all incoming data
- WordPress security features
Additional Security Options:
1. HTTPS Only
- Always use HTTPS (not HTTP)
- Encrypts data in transit
- Prevents unauthorized access
2. IP Whitelisting
- Configure firewall to allow only specific IPs
- Useful for known external services
- Contact hosting provider for setup
3. Rate Limiting
- Limit requests per IP/source
- Prevents abuse and spam
- Can be configured at server level
Best Practices:
- Use HTTPS always
- Validate all incoming data
- Monitor logs for suspicious activity
- Implement rate limiting
- Use authentication for sensitive data
Note: Advanced authentication options may require custom development. Contact PloverCRM support or a developer for assistance with custom security implementations.
Related: Webhook Integrations
Q: Can I use webhooks with Zapier or Make (Integromat)? #
A: Yes, webhooks work perfectly with automation platforms:
Zapier Setup:
- Trigger: Your app (e.g., “New Lead in Service”)
- Action: Webhooks by Zapier → POST
- URL: Your PloverCRM webhook endpoint
- Data: Map fields from trigger to PloverCRM fields:
- source_id: “zapier_leads”
- email: From trigger
- first_name: From trigger
- last_name: From trigger
- company: From trigger
- Test and activate
Make (Integromat) Setup:
- Trigger: Your app module
- Action: HTTP → Make a request
- URL: Your PloverCRM webhook endpoint
- Method: POST
- Body: Map fields from trigger to PloverCRM fields
- Test and activate
Benefits:
- Connect 1000+ apps to PloverCRM
- No coding required
- Visual workflow builder
- Automatic retries
- Error handling
Common Zapier/Make Workflows:
- Google Sheets → PloverCRM
- Typeform → PloverCRM
- Calendly → PloverCRM
- Stripe → PloverCRM
- Mailchimp → PloverCRM
Related: Webhook Integrations
Q: How do I handle webhook retries and failures? #
A: Implement retry logic for reliability:
PloverCRM Behavior:
- Returns success message on successful contact creation
- Returns error message on failure
- Includes details about what went wrong
External Service Retry:
Most services automatically retry failed webhooks:
- Retry 3-5 times with delays between attempts
- Check your service documentation for specifics
Best Practices:
- Monitor integration logs for failures
- Set up email notifications for errors
- Review failed webhooks regularly
- Fix issues promptly
- Test after making changes
Error Handling:
When a webhook fails:
- Check integration logs for error message
- Fix the underlying issue (missing field, wrong format, etc.)
- External service will typically retry automatically
- Or manually resend from external service if available
Common Failure Reasons:
- Missing required email field
- Invalid email format
- source_id mismatch
- Server temporarily unavailable
- Network connectivity issues
Related: Webhook Integrations
Related Articles #
- Webhook Integrations
- Form Integrations Overview
- Creating Form Integrations
- Field Mapping
- Integration Logs
- Testing Integrations
- Troubleshooting Integrations
Last Updated: February 4, 2026
Category: FAQs