Smart Intake

Wix Integration

Capture forms from any website with zero code.

Connect your Wix forms to Kantos CRM for automatic lead capture. Whether you use Wix Forms, third-party form apps, or custom HTML forms, this guide covers all integration methods.

What You'll Need

  • A Wix site (Premium plan required for custom code)
  • Access to your Wix dashboard
  • Your Kantos organization slug

Method 1: Custom Code (Recommended)

If you have a Wix Premium plan, you can add the Universal Script via custom code injection. This is the most reliable method for capturing all forms site-wide.

Step

Open Site Settings

In your Wix dashboard, go to Settings → Custom Code (under Advanced).

Step

Add Custom Code

Click "+ Add Custom Code" in the top right corner.

Step

Paste the Script

Paste the Kantos Universal Script into the code editor.

Step

Configure Placement

Set "Add Code to Pages" to "All pages" and "Place Code in" to "Head".

Step

Name and Save

Give it a name like "Kantos Smart Intake" and click Apply.

Step

Publish Your Site

Publish your site for the changes to take effect.

<script
  src="https://kantos.ai/api/intake/script/YOUR_ORG_SLUG"
  async>
</script>

Premium Required

Custom code injection requires a Wix Premium plan (Connect Domain or higher). Free Wix sites cannot add custom scripts. See Method 3 for alternatives.

Method 2: Wix Automations (Native Forms)

For Wix Forms (the native form builder), you can use Wix Automations to send submissions directly to the Kantos API. This works on all Wix plans with forms.

Step

Open Your Form

In the Wix Editor, click on your form to select it.

Step

Access Form Settings

Click the gear icon or "Manage Form" to open form settings.

Step

Go to Automations

Click on "Automations" (or "Workflows") in the form settings panel.

Step

Create New Automation

Click "+ Add Automation" and choose "Form submitted" as the trigger.

Step

Add HTTP Request Action

Select "Send an HTTP request" as the action.

Step

Configure the Request

Enter your Kantos ingest endpoint URL and map the form fields.

HTTP Request Configuration

{
  "URL": "https://kantos.ai/api/ingest",
  "Method": "POST",
  "Headers": {
    "Content-Type": "application/json",
    "X-Api-Key": "kantos_YOUR_INTAKE_KEY"
  },
  "Body": {
    "source": "wix_form",
    "form_name": "{{form.name}}",
    "fields": {
      "name": "{{form.fields.name}}",
      "email": "{{form.fields.email}}",
      "phone": "{{form.fields.phone}}",
      "message": "{{form.fields.message}}"
    },
    "metadata": {
      "page_url": "{{page.url}}",
      "submitted_at": "{{timestamp}}"
    }
  }
}

Field Mapping

Use the dynamic field picker in Wix Automations to map your actual form field names. The field names (like form.fields.name) depend on how you labeled your form inputs.

Method 3: Form Action URL (No Premium Required)

For sites without custom code access, you can create forms that submit directly to Kantos using our form action endpoint. This works with custom HTML forms.

Step

Add HTML Element

In the Wix Editor, add an "Embed" or "Custom HTML" element to your page.

Step

Paste Form HTML

Enter your form HTML with the Kantos action URL.

Step

Customize Styling

