Pro Features
FormsFort paid feature guide for advanced captcha, CC recipients, autoresponders, file uploads, advanced uploader, webhooks, advanced domain policies, server IP safelists, and intro text.
Pro Features
Paid controls for busier production forms. FormsFort gates paid features through active Stripe subscriptions or support-managed manual entitlements.
Feature groups
Spam protection
reCAPTCHA v3, Cloudflare Turnstile, hCaptcha, honeypots, and wildcard domain policies. Exact allowed domains are available on Free.
Email features
CC recipients, autoresponder confirmations, and custom notification intro text.
File uploads
Multipart attachments and object-storage backed advanced upload reservations.
Integrations and security
Per-submit webhooks, form-level webhook settings, wildcard domain policies, server IP safelists, and delivery logs.
Captcha providers
Choose a provider from form settings, store custom secret keys encrypted when needed, and include the matching browser token field in the form. Managed shared captcha is not available on hosted Free forms. Pro, Business, and lifetime forms can configure reCAPTCHA v2/v3, Cloudflare Turnstile, and hCaptcha with their own provider keys. reCAPTCHA and Turnstile use their provider scripts; hCaptcha can be loaded by the FormsFort helper script.
<!-- reCAPTCHA v2 -->
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
<!-- reCAPTCHA v3 -->
<input type="hidden" name="recaptcha_response" id="recaptcha-response" />
<!-- Cloudflare Turnstile -->
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div>
<!-- hCaptcha with FormsFort helper script -->
<div class="h-captcha" data-captcha="true"></div>
<script src="https://api.formsfort.com/client/script.js" async defer></script>CC recipients
Paid/manual forms can copy extra recipients on the queued notification email. Separate multiple addresses with commas or semicolons.
<input type="hidden" name="ccemail" value="[email protected]; [email protected]" />Autoresponder and intro text
Autoresponders are configured from the dashboard and require a valid submitted email field. Intro text changes the opening line on the recipient notification email.
<input type="email" name="email" required />Dashboard settings:
- autoresponder enabled
- autoresponder subject
- autoresponder from name
- autoresponder intro text
- include submission copy
- recipient notification intro text
File attachments
Multipart uploads require a paid/manual upload entitlement, form-level count/size/MIME settings, a safe filename extension, and a limited signature check before direct email attachment delivery. They do not use the advanced ClamAV scanner.
<form action="https://api.formsfort.com/submit" method="POST" enctype="multipart/form-data">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="file" name="attachment" />
<button type="submit">Submit</button>
</form>JavaScript uploads should send FormData directly:
await fetch("https://api.formsfort.com/submit", {
method: "POST",
headers: { accept: "application/json" },
body: new FormData(form),
});Advanced uploader
The client helper upgrades advanced file inputs, reserves object-storage uploads, writes storage keys back into hidden fields, and blocks submit until uploads finish. The object-storage scan worker requires a clean ClamAV result before the storage key can be submitted. Clean objects are delivered through temporary download links. The generated widget also exposes FilePond-compatible theme hooks for FormsFort uploader CSS.
<form action="https://api.formsfort.com/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input
type="file"
name="attachment"
data-advanced="true"
multiple
accept="image/*, application/pdf"
data-max-files="3"
data-max-file-size="5MB"
/>
<button type="submit">Submit</button>
</form>
<script src="https://api.formsfort.com/client/script.js" async defer></script>
<style>
.filepond--panel-root {
background-color: #2c2c2c;
}
.filepond--drop-label {
color: #d4d4d4;
}
</style>Webhooks, domains, and server IPs
Webhooks are queued and redacted after successful delivery. Exact allowed domains compare the request Origin or Referer against hostnames configured on the form and are available on Free. Pro, Agency, and Lifetime workspaces can use wildcard domain policies such as *.example.com. Paid/manual controls in this group include webhooks, wildcard domain policies, and server IP safelists.
<input type="hidden" name="webhook" value="https://example.com/formsfort" />Dashboard settings:
- allowed domains: example.com, www.example.com
- wildcard domain policies: *.example.com for paid/manual workspaces
- server IP safelist for trusted server-side submissions
- form-level webhook endpoint
- webhook delivery retry policy and logs