G
SkunkGlobal
/Docs/CRM/Popular Form Plugins

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

  1. 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
  2. Install Webhooks Add-On (if not already installed):

    • In WordPress admin, go to Forms → Add-Ons
    • Install and activate the Webhooks Add-On
  3. 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
  4. 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
    {
      "action": "create_contact",
      "data": {
        "name": "{Name (First):1.3} {Name (Last):1.6}",
        "email": "{Email:2}",
        "phone": "{Phone:3}",
        "company": "{Company:4}",
        "message": "{Message:5}",
        "source": "gravity_forms",
        "form_source": "{form_title}"
      }
    }
    
  5. 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

  1. Edit your Gravity Form
  2. Click on any form field (like Name, Email, etc.)
  3. Look in the right sidebar - you'll see "Field ID"
  4. 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:

{
  "action": "create_contact", 
  "data": {
    "name": "{Name (First):1.3} {Name (Last):1.6}",
    "email": "{Email:2}",
    "phone": "{Phone:3}",  
    "company": "{Company:4}",
    "message": "{Message:5}",
    "source": "gravity_forms"
  }
}

Testing

  1. Submit a test form entry
  2. Check SkunkCRM → Webhooks and click "View Logs" on your webhook for delivery status
  3. 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:

// Contact Form 7 to SkunkCRM Integration
add_action('wpcf7_mail_sent', function($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    
    if ($submission) {
        $posted_data = $submission->get_posted_data();
        
        // Map CF7 fields to SkunkCRM contact data
        $contact_data = array(
            'name' => $posted_data['your-name'] ?? '',
            'email' => $posted_data['your-email'] ?? '',
            'phone' => $posted_data['your-phone'] ?? '',
            'company' => $posted_data['your-company'] ?? '',
            'message' => $posted_data['your-message'] ?? '',
            'source' => 'contact_form_7',
            'form_source' => $contact_form->title()
        );
        
        // Create contact via SkunkCRM API
        if (function_exists('skunkcrm_create_contact')) {
            skunkcrm_create_contact($contact_data);
        }
    }
});

Alternative: Webhook with Third-Party Plugin

If you prefer webhooks, install a CF7 webhook plugin:

  1. Install Plugin: Search for "Contact Form 7 Webhook" in WordPress plugins

  2. Configure Webhook:

    • URL: https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token}
    • Method: POST
    • Format: JSON
  3. Field Mapping:

    {
      "form_submission": {
        "name": "[your-name]",
        "email": "[your-email]",
        "phone": "[your-phone]",
        "message": "[your-message]",
        "form_source": "contact_form_7"
      }
    }
    

WPForms

WPForms Lite doesn't include webhook support, but WPForms Pro does.

WPForms Pro Setup

  1. 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
  2. Configure Data Format:

    {
      "contact": {
        "name": "{field_id=\"1\"}",
        "email": "{field_id=\"2\"}",
        "phone": "{field_id=\"3\"}",
        "company": "{field_id=\"4\"}",
        "message": "{field_id=\"5\"}",
        "source": "wpforms"
      }
    }
    

WPForms Lite Alternative

For WPForms Lite, use WordPress action hooks:

// WPForms to SkunkCRM Integration
add_action('wpforms_process_complete', function($fields, $entry, $form_data) {
    
    $contact_data = array(
        'name' => $fields[1]['value'] ?? '', // Adjust field IDs
        'email' => $fields[2]['value'] ?? '',
        'phone' => $fields[3]['value'] ?? '',
        'company' => $fields[4]['value'] ?? '',
        'message' => $fields[5]['value'] ?? '',
        'source' => 'wpforms',
        'form_source' => $form_data['settings']['form_title']
    );
    
    if (function_exists('skunkcrm_create_contact')) {
        skunkcrm_create_contact($contact_data);
    }
    
}, 10, 3);

Ninja Forms

Ninja Forms has webhook capabilities in the premium version.

Setup Steps

  1. Install Webhooks Add-on (Premium feature)

  2. Configure Webhook:

    • Edit your Ninja Form
    • Add Webhook action
    • URL: https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token}
    • Method: POST
  3. Field Mapping:

    {
      "contact": {
        "name": "{field:name}",
        "email": "{field:email}",
        "phone": "{field:phone}",
        "company": "{field:company}",
        "message": "{field:message}",
        "source": "ninja_forms"
      }
    }
    

Formidable Forms

Formidable Forms Pro includes webhook functionality.

Configuration

  1. Create Form Action:

    • Edit your form
    • Go to Settings → Form Actions
    • Add Webhook action
  2. Webhook Settings:

    • URL: https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token}
    • Method: POST
    • Format: JSON
  3. Data Mapping:

    {
      "form_submission": {
        "name": "[name]",
        "email": "[email]",
        "phone": "[phone]",
        "company": "[company]",
        "message": "[message]",
        "form_source": "formidable_forms"
      }
    }
    

Elementor Pro Forms

Elementor Pro includes webhook actions for forms.

Setup Process

  1. Edit Form Widget in Elementor:

    • Select your form
    • Go to Actions After Submit
    • Add Webhook action
  2. Webhook Configuration:

    • Webhook URL: https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token}
    • Request Method: POST
  3. Field Mapping: Elementor automatically maps form fields. Ensure your form has fields named:

    • name or full_name
    • email
    • phone (optional)
    • company (optional)
    • message (optional)

Fluent Forms

Fluent Forms includes webhook integrations.

Configuration Steps

  1. Edit FormSettingsIntegrations

  2. Add Webhook Integration:

    • Name: "SkunkCRM Integration"
    • Webhook URL: https://yoursite.com/wp-json/skunkcrm/v1/webhook/{your-token}
    • Method: POST
  3. Data Format:

    {
      "contact": {
        "name": "{inputs.name}",
        "email": "{inputs.email}",
        "phone": "{inputs.phone}",
        "company": "{inputs.company}",
        "message": "{inputs.message}",
        "source": "fluent_forms"
      }
    }
    

Troubleshooting Common Issues

Forms Not Creating Contacts

  1. Check webhook logs in SkunkCRM admin
  2. Verify field mapping - ensure field names match
  3. Test webhook manually with curl
  4. Check form submission - ensure form actually submits

Duplicate Contacts

  1. Email deduplication - SkunkCRM can automatically prevent email duplicates
  2. Configure matching rules in SkunkCRM settings
  3. Use update actions instead of create actions

Missing Form Data

  1. Review field mapping - check that all form fields are mapped correctly
  2. Test with simple form - start with name and email only
  3. 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

::rest-api-banner::

Need to connect a form plugin not listed here? Check our incoming webhooks guide for general webhook setup instructions.

Was this page helpful?