Add CSS to match your site design (Wix styling won't apply to custom HTML).

Step

Publish

Publish your site to activate the form.

<form
  action="https://kantos.ai/api/ingest/form"
  method="POST"
>
  <!-- Hidden fields for Kantos -->
  <input type="hidden" name="_org_slug" value="YOUR_ORG_SLUG" />
  <input type="hidden" name="_redirect" value="https://yoursite.wixsite.com/thank-you" />
  <input type="hidden" name="_source" value="wix_contact_form" />

  <div style="margin-bottom: 15px;">
    <label for="name">Name</label>
    <input type="text" id="name" name="name" required
      style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px;" />
  </div>

  <div style="margin-bottom: 15px;">
    <label for="email">Email</label>
    <input type="email" id="email" name="email" required
      style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px;" />
  </div>

  <div style="margin-bottom: 15px;">
    <label for="message">Message</label>
    <textarea id="message" name="message" rows="4"
      style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px;"></textarea>
  </div>

  <button type="submit"
    style="background: #3B82F6; color: white; padding: 12px 24px; border: none; border-radius: 4px; cursor: pointer;">
    Send Message
  </button>
</form>

Form Action Parameters

ParameterRequiredDescription
_org_slugYesYour Kantos organization slug
_redirectNoURL to redirect after submission
_sourceNoIdentifier for this form (for filtering)
_honeypotNoHidden field for spam detection

Wix Velo (Advanced)

For developers using Wix Velo (formerly Corvid), you can integrate with the Kantos API programmatically for complete control:

page.jsjavascript
import { fetch } from 'wix-fetch';

$w.onReady(function () {
  $w('#contactForm').onSubmit(async (event) => {
    // Prevent default Wix form submission if desired
    // event.preventDefault();

    const formData = {
      source: 'wix_velo_form',
      fields: {
        name: $w('#nameInput').value,
        email: $w('#emailInput').value,
        phone: $w('#phoneInput').value,
        message: $w('#messageInput').value,
      },
      metadata: {
        page_url: wixLocation.url,
        submitted_at: new Date().toISOString(),
      },
    };

    try {
      const response = await fetch('https://kantos.ai/api/ingest', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'X-Api-Key': 'kantos_YOUR_INTAKE_KEY',
        },
        body: JSON.stringify(formData),
      });

      if (response.ok) {
        // Show success message or redirect
        $w('#successMessage').show();
        $w('#contactForm').hide();
      } else {
        // Handle error
        $w('#errorMessage').show();
      }
    } catch (error) {
      console.error('Submission failed:', error);
      $w('#errorMessage').show();
    }
  });
});

Third-Party Form Apps

If you're using third-party form apps from the Wix App Market, they typically work with the Universal Script (Method 1). Popular compatible apps include:

  • 123 Form Builder - Full compatibility
  • Jotform - Full compatibility
  • Typeform - Full compatibility
  • Google Forms - Embed works, but consider native API integration
  • Wix Forms - Use Method 2 (Automations) for best results

Testing Your Integration

Step

Publish Your Site

Make sure all changes are published. Custom code doesn't work in preview mode.

Step

Open Your Live Site

Visit your published site (not the editor preview).

Step

Submit a Test Form

Fill out a form with test data and submit.

Step

Check Kantos Dashboard

Go to Smart Intake → Incoming Events in your Kantos dashboard.

Step

Verify the Submission

Click on the submission to verify all fields were captured correctly.

Troubleshooting

Custom Code Not Working

  • Verify you have a Premium plan that supports custom code
  • Make sure the code is set to load on "All pages" in the "Head"
  • Publish your site—custom code doesn't work in preview
  • Check browser console for JavaScript errors

Wix Forms Not Sending Data

  • Verify the automation is active and triggered on form submission
  • Check that field mappings match your actual form fields
  • Test the HTTP request URL and headers in a tool like Postman
  • Look at Wix Automation logs for error messages

Form Action URL Issues

  • Ensure the _org_slug is correct
  • Check that the redirect URL is a full URL (including https://)
  • Verify the redirect page exists and is published
  • Try without redirect first to isolate the issue

CORS Errors

If you see CORS errors in the console when using the Universal Script:

  • The script is designed to work cross-origin—CORS errors usually indicate a different issue
  • Check that your API key is valid and hasn't been revoked
  • Ensure the organization slug is correct

Wix-Specific Considerations

Wix Native Forms Behavior

Wix Forms use their own submission handler. When using the Universal Script:

  • The script captures data before Wix's handler processes it
  • Wix's form settings (notifications, storage) still work
  • You may receive data in both Wix and Kantos (which is fine for redundancy)

Wix Multilingual Sites

For multilingual sites, the script works on all language versions:

  • Custom code applies to all language versions automatically
  • Form field names stay consistent across languages
  • Use the _source parameter to track which language version was used

Wix Editor X / Studio

The same methods work in Wix Editor X and Wix Studio. Custom code placement is in the same location under Settings → Custom Code.

Next Steps

    Wix Integration - Smart Intake | Kantos Docs