

Form builder drag-and-drop editor
Epic Forms lets you build forms with a visual drag-and-drop editor, then add them to any page with the Elementor widget, the Gutenberg block or a shortcode. No coding required.
Features
Every feature included in this plugin is fully available; nothing is locked or time-limited.
Epic Forms Pro is a separate, paid plugin. It is available from epicformbuilder.com and is not required to use Epic Forms. It adds:
Epic Forms contacts no external service unless you switch one of the features below on. Each one is used only on the forms where you add it, with your own keys or links. Epic Forms Pro documents the services it uses in its own readme.
Cloudflare Turnstile
Used only on forms with a Turnstile check. The form page loads Turnstile’s script and widget from challenges.cloudflare.com, which collects information about the visitor’s browser to tell people from bots. When the visitor submits, your site sends the Turnstile token, your secret key and the visitor’s IP address to Cloudflare to check it. Terms, privacy, Turnstile privacy addendum.
hCaptcha
Used only on forms with an hCaptcha check. The form page loads hCaptcha’s script and checkbox from js.hcaptcha.com and hcaptcha.com, which collect information about the visitor’s browser and interaction. When the visitor submits, your site sends the hCaptcha token, your secret and site keys and the visitor’s IP address to api.hcaptcha.com to check it. Terms, privacy.
Google reCAPTCHA v3
Used only on forms with a reCAPTCHA v3 check. The form page loads Google’s reCAPTCHA script from www.google.com, which collects information about the visitor’s browser and behaviour to score it. When the visitor submits, your site sends the reCAPTCHA token, your secret key and the visitor’s IP address to Google to check it. Terms, privacy.
Telegram
If a form has a Telegram alert switched on, each new entry (never suspected spam) sends a message through your own Telegram bot, from your site to api.telegram.org: the form’s title, the answers you chose for the alert (by default the first five) and a link to the entry in your WordPress admin, with the bot token and chat ID you entered. A “Send test message” button sends a test message the same way. Terms, privacy.
Slack
If a form has a Slack alert switched on, each new entry (never suspected spam) sends the form’s title, the answers you chose for the alert (by default the first five) and a link to the entry in your WordPress admin to the Slack incoming webhook link you entered (hooks.slack.com), from your site. A “Send test message” button sends a test message the same way. Terms, privacy.
Discord
If a form has a Discord alert switched on, each new entry (never suspected spam) sends the form’s title, the answers you chose for the alert (by default the first five) and a link to the entry in your WordPress admin to the Discord webhook link you entered (discord.com), from your site. A “Send test message” button sends a test message the same way. Terms, privacy.
AI form builder
On WordPress 7.0 or later, when you ask the AI Assistant in the form editor to build or change a form, Epic Forms passes your request and the current form (its fields and settings, never submissions) to the WordPress AI Client, which sends it to the AI service you set up in WordPress (for example OpenAI, Anthropic or Google) under that service’s terms and privacy policy. Nothing is sent until you write to the AI Assistant.
Conversion tracking does not contact any service itself: it only passes an event (the form’s id and title, never the visitor’s answers) to the Google tag, Google Tag Manager or Meta Pixel scripts already on your page.
This plugin ships its complete, human-readable source code together with the build configuration, so the compiled bundles can be reproduced from the package itself. The JavaScript bundles in dist/ are built from the TypeScript/React source in the src/ directory using the included Vite configuration.
To rebuild the bundles from source:
npm install in the plugin directory.npm run build:all:production. The output is written to dist/.PHP dependencies in vendor/ are managed with Composer (composer install --no-dev) from the included composer.json.