Kali Forms — Contact Form & Drag-and-Drop Builder
WORDPRESS CONTACT FORM PLUGIN
Meet Kali Forms – the powerful & user-friendly WordPress contact form plugin. Start from scratch with our easy-to-use drag & drop builder or build a form with our predesigned templates in just a few clicks…
Kali Forms makes it easy to create powerful contact forms, payment forms, feedback forms and more for your website without the hassle.
Easy-to-use Form Templates
Building forms can take time, which is something we all never have enough of. So to make the form creation experience even easier and more efficient, Kali Forms comes with built-in form templates which you can use if you don’t want to start from scratch!
- Standard contact form
Instantly create a contact form that allows your website visitors and potential customers to get in touch with you.
- Employee information form
Easily use and modify the Kali Forms employee information form template which you can use to collect vital information during the employee onboarding process.
These 13 additional templates are only available in Kali Forms Pro:
- Job application form
Easily create a form that allows candidates to apply for a job with this template.
- Appointment form
Make it easy for potential customers and clients to book a call or schedule a meeting with you without linking to external services.
- Customer feedback form
Use the customer feedback form template to start collecting valuable feedback and suggestions from your customers.
- Art contest
Thinking of running an art contest or competition but don’t know where to start? With the Kali Forms Art Contest form template, easily start collecting entries in just a few clicks.
- Gaming tournament registration form
Do you run a gaming website and want to host a gaming tournament that all your followers can join? If so, easily create a gaming tournament registration form by importing this predesigned template. Kali Forms makes it easy to plan and host gaming tournaments that people love.
- GDPR-Friendly contact form
Kali Forms makes it extremely easy to create GDPR-friendly contact forms with a confirmation checkbox that allows you to ensure that people submitting your contact form agree with the terms and conditions or privacy policy of your website.
- Running calculator form
Help users that like to go on outdoor runs calculate their pace, time and distance. The calculations are easily handled through our built-in Calculator.
- Donation form
A simple form that will allow you to accept donations through PayPal.
- Request quote form
An example form for requesting a quote for gardening services.
- Reservation form
Use this form if you want to provide users with an example of a hotel reservation form.
- Gym Membership Application form
Staying in shape is very important, allow users to apply to a gym memberhsip at your establishment using this example form.
- Simple booking form
Allow users to book a venue through this form. Previously selected dates will be automatically disabled in the calendar selection in order to avoid overlapping bookings.
- Simple booking form with payment
Provide users with a basic form that will allow them to book a room at your hotel and also accept payments online through PayPal.
Performance-Focused WordPress Form Plugin
We built the Kali Forms WordPress form plugin from the ground up with performance in mind. Kali Forms is built on React using modern development practices.
All forms are 100% mobile-responsive.
Contact forms created with Kali Forms are fully mobile responsive, so your contact forms will look great on mobile, tablet, laptop and desktop devices.
The Days of Form Spam Are Over
We know much of a problem form spam is which is why Kali Forms is designed to use a combination of Google’s powerful reCAPTCHA and spam honeypot system so you never have to waste your time dealing with unsolicited submissions ever again.
Easy doesn’t need to mean basic forms
This feature is only available in Kali Forms Pro!
Kali Forms was designed to be user-friendly but being easy-to-use doesn’t need to mean that you should only be able to create simple, basic forms.
With Kali Forms Pro, you can easily create powerful forms that use conditional logic, multi-page forms, and make use of our partial entries and submisison handling add-on.
External Services
This plugin connects to several third-party services to provide its functionality. Below is a complete list of external services used, what data is sent, when it is sent, and links to their terms of service and privacy policies.
Spam Protection Services
Google reCAPTCHA – Service: Google reCAPTCHA is used to verify that form submissions are made by humans and not automated bots. – What data is sent: When a form is submitted with reCAPTCHA enabled, the plugin sends the reCAPTCHA response token and your site’s secret key to Google’s verification service. – When: Data is sent only when a form submission includes reCAPTCHA verification. – Terms of Service: https://policies.google.com/terms – Privacy Policy: https://policies.google.com/privacy
Cloudflare Turnstile – Service: Cloudflare Turnstile is an alternative spam protection service used to verify that form submissions are made by humans and not automated bots. – What data is sent: When a form is submitted with Turnstile enabled, the plugin sends the Turnstile response token and your site’s secret key to Cloudflare’s verification service. – When: Data is sent only when a form submission includes Turnstile verification. – Terms of Service: https://www.cloudflare.com/terms/ – Privacy Policy: https://www.cloudflare.com/privacy/
Akismet – Service: Akismet is used to check form submissions for spam content when enabled. – What data is sent: When Akismet is enabled and a form is submitted, the plugin sends the following data to Akismet: website URL, user IP address, user agent, referrer URL, form field values (name, email, message content), and comment type. – When: Data is sent only when Akismet is enabled and a form is submitted. – Terms of Service: https://akismet.com/tos/ – Privacy Policy: https://automattic.com/privacy/
Email Delivery Services (Optional)
These services are only used if you configure them in the plugin’s email settings. If you use the default WordPress email system, these services are not contacted.
Postmark – Service: Postmark is an email delivery service used to send form notification emails when configured. – What data is sent: Email content including recipient addresses (To, Cc, Bcc), sender information, subject, HTML/text body, reply-to addresses, and email attachments (if any). – When: Data is sent only when Postmark is configured as the email provider and a form notification email is sent. – Terms of Service: https://postmarkapp.com/terms – Privacy Policy: https://postmarkapp.com/privacy
SMTP.com – Service: SMTP.com is an email delivery service used to send form notification emails when configured. – What data is sent: Email content including recipient addresses (To, Cc, Bcc), sender information, subject, HTML/text body, reply-to addresses, and email attachments (if any). – When: Data is sent only when SMTP.com is configured as the email provider and a form notification email is sent. – Terms of Service: https://www.smtp.com/terms-of-service/ – Privacy Policy: https://www.smtp.com/privacy-policy/
Sendinblue (Brevo) – Service: Sendinblue (now Brevo) is an email delivery service used to send form notification emails when configured. – What data is sent: Email content including recipient addresses (To, Cc, Bcc), sender information, subject, HTML/text body, reply-to addresses, and email attachments (if any). – When: Data is sent only when Sendinblue is configured as the email provider and a form notification email is sent. – Terms of Service: https://www.brevo.com/legal/termsofuse/ – Privacy Policy: https://www.brevo.com/legal/privacypolicy/
Mailgun – Service: Mailgun is an email delivery service used to send form notification emails when configured. – What data is sent: Email content including recipient addresses (To, Cc, Bcc), sender information, subject, HTML/text body, reply-to addresses, and email attachments (if any). – When: Data is sent only when Mailgun is configured as the email provider and a form notification email is sent. – Terms of Service: https://www.mailgun.com/terms/ – Privacy Policy: https://www.mailgun.com/privacy-policy/
Payment Processing (Optional)
PayPal – Service: PayPal SDK is loaded to enable payment processing in forms when PayPal payment fields are used. – What data is sent: The PayPal JavaScript SDK is loaded from PayPal’s servers. Payment data is handled directly between the user’s browser and PayPal – the plugin does not send payment information to PayPal servers. – When: The PayPal SDK script is loaded only when a form contains PayPal payment fields and is displayed on a page. – Terms of Service: https://www.paypal.com/us/webapps/mpp/ua/useragreement-full – Privacy Policy: https://www.paypal.com/us/webapps/mpp/ua/privacy-full
Plugin Services (Kali Forms)
Kali Forms Extensions API – Service: This service provides a list of available plugin extensions and add-ons. – What data is sent: No user data is sent. The plugin requests a list of available extensions. – When: Data is requested when you visit the Extensions page in the WordPress admin panel. Results are cached for 2 days. – Terms of Service: https://kaliforms.com/terms-of-service/ – Privacy Policy: https://kaliforms.com/privacy-policy/
Kali Forms Uninstall Feedback API – Service: This service collects feedback when you deactivate the plugin. – What data is sent: When you deactivate the plugin, you may optionally provide feedback including: deactivation reason, improvement suggestions, and optionally your email address (if you choose not to submit anonymously). – When: Data is sent only when you explicitly choose to submit feedback during plugin deactivation. You can choose to submit anonymously. – Terms of Service: https://kaliforms.com/terms-of-service/ – Privacy Policy: https://kaliforms.com/privacy-policy/
Kali Forms Blog Posts API – Service: This service provides blog posts to display in the WordPress dashboard widget. – What data is sent: No user data is sent. The plugin requests blog posts tagged for the dashboard widget. – When: Data is requested when the dashboard widget is displayed. Results are cached for 7 days. – Terms of Service: https://kaliforms.com/terms-of-service/ – Privacy Policy: https://kaliforms.com/privacy-policy/
JavaScript Libraries (Bundled)
html2canvas
– Service: html2canvas is a JavaScript library bundled within the plugin’s vendor.js file. The reference to html2canvas found in the compiled code is a comment banner indicating the library’s origin and version, not a remote service call.
– What data is sent: No data is sent. html2canvas is included as a bundled dependency in the public/assets/backend/js/vendor.js file and operates entirely client-side without making external network requests.
– When: The library is loaded when the form entries page is accessed in the WordPress admin panel. It is used for client-side image rendering functionality.
– Source: The library is bundled from npm package html2canvas and included in the plugin’s vendor bundle. No external calls are made.
jsPDF (PDFObject CDN Reference)
– Service: jsPDF is a JavaScript library bundled within the plugin’s vendor.js file for PDF generation. The library includes an optional feature that can load PDFObject from a CDN, but this feature is only used if the “pdfobjectnewwindow” output type is explicitly called.
– What data is sent: The jsPDF library includes a hardcoded fallback URL to Cloudflare’s CDN (https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js) that is only used when the optional “pdfobjectnewwindow” output method is called. This is a feature of the jsPDF library itself, not a requirement of this plugin.
– When: The CDN URL is only accessed if code explicitly uses jsPDF’s output("pdfobjectnewwindow") method. The plugin does not use this output method by default, so the CDN is not accessed during normal plugin operation.
– Source: The library is bundled from npm package jspdf and included in the plugin’s vendor bundle. The CDN reference is part of the jsPDF library’s optional functionality.
– Note: To avoid any external CDN calls, do not use the pdfobjectnewwindow output type. The plugin uses other jsPDF output methods that do not require external resources.
Important Note: Kali Forms does not send any data without user action or consent to external services, nor do we collect sensitive information from the requests. Email delivery services and payment processing are only used when explicitly configured by the site administrator. JavaScript libraries are bundled within the plugin and operate client-side. The only external CDN reference is an optional feature of the bundled jsPDF library that is not used by default.
Development
Source Code
The source code for Kali Forms is available in the plugin directory. The plugin includes a package.json file that documents all build dependencies and development tools used to compile the plugin’s JavaScript and CSS assets.
Build Process
Kali Forms uses modern web development tools to build its frontend assets:
- Webpack: Module bundler for JavaScript and CSS
- Babel: JavaScript compiler for modern ES6+ syntax
- Sass/SCSS: CSS preprocessor
- PostCSS: CSS post-processing with autoprefixer
The plugin’s JavaScript source code is located in the resources/assets/js/ directory and is compiled into the public/assets/ directory. The build process does not use code obfuscation or minification that makes code unreadable – only standard webpack production optimizations are applied.
Vendor Files
The plugin includes bundled vendor libraries in public/assets/backend/js/vendor.js and public/assets/frontend/js/vendor.js. These files contain third-party JavaScript libraries that are compiled and bundled during the build process.
A complete list of all vendor dependencies, including their versions and licenses, can be found in the package.json file included with the plugin. The dependencies are categorized as:
– dependencies: Runtime libraries required for the plugin to function
– devDependencies: Build tools and development dependencies used only during compilation
All vendor libraries are bundled locally within the plugin and do not make external network requests during normal operation. The source code for these libraries is available through their respective npm packages, and the bundled versions are included in the plugin distribution.
Any CDN references found in vendor files are either: 1. Comment banners or attribution notices (like library name and version information) 2. Optional features within bundled libraries that are not used by the plugin (such as optional output methods that require external resources)
For specific examples of how bundled libraries are used and whether they make external calls, see the “JavaScript Libraries (Bundled)” section above.
Building from Source
To build the plugin from source:
- Ensure you have Node.js and npm installed
- Navigate to the plugin directory
- Run
npm installto install dependencies - Run
npm run prodto build all assets for production, or use specific build commands:npm run prod-frontend– Build frontend form assetsnpm run prod-components– Build form builder componentsnpm run prod-general– Build general admin assetsnpm run prod-block– Build Gutenberg block assetsnpm run prod-form-entries– Build form entries page assetsnpm run prod-emails– Build email settings assets
For development with watch mode, use npm run start or the specific start-* commands.
Dependencies
All build dependencies …
