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:
External Service → HTTP POST Request → PloverCRM Webhook Endpoint → Field Mapping → Contact Created/Updated
Process Flow:
- User submits form on external service (Leadpages, custom form, etc.)2. External service sends HTTP POST request with form data3. PloverCRM receives request at webhook endpoint4. Data is validated and mapped to contact fields5. Contact is created or updated in CRM6. 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.
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: The webhook URL is available in PloverCRM:
- Go to PloverCRM → Data Sources2. Navigate to the Webhooks tab3. Your webhook URL is displayed4. Click Copy button to copy URL
Use it by pasting into external service webhook configuration, custom form settings, or integration setup.
Related: Webhook Integrations #
Q: How do I create a webhook integration? #
A: Step-by-step integration setup:
Step 1: Get Webhook URL1. Go to PloverCRM → Data Sources → Webhooks2. Copy webhook URL
Step 2: Create Integration1. Click Add New Integration2. Category: Webhooks3. Provider: Generic Webhook4. Name: Descriptive name (e.g., “Leadpages Contact Form”)5. 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 Test1. Click Save Integration2. Send test webhook3. Verify contact created4. 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
Naming Guidelines:– Use lowercase letters and underscores (not spaces or hyphens)- Be descriptive and unique- Examples: leadpages_contact_form, custom_html_form_homepage, zapier_lead_capture, external_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 identifier- email: Contact email address
Optional Fields:– first_name, last_name, phone, company– Any custom fields you’ve created
Example Payload:json{"source_id": "custom_form","email": "[email protected]","first_name": "Jane","last_name": "Smith","phone": "+1-555-0123","company": "Acme Corporation"}
For nested or structured data, use dot notation in field mapping settings (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– Use test mode if available- Send a test submission- Verify data reaches PloverCRM
Method 2: Using Webhook Testing Tools1. Go to https://webhook.site2. Copy the unique URL provided3. Configure as webhook destination in your external service4. Send test request and view received data format5. Adjust format if needed, then send to PloverCRM webhook
Method 3: Manual TestUse a tool like Postman to send test data directly to your webhook URL.
Verification Steps:1. Send test webhook2. Check for success response3. Go to PloverCRM → Contacts4. Search for test contact5. Verify all fields populated correctly6. Check lists and tags assigned7. Review integration logs
Related: Testing Integrations #
Q: How do I view webhook logs? #
A: Integration logs track all webhook activity.
Access Logs:1. Go to PloverCRM → Data Sources2. Find your webhook integration3. Click View Logs
Log Information: Timestamp, source ID, data received (summary), processing result (success/error), contact ID created/updated, error messages (if any).
Log Entry Examples:
Successful submission:Date/Time: 2026-02-04 10:30:15Source: leadpages_contact_formEmail: [email protected]: Contact created (ID: 456)
Error example:Date/Time: 2026-02-04 10:35:22Source: custom_formError: Email field is requiredData: Missing email field
Log Retention: Logs are kept for 30 days and automatically cleaned up after that. They can be exported for longer retention.
Troubleshooting with Logs:1. Check if webhook was received2. Verify source_id matches3. Review data structure4. Identify error messages5. Fix issues and retry
Related: Integration Logs #
Troubleshooting #
Q: Webhook not receiving data. What should I check? #
A: Systematic troubleshooting steps:
- Verify Webhook URL: Check for typos, ensure using HTTPS (not HTTP), verify domain is accessible2. Check WordPress REST API: Test if REST API is enabled — your hosting provider can help verify3. Verify Firewall/Security: Check if firewall is blocking requests, verify security plugin isn’t blocking the REST API, whitelist webhook endpoint if needed4. Test Webhook Manually: Use a webhook testing tool or the external service’s test function5. Review Integration Logs: Check if webhook was received, look for error messages, verify
source_idmatches6. Check External Service Configuration: Verify webhook URL is correct, check service is sending webhooks, review service’s own webhook logs
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_idmismatch
Related: Troubleshooting Integrations #
Q: Contact not created even though webhook was received. Why? #
A: Check these common causes:
- Missing Email Field: Email is required — check payload includes
emailfield and verify field mapping2. source_id Mismatch: Payloadsource_idmust match integrationsource_idexactly — check for typos or case sensitivity3. Invalid Email Format: Must be valid format ([email protected]) — check for spaces or special characters4. Duplicate Handling: If set to “Skip if Exists” and contact already exists, it will be skipped — change to “Update Existing” mode5. Permission Issues: Integration user may lack create permission — check role permissions6. Field Mapping Errors: Required fields not mapped, invalid field values, or data type mismatches
Debugging Steps:1. Check integration logs for errors2. Verify email field is present and valid3. Test with minimal payload (email only)4. Check duplicate handling setting5. Review field mappings6. Test with a different email address
Related: Troubleshooting Integrations #
Q: Some fields are not populating. What’s wrong? #
A: Field mapping troubleshooting:
- Verify Field Mapping: Check the field is mapped in integration settings — field names are case-sensitive2. Check Data Structure: Review actual data in logs and 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-DDformat- Dropdown fields: Must match existing options4. Custom Field Issues: Custom field must exist before import, field name/key must match exactly5. Empty Values: Check if external service is sending empty values or if conditional logic in source form is suppressing data
Example Issue:– Data received hascompany_namefield- Mapping is set tocompany– Fix: Change mapping tocompany_name, or rename the data field
Testing:1. Send test webhook with known values2. Check integration logs for data received3. Verify field names match exactly4. Test each field individually
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 Permalinks1. Go to Settings → Permalinks2. Click Save Changes (don’t change anything)3. Test webhook again
Solution 2: Verify REST API is Enabledbash# Test REST APIcurl https://yoursite.com/wp-json/
Should return JSON, not 404.
Solution 3: Check .htaccess — verify the file exists and contains correct WordPress rewrite rules.
Solution 4: Check Permalink Structure — go to Settings → Permalinks, ensure it’s not set to “Plain”, and save changes.
Solution 5: Verify Plugin Active — check PloverCRM plugin is activated; deactivate and reactivate if needed.
Solution 6: Server Configuration — verify mod_rewrite is enabled (Apache) or check nginx configuration.
Test After Each Step:bashcurl https://yoursite.com/wp-json/plover-crm/v1/webhook/generic
Related: Troubleshooting Integrations #
Advanced Topics #
Q: Can I secure my webhook endpoint? #
A: Yes, several security options are available.
Built-in Security:– HTTPS encryption (always use HTTPS, not HTTP)- Data validation on all incoming data- WordPress security features
Additional Security Options:
- HTTPS Only: Always use HTTPS — encrypts data in transit and prevents unauthorized access- IP Whitelisting: Configure firewall to allow only specific IPs — useful for known external services- Rate Limiting: Limit requests per IP/source to prevent 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.
Related: Webhook Integrations #
Q: Can I use webhooks with Zapier or Make (Integromat)? #
A: Yes, webhooks work perfectly with automation platforms.
Zapier Setup:1. Trigger: Your app (e.g., “New Lead in Service”)2. Action: Webhooks by Zapier → POST3. URL: Your PloverCRM webhook endpoint4. Data: Map fields from trigger (source_id, email, first_name, last_name, company)5. Test and activate
Make (Integromat) Setup:1. Trigger: Your app module2. Action: HTTP → Make a request3. URL: Your PloverCRM webhook endpoint4. Method: POST5. Body: Map fields from trigger6. Test and activate
Benefits: Connect 1000+ apps to PloverCRM, no coding required, visual workflow builder, automatic retries, error handling.
Common Workflows:– Google Sheets → PloverCRM- Typeform → PloverCRM- Calendly → PloverCRM- Stripe → PloverCRM- Mailchimp → PloverCRMRelated: 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 with details about what went wrong
External Service Retry: Most services automatically retry failed webhooks 3–5 times with delays between attempts. Check your service’s documentation for specifics.
Best Practices:– Monitor integration logs for failures- Set up email notifications for errors- Review failed webhooks regularly- Fix issues promptly and test after making changes
Error Handling — when a webhook fails:1. Check integration logs for error message2. Fix the underlying issue (missing field, wrong format, etc.)3. External service will typically retry automatically4. Or manually resend from external service if available
Common Failure Reasons:– Missing required email field- Invalid email format-source_idmismatch- Server temporarily unavailable- Network connectivity issuesRelated: Webhook Integrations #
Related Articles #
– Webhook Integrations– Form Integrations Overview– Creating Form Integrations– Field Mapping– Integration Logs– Testing Integrations– Troubleshooting Integrations #
Last Updated: February 4, 2026Category: FAQs