Popular Form Plugins
Connect your WordPress form plugins to SkunkCRM to automatically create contacts from form submissions. This guide covers the most popular WordPress form plugins and how to integrate them.
Gravity Forms
Gravity Forms has excellent webhook support, making it easy to connect with SkunkCRM.
Setup Steps
-
Create Webhook Token in SkunkCRM:
- Go to SkunkCRM → Webhooks
- In the Incoming Webhook Tokens section, click "Create Token"
- Name it "Gravity Forms Integration"
- Copy the complete webhook URL provided
-
Install Webhooks Add-On (if not already installed):
- In WordPress admin, go to Forms → Add-Ons
- Install and activate the Webhooks Add-On
-
Configure Webhook in Form:
- Edit your Gravity Form
- Go to Settings → Webhooks
- Click "Add New"
- Name: "SkunkCRM Integration"
- Request URL:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token} - Request Method: POST
- Request Format: JSON
-
Configure Request Body (in the webhook settings):
- In the Request Body field, paste this JSON structure
- Replace the field IDs (
{Name:1},{Email:2}, etc.) with your actual form field IDs
json1{ 2 "action": "create_contact", 3 "data": { 4 "name": "{Name (First):1.3} {Name (Last):1.6}", 5 "email": "{Email:2}", 6 "phone": "{Phone:3}", 7 "company": "{Company:4}", 8 "message": "{Message:5}", 9 "source": "gravity_forms", 10 "form_source": "{form_title}" 11 } 12} -
Find Your Field IDs:
- Go back to your form editor
- Click on each field to see its Field ID in the settings panel
- For Name fields:
{Name (First):1.3}means Field ID 1, input 3 (first name) - For simple fields:
{Email:2}means Field ID 2 - Update the JSON above with your actual field IDs
How to Find Gravity Forms Field IDs
- Edit your Gravity Form
- Click on any form field (like Name, Email, etc.)
- Look in the right sidebar - you'll see "Field ID"
- Note the Field ID number (like 1, 2, 3, etc.)
For complex fields (like Name):
- Name field might be Field ID
1 - First Name =
{Name (First):1.3} - Last Name =
{Name (Last):1.6}
For simple fields:
- Email field with ID
2={Email:2} - Phone field with ID
3={Phone:3}
Field Mapping Examples
Example Form with these Field IDs:
- Name Field (ID: 1) →
{Name (First):1.3} {Name (Last):1.6} - Email Field (ID: 2) →
{Email:2} - Phone Field (ID: 3) →
{Phone:3} - Company Field (ID: 4) →
{Company:4} - Message Field (ID: 5) →
{Message:5}
Your JSON would look like:
json1{ 2 "action": "create_contact", 3 "data": { 4 "name": "{Name (First):1.3} {Name (Last):1.6}", 5 "email": "{Email:2}", 6 "phone": "{Phone:3}", 7 "company": "{Company:4}", 8 "message": "{Message:5}", 9 "source": "gravity_forms" 10 } 11}
Testing
- Submit a test form entry
- Check SkunkCRM → Webhooks and click "View Logs" on your webhook for delivery status
- Verify new contact appears in SkunkCRM → Contacts
Contact Form 7
Contact Form 7 doesn't have built-in webhook support, but we can use WordPress action hooks for same-site integration.
Setup with Action Hooks
Add this code to your theme's functions.php:
functions.phpphp1// Contact Form 7 to SkunkCRM Integration 2add_action('wpcf7_mail_sent', function($contact_form) { 3 $submission = WPCF7_Submission::get_instance(); 4 5 if ($submission) { 6 $posted_data = $submission->get_posted_data(); 7 8 // Map CF7 fields to SkunkCRM contact data 9 $contact_data = array( 10 'name' => $posted_data['your-name'] ?? '', 11 'email' => $posted_data['your-email'] ?? '', 12 'phone' => $posted_data['your-phone'] ?? '', 13 'company' => $posted_data['your-company'] ?? '', 14 'message' => $posted_data['your-message'] ?? '', 15 'source' => 'contact_form_7', 16 'form_source' => $contact_form->title() 17 ); 18 19 // Create contact via SkunkCRM API 20 if (function_exists('skunkcrm_create_contact')) { 21 skunkcrm_create_contact($contact_data); 22 } 23 } 24});
Alternative: Webhook with Third-Party Plugin
If you prefer webhooks, install a CF7 webhook plugin:
-
Install Plugin: Search for "Contact Form 7 Webhook" in WordPress plugins
-
Configure Webhook:
- URL:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token} - Method: POST
- Format: JSON
- URL:
-
Field Mapping:
json1{ 2 "form_submission": { 3 "name": "[your-name]", 4 "email": "[your-email]", 5 "phone": "[your-phone]", 6 "message": "[your-message]", 7 "form_source": "contact_form_7" 8 } 9}
WPForms
WPForms Lite doesn't include webhook support, but WPForms Pro does.
WPForms Pro Setup
-
Create Webhook in form settings:
- Edit your WPForm
- Go to Settings → Webhooks
- Webhook URL:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token} - Request Method: POST
-
Configure Data Format:
json1{ 2 "contact": { 3 "name": "{field_id=\"1\"}", 4 "email": "{field_id=\"2\"}", 5 "phone": "{field_id=\"3\"}", 6 "company": "{field_id=\"4\"}", 7 "message": "{field_id=\"5\"}", 8 "source": "wpforms" 9 } 10}
WPForms Lite Alternative
For WPForms Lite, use WordPress action hooks:
functions.phpphp1// WPForms to SkunkCRM Integration 2add_action('wpforms_process_complete', function($fields, $entry, $form_data) { 3 4 $contact_data = array( 5 'name' => $fields[1]['value'] ?? '', // Adjust field IDs 6 'email' => $fields[2]['value'] ?? '', 7 'phone' => $fields[3]['value'] ?? '', 8 'company' => $fields[4]['value'] ?? '', 9 'message' => $fields[5]['value'] ?? '', 10 'source' => 'wpforms', 11 'form_source' => $form_data['settings']['form_title'] 12 ); 13 14 if (function_exists('skunkcrm_create_contact')) { 15 skunkcrm_create_contact($contact_data); 16 } 17 18}, 10, 3);
Ninja Forms
Ninja Forms has webhook capabilities in the premium version.
Setup Steps
-
Install Webhooks Add-on (Premium feature)
-
Configure Webhook:
- Edit your Ninja Form
- Add Webhook action
- URL:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token} - Method: POST
-
Field Mapping:
json1{ 2 "contact": { 3 "name": "{field:name}", 4 "email": "{field:email}", 5 "phone": "{field:phone}", 6 "company": "{field:company}", 7 "message": "{field:message}", 8 "source": "ninja_forms" 9 } 10}
Formidable Forms
Formidable Forms Pro includes webhook functionality.
Configuration
-
Create Form Action:
- Edit your form
- Go to Settings → Form Actions
- Add Webhook action
-
Webhook Settings:
- URL:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token} - Method: POST
- Format: JSON
- URL:
-
Data Mapping:
json1{ 2 "form_submission": { 3 "name": "[name]", 4 "email": "[email]", 5 "phone": "[phone]", 6 "company": "[company]", 7 "message": "[message]", 8 "form_source": "formidable_forms" 9 } 10}
Elementor Pro Forms
Elementor Pro includes webhook actions for forms.
Setup Process
-
Edit Form Widget in Elementor:
- Select your form
- Go to Actions After Submit
- Add Webhook action
-
Webhook Configuration:
- Webhook URL:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token} - Request Method: POST
- Webhook URL:
-
Field Mapping: Elementor automatically maps form fields. Ensure your form has fields named:
nameorfull_nameemailphone(optional)company(optional)message(optional)
Fluent Forms
Fluent Forms includes webhook integrations.
Configuration Steps
-
Edit Form → Settings → Integrations
-
Add Webhook Integration:
- Name: "SkunkCRM Integration"
- Webhook URL:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token} - Method: POST
-
Data Format:
json1{ 2 "contact": { 3 "name": "{inputs.name}", 4 "email": "{inputs.email}", 5 "phone": "{inputs.phone}", 6 "company": "{inputs.company}", 7 "message": "{inputs.message}", 8 "source": "fluent_forms" 9 } 10}
Troubleshooting Common Issues
Forms Not Creating Contacts
- Check webhook logs in SkunkCRM admin
- Verify field mapping - ensure field names match
- Test webhook manually with curl
- Check form submission - ensure form actually submits
Duplicate Contacts
- Email deduplication - SkunkCRM can automatically prevent email duplicates
- Configure matching rules in SkunkCRM settings
- Use update actions instead of create actions
Missing Form Data
- Review field mapping - check that all form fields are mapped correctly
- Test with simple form - start with name and email only
- Check data types - ensure data formats match expected types
Best Practices
Form Design
- Keep forms simple - only ask for essential information
- Use clear labels - make field purposes obvious
- Add privacy notice - inform users about data usage
Data Quality
- Validate emails - use form validation to ensure valid email addresses
- Required fields - make essential fields (name/email) required
- Sanitize input - forms should sanitize user input
User Experience
- Thank you pages - redirect to confirmation pages after submission
- Email confirmations - send confirmation emails to form submitters
- Error handling - display helpful error messages
Next Steps
- Test your integration - Submit test forms to ensure everything works
- Monitor webhook logs - Check delivery status regularly
- Customize field mapping - Add custom fields as needed
- Set up automations - Use SkunkCRM automations to follow up with new contacts
Powerful REST API Ready for Integration
SkunkCRM provides a comprehensive REST API designed for seamless integrations and external access. Build powerful integrations with full CRUD operations, secure authentication, and real-time webhook support.
Complete control over contacts, deals, and activities
WordPress Application Passwords with permission controls
Built-in protection and performance optimization
Clean, RESTful endpoints with consistent responses
Real-time integrations and event notifications
Get started with examples, authentication guides, and interactive endpoint testing.
Need to connect a form plugin not listed here? Check our incoming webhooks guide for general webhook setup instructions.