Title: FillKite – Contact Form Builder with Conditional Logic &amp; Lead Inbox
Author: DevUS
Published: <strong>October 2, 2026</strong>
Last modified: October 3, 2026

---

Search plugins

![](https://ps.w.org/fillkite/assets/banner-772x250.png?rev=3725629)

![](https://ps.w.org/fillkite/assets/icon-256x256.gif?rev=3726194)

# FillKite – Contact Form Builder with Conditional Logic & Lead Inbox

 By [DevUS](https://profiles.wordpress.org/devus/)

[Download](https://downloads.wordpress.org/plugin/fillkite.1.2.0.zip)

 * [Details](https://pcd.wordpress.org/plugins/fillkite/#description)
 * [Reviews](https://pcd.wordpress.org/plugins/fillkite/#reviews)
 *  [Installation](https://pcd.wordpress.org/plugins/fillkite/#installation)
 * [Development](https://pcd.wordpress.org/plugins/fillkite/#developers)

 [Support](https://wordpress.org/support/plugin/fillkite/)

## Description

**FillKite is a form builder that stays out of your way.** Build a contact, quote,
booking or survey form in a couple of minutes, put it on any page, and read every
lead in an inbox made for following up. The form adds about 11 KB (gzipped) to the
page, and only on pages that have a form.

#### A builder that feels like a design tool

 * The builder opens full screen: fields on the left, your form in the middle, the
   field’s settings on the right.
 * 29 field types: text, paragraph, email, phone, number, website, date, time, name,
   address, rating, dropdown, multi-select, country, radio buttons, checkboxes, 
   image choices, slider, Net Promoter Score, Likert scale, checkbox grid, ranking,
   colour, formatted text, consent, heading, divider, HTML block and hidden value.
 * Fields can be full, ¾, ⅔, ½, ⅓ or ¼ wide, with help text, a starting value, read-
   only fields, sizes and your own CSS classes.
 * Undo and redo, keyboard shortcuts, and a live preview that uses your site’s real
   form styles on desktop and mobile.
 * A built-in accessibility check flags missing labels, placeholders used as labels,
   unclear messages and hard-to-read colours while you build.
 * A visual designer per form: button, text, field and border colours, rounded corners,
   spacing and a full-width button, with a contrast warning. No CSS needed.
 * Start from a template or from scratch.

#### Logic you can read

Show or hide fields with rules written as sentences: _If Budget is greater than 
500, show Phone._ No code and no maze of dropdowns. The same rules run in the visitor’s
browser and again on your server, so hidden fields are never validated or stored.

#### A lead inbox, not a spreadsheet

 * Every entry lands in an inbox with statuses: New, Read, Replied, Won and Spam.
 * **Lead quality:** each new entry is marked High, Medium or Low quality (a real
   mailbox, a company or free address, a duplicate, the spam score, answers filled
   in), and the inbox can show the best leads first.
 * **Reply timer:** see how long each lead has been waiting, your average first-
   reply time, and get a reminder when a lead waits too long.
 * Star the ones that matter, add private notes, edit answers, and search everything.
 * Filter by form, date and lead quality, act on many entries at once, and export
   to CSV, Excel or JSON.
 * Download or print any entry as a PDF.
 * Duplicate submissions from the same email are flagged, never lost.
 * The forms list shows views, entries and conversion per form for the last 30 days(
   counted without cookies), and on which pages each form is used.

#### Switch from Contact Form 7 or WPForms in one click

FillKite reads your old forms, even when that plugin is switched off. It brings 
over fields, choices, required settings, notifications, auto-replies and thank-you
messages, and tells you exactly what it could not bring and why. Then it can switch
your pages to the new forms for you: you see every change first, and each page keeps
a revision you can go back to. You can also move forms between sites as a file, 
and import past leads from a CSV file.

#### Emails that arrive

 * Built-in SMTP: send the site’s email through your own mail server, with the password
   stored encrypted (or in wp-config.php) and a test-email button.
 * A sender check tells you whether inboxes can trust your domain (SPF, DKIM and
   DMARC), with the fix in plain English.
 * A daily self-test email warns you in WordPress before a lead is missed.
 * Branded emails: your logo, brand colour and footer on every FillKite email.
 * An admin notification out of the box; add up to ten per form. Merge tags for 
   any answer, plus {all_fields}, {page_url}, {entry_url} and more.
 * An auto-reply to the visitor, and a webhook for Zapier, Make or your own app,
   retried once if it fails.
 * A weekly summary email: new entries per form, how many still wait for a reply,
   and how fast you replied.
 * A delivery log with Sent / Failed views, so you can see what was sent and what
   failed.

#### Spam protection without puzzles

 * A hidden honeypot and a time check stop most bots with no extra step for people.
 * **An explainable spam score**, worked out on your own site with no cloud service:
   links, pasted or untyped messages, long text sent too fast, repeated messages,
   text in another script, spam phrases and capitals. Each Spam entry says why, 
   and “Not spam” teaches the site.
 * A per-visitor rate limit, disposable email blocking, and a check that the email’s
   domain can receive mail.
 * Optional Akismet, Cloudflare Turnstile, hCaptcha or reCAPTCHA v3.

#### Marketing built in

 * Add subscribers to **Mailchimp** or **Brevo** from any form, optionally only 
   when the visitor ticks your consent box (Mailchimp also with double opt-in and
   tags).
 * Records where each lead came from (UTM tags, referrer and landing page) without
   cookies, optionally on every page of the site.
 * Fires the GA4 `generate_lead` and Meta Pixel `Lead` events when those tags are
   already on your site.
 * A QR code for the page a form is on, as SVG or PNG, made in your browser.

#### Privacy and consent

 * **Consent receipts:** each ticked consent box is saved with the exact wording,
   a version fingerprint, the time and page, sealed against later changes, and printable
   as proof.
 * IP addresses are stored only as a hash, and entries can be deleted automatically
   after a number of days you choose, per form.
 * Test mode lets you try a live form without saving entries or sending emails.

#### Works with your site

 * A **FillKite Form block** for the block editor, with a live preview.
 * A **FillKite Form widget for Elementor** with style controls that start from 
   your kit’s global colours and fonts.
 * The `[fillkite id="123"]` shortcode anywhere else, and any form can open in a**
   popup** from a button.
 * **WooCommerce:** show a form in its own tab on a product page; entries and emails
   know the product.
 * **Uncanny Automator:** the trigger “Someone submits a form”, with every answer
   as a token.
 * Forms pick up your theme’s fonts and colours. In block themes the button uses
   your theme’s own button style; with Astra, Kadence or an Elementor kit it uses
   your brand colour.
 * Team access: let any WordPress role build forms, answer entries, or both.
 * WP-CLI commands to list forms and entries and export entries.

#### Built with care

 * Accessible: real labels, errors announced to screen readers, full keyboard support
   in the builder, and tested with axe.
 * Right-to-left languages and multisite networks are supported.
 * No limits on forms or entries.

#### For developers

FillKite has filters and actions for everything that matters, including `fillkite_before_save_entry`,`
fillkite_after_save_entry`, `fillkite_register_fields`, `fillkite_render_field`,`
fillkite_form_gate`, `fillkite_notification_email`, `fillkite_merge_tags`, `fillkite_webhook_payload`,`
fillkite_spam_check`, `fillkite_spam_phrases`, `fillkite_lead_quality`, `fillkite_rate_limit`,`
fillkite_marketing_providers` and `fillkite_client_ip`.

### External services

FillKite does not contact any outside service unless you turn a feature on.

**CAPTCHA (optional, off by default).** When you choose a provider under FillKite
Settings  Spam protection and enter your keys, the provider’s script loads on pages
with a form, and the visitor’s answer token and IP address are sent to the provider
to check it when the form is submitted.

 * Cloudflare Turnstile: [Terms](https://www.cloudflare.com/website-terms/), [Privacy policy](https://www.cloudflare.com/privacypolicy/)
 * hCaptcha: [Terms](https://www.hcaptcha.com/terms), [Privacy policy](https://www.hcaptcha.com/privacy)
 * Google reCAPTCHA: [Terms](https://policies.google.com/terms), [Privacy policy](https://policies.google.com/privacy)

**Mailchimp (optional, off by default).** Only when you add a Mailchimp API key 
under FillKite  Settings  Email marketing and turn it on for a form: when that form
is sent (and, if you ask for it, only when the visitor ticks the consent box), the
visitor’s email address, first and last name and the tags you set are sent to Mailchimp(
Intuit) to add or update the subscriber in the audience you chose. The key is also
used to load your lists. [Terms](https://mailchimp.com/legal/terms/), [Privacy policy](https://www.intuit.com/privacy/statement/)

**Brevo (optional, off by default).** The same as Mailchimp, for a Brevo API key:
the visitor’s email address and first and last name are sent to Brevo (api.brevo.
com) to add the contact to the list you chose. [Terms](https://www.brevo.com/legal/termsofuse/),
[Privacy policy](https://www.brevo.com/legal/privacypolicy/)

**Webhooks (optional, off by default).** When you add a webhook URL to a form, each
new entry is sent to that address. You choose the address and its terms apply.

**SMTP (optional, off by default).** When you turn on FillKite  Settings  Email 
sending, the site’s emails are sent through the mail server you enter. You choose
the server and its terms apply.

**Akismet (optional, off by default).** Only when the Akismet plugin is active and“
Also check entries with Akismet” is on under FillKite  Settings  Spam protection:
each entry’s name, email, text answers, IP address, browser and page are sent to
Akismet (Automattic) to check for spam. [Terms](https://akismet.com/tos/), [Privacy policy](https://automattic.com/privacy/)

**DNS lookups.** The email domain check on an email field (off by default) and the
sender check under Settings  Email ask your server’s DNS for the domain’s mail and
TXT records. No form data leaves your server.

The disposable email list ships with the plugin and is never downloaded. QR codes
are made in your browser.

### Bundled libraries

 * [tFPDF](https://github.com/Setasign/tFPDF) (LGPL 2.1) writes the entry PDFs.
 * [DejaVu Sans](https://dejavu-fonts.github.io/) (free licence, see fonts/unifont/
   DejaVu_LICENSE.txt) is the PDF font.
 * [qrcode-generator](https://github.com/kazuhikoarase/qrcode-generator) (MIT) draws
   the QR codes.
 * [Plus Jakarta Sans](https://github.com/tokotype/PlusJakartaSans) and [IBM Plex Mono](https://github.com/IBM/plex)(
   SIL Open Font License 1.1, see static/fonts) are the admin screen fonts.

## Screenshots

[⌊The full-screen builder: add fields from the left, edit them on the right.⌉⌊The
full-screen builder: add fields from the left, edit them on the right.⌉[

The full-screen builder: add fields from the left, edit them on the right.

[⌊Show and hide fields with rules written as sentences.⌉⌊Show and hide fields with
rules written as sentences.⌉[

Show and hide fields with rules written as sentences.

[⌊The live preview uses your site's real form styles.⌉⌊The live preview uses your
site's real form styles.⌉[

The live preview uses your site’s real form styles.

[⌊The lead inbox with statuses, lead quality, reply timer, stars and filters.⌉⌊The
lead inbox with statuses, lead quality, reply timer, stars and filters.⌉[

The lead inbox with statuses, lead quality, reply timer, stars and filters.

[⌊A form on the front end, with inline errors.⌉⌊A form on the front end, with inline
errors.⌉[

A form on the front end, with inline errors.

[⌊Import from Contact Form 7 or WPForms, with a report of what came over.⌉⌊Import
from Contact Form 7 or WPForms, with a report of what came over.⌉[

Import from Contact Form 7 or WPForms, with a report of what came over.

[⌊Form settings: a section list, notifications and auto-reply.⌉⌊Form settings: a
section list, notifications and auto-reply.⌉[

Form settings: a section list, notifications and auto-reply.

[⌊Settings: sender, branded emails, SMTP, spam protection, marketing, tracking and
access.⌉⌊Settings: sender, branded emails, SMTP, spam protection, marketing, tracking
and access.⌉[

Settings: sender, branded emails, SMTP, spam protection, marketing, tracking and
access.

## Blocks

This plugin provides 1 block.

 *   FillKite Form Add a form you built with FillKite.

## Installation

 1. Install FillKite from Plugins  Add New, or upload the zip, and activate it.
 2. Go to FillKite  Add New and pick a template, or start blank.
 3. Publish the form, then add it to a page with the FillKite Form block, the Elementor
    widget, or the shortcode shown in the builder.

Moving from another plugin? Go to FillKite  Import.

## FAQ

### Is FillKite free?

Yes. Everything described on this page is free, with no limits on forms or entries.

### Is there a paid version?

FillKite Pro is a separate add-on with extra fields (file upload, payments, multi-
step and more) and connections. The builder and the FillKite  Pro features screen
show what it adds, marked PRO. Nothing in this plugin is locked or time-limited.

### Will it slow my site down?

No. FillKite loads its small script and stylesheet (about 11 KB gzipped together)
only on pages that show a form, and adds no database queries to pages without one.

### Do visitors need JavaScript?

Yes. The form uses JavaScript to send without reloading the page and to show or 
hide fields. Visitors without it see a short message asking them to turn it on.

### Where are entries stored?

In your own WordPress database, in FillKite’s own tables. Nothing is sent to FillKite.

### Emails from the form do not arrive. What can I do?

Open FillKite  Settings  Email and run the sender check, then look at the delivery
log under Settings  Log. Most mail problems come from the server, not the form: 
set a From address on your own domain, and turn on Settings  Email sending to send
through a real mail server.

### Can I import forms from Contact Form 7 or WPForms?

Yes, under FillKite  Import. File upload, payment and quiz fields are not imported;
the import report lists anything left out and why.

### Does it work with page caching?

Yes. Forms for logged-out visitors contain nothing personal, so cached pages keep
working.

### Is FillKite GDPR friendly?

It includes a consent checkbox field with consent receipts, stores IP addresses 
only as a hash, and can delete entries automatically after a number of days you 
choose, per form. Deleting all data on uninstall is an option in Settings  Data.

### Where is the source of the JavaScript?

In the plugin itself: the files in assets/ are built from the readable source in
src/ with @wordpress/scripts. To rebuild them, run npm install and then npm run 
build in the plugin folder.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“FillKite – Contact Form Builder with Conditional Logic & Lead Inbox” is open source
software. The following people have contributed to this plugin.

Contributors

 *   [ DevUS ](https://profiles.wordpress.org/devus/)

[Translate “FillKite – Contact Form Builder with Conditional Logic & Lead Inbox” into your language.](https://translate.wordpress.org/projects/wp-plugins/fillkite)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/fillkite/), check out
the [SVN repository](https://plugins.svn.wordpress.org/fillkite/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/fillkite/) by [RSS](https://plugins.trac.wordpress.org/log/fillkite/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.0

 * After someone submits you can now offer a download: your message with a button
   to a file (a guide, a price list). Works for the form’s own confirmation and 
   for conditional ones.
 * A new `window.fillkite.holds()` and a `LogicEditor` prop on add-on settings cards,
   so add-ons can build rules on the same engine (used by FillKite Pro’s Submit 
   rules).

#### 1.1.0

 * A new look for every FillKite screen: one header with Forms, Entries, Import 
   and Settings, a bundled font, redesigned template chooser, forms table, inbox,
   import and Settings pages, and a first-run welcome.
 * Forms, Entries and the form itself work on a phone: forms as cards, entry filters
   that scroll, bigger tap targets and a full-width Send button.
 * An entry’s status shows next to its name, and Edit answers sits with the other
   actions.
 * The Pro features page shows what the add-on adds, with lock icons.
 * New hooks `fillkite_app_tabs` and `fillkite_app_plan` let an add-on put its own
   screens in the header.

#### 1.0.18

 * The print pages and the admin menu icon load their styles and scripts the WordPress
   way (enqueued), no inline tags.
 * Form settings: the FillKite Pro card is one line, with the list of Pro settings
   shown only on request.

#### 1.0.17

 * Plugin header: only a Plugin URI (it was the same address as the Author URI).

#### 1.0.16

 * The plugin now ships the readable JavaScript source (src/) and its build files
   next to the built assets.

#### 1.0.15

 * Plugin Check clean-up: composer.json ships next to the vendor folder, and the
   PDF font files are marked as tFPDF data.

#### 1.0.14

 * Add-on fields (FillKite Pro: page break, file upload, payment, signature and 
   more) show the new FillKite-style icons in the builder instead of generic ones.

#### 1.0.13

 * Elementor: no more empty gap under a form on phones when the form sits in a wrapping
   container.

#### 1.0.12

 * The empty-state picture (empty form in the builder, Entries with nothing selected
   or an empty Trash, the welcome card) uses the new FillKite mark; the old kite
   is gone everywhere.

#### 1.0.11

 * Elementor widget: the Labels colour now also colours checkbox, radio and consent
   labels, so they stay readable on a dark section.

#### 1.0.10

 * The Uncanny Automator integration uses the new FillKite mark, the last icon still
   on the old one.

#### 1.0.9

 * New icon for every field type, drawn to match the FillKite mark.
 * The admin menu icon now follows your admin colour scheme instead of staying black,
   and brightens on hover like the icons above it.

#### 1.0.8

 * Forms list: Export all forms sits next to the search box on wide screens, not
   in the middle.

#### 1.0.7

 * Entries: the filters, search and Export fit on one row on laptop screens.

#### 1.0.6

 * Delete permanently buttons are red, with an outlined Cancel next to them, in 
   every dialog.
 * Confirm dialogs keep a readable width.

#### 1.0.5

 * Dialogs (Pro features, delete, QR code, bulk actions, shortcuts, switching pages)
   use FillKite’s design: rounded corners, spacing and buttons.
 * The builder’s “All forms” link stays on one line.

#### 1.0.4

 * Form Settings tab: every section is the same width.
 * Readme: the full feature list, Mailchimp and Brevo under External services, and
   new screenshots.

#### 1.0.3

 * Form builder opens full screen, with one header bar (title, Build / Settings /
   Preview, save) and panes that scroll on their own.
 * Form Settings tab: a section list on the left that jumps to each section and 
   follows your scrolling.

#### 1.0.2

 * Forms list and Entries: initials badges for forms and senders; “1 entry” / “1
   view” wording fixed.

#### 1.0.1

 * Settings redesigned: a section sidebar, switches for on/off options, the same
   width and spacing on every section.
 * Delivery log: Sent / Failed views, rows per page, pages, and Delete selected /
   Delete all.

#### 1.0.0

 * First version: drag-and-drop builder with 29 field types, conditional logic, 
   lead inbox, notifications and auto-replies, spam protection, attribution, form
   designer, Gutenberg block, Elementor widget, WooCommerce product forms and importers
   for Contact Form 7 and WPForms.

## Meta

 *  Version **1.2.0**
 *  Last updated **6 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/fillkite/)
 * Tags
 * [conditional logic](https://pcd.wordpress.org/plugins/tags/conditional-logic/)
   [contact form](https://pcd.wordpress.org/plugins/tags/contact-form/)[form builder](https://pcd.wordpress.org/plugins/tags/form-builder/)
   [forms](https://pcd.wordpress.org/plugins/tags/forms/)[lead capture](https://pcd.wordpress.org/plugins/tags/lead-capture/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/fillkite/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/fillkite/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fillkite/reviews/)

## Contributors

 *   [ DevUS ](https://profiles.wordpress.org/devus/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fillkite/)