{% extends 'base.html' %} {% block title %}Edit {{ site.name }} โ€” AgentForms{% endblock %} {% block head_extra %} {% endblock %} {% block content %}

{{ site.name }}

Configure your form fields and webhook settings.

Token: {{ site.token }}
{% with messages = get_flashed_messages(with_categories=true) %} {% if messages %} {% for category, message in messages %}
{{ message }}
{% endfor %} {% endif %} {% endwith %}
Form Fields Webhook Protection Embed Share Analytics Integrations Versions A/B Test Branding Documents

Form Fields

Define the fields your form collects. Click โš™ Advanced on any field for validation rules, conditional visibility, calculations, and multi-step grouping.

{% if field_config and field_config|length > 0 %}
{% for field in field_config %}
{% include 'field_advanced.html' %}
{% endfor %}
{% else %}

No custom fields defined. Add your first field below.

{% endif %}

Webhook Configuration

When enabled, every form submission will be POSTed to your webhook URL in real time. This lets you integrate with automation tools like n8n, Make, Zapier, or your own API.

Send submissions to webhook URL
POST request with JSON payload on every submission.
Payload Example:
{ "event": "submission", "site_id": 1, "site_name": "My Contact Form", "submission_id": 42, "submitted_at": "2025-07-06 12:00:00", "fields": { "name": "Alice Chen", "email": "alice@example.com", "message": "Hello!" } }

Bot Protection

Configure honeypot and spam detection to filter bot submissions automatically.

Enable honeypot (invisible field bots fill, humans don't)
Injects an invisible _fr_hp field. If it has a value, the submission is rejected silently.
Enable keyword-based spam detection
Checks submission content against common spam patterns.

Enable per-site rate limiting
Prevents rapid-fire submissions to your form. Configurable below.
Maximum submissions allowed in a burst before throttling.
Submissions added per second. E.g. 0.5 = one submission every 2 seconds.

Client Embed Snippet

Add this to your client form to enable honeypot protection. Paste it inside the form tag:

Option 1 โ€” Inline HTML:
<input type="text" name="_fr_hp" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px;opacity:0;height:1px;width:1px;" />
Option 2 โ€” JavaScript auto-inject:
<script> (function(){ var form = document.querySelector('form[action*="/api/submit"]'); if (form) { var inp = document.createElement('input'); inp.type = 'hidden'; inp.name = '_fr_hp'; inp.tabIndex = -1; inp.style.cssText = 'position:absolute;left:-9999px;opacity:0;height:1px;width:1px;'; form.appendChild(inp); } })(); </script>
API endpoint:
POST /api/submit?token={{ site.token }}

Embed This Form on Your Website

Drop this snippet into any HTML page. The SDK fetches your form config, renders a styled form, handles submission, and includes honeypot protection โ€” no extra setup needed.

<script src="{{ base_url }}/embed.js"></script> <div id="agentform"></div> <script> AF.render('agentform', { token: '{{ site.token }}', theme: 'light', successMessage: "Thank you! Your submission was received.", onSubmit: function(data) { /* analytics hook */ } }); </script>

Configuration Options

token required โ€” Your form token: {{ site.token }}
theme โ€” 'light', 'dark', or 'transparent'
successMessage โ€” Shown after successful submission
errorMessage โ€” Shown on submission failure
submitLabel โ€” Button text (default: "Submit")
colors โ€” Override any CSS variable: { primary: '#4a9eff', bg: '#f5f5f5' }
onSubmit โ€” Callback function after successful submission
onError โ€” Callback function on submission failure

WordPress Plugin

Embed this form natively in WordPress โ€” no JavaScript required. Supports shortcodes, Gutenberg blocks, and automatic theme integration.

โฌ‡ Download Plugin (.zip) Install Guide โ†’
Install: Upload the .zip via Plugins โ†’ Add New โ†’ Upload Plugin, activate, then paste your form token on the AgentForms settings page.

What's Included

  • Auto-fetches field configuration from your form
  • Styled form matching your chosen theme
  • Client-side validation for required fields
  • Honeypot anti-bot protection (if enabled)
  • Loading spinner on submit
  • Success/error message handling
  • Impression tracking
  • Multi-step forms with progress bar
  • Conditional field visibility
  • Computed/calculated fields
  • Mobile-responsive layout

Share Your Form

Share your form via direct link, QR code, or embed it in an email campaign.

Hosted Form URL
{{ request.scheme }}://{{ request.host }}/f/{{ site.token }}
QR Code for {{ site.name }}
Scan with any smartphone camera to open the form.
Email Campaign HTML
Loading...
Paste into email marketing tools (Mailchimp, SendGrid, etc.).

Branding & Custom Domain

Customize your hosted form appearance and set up a custom domain. Custom domains require Pro tier.

Used for form headers, buttons, and focus states.
Displayed in the hosted form header.
Browser tab icon for your hosted form.
Used when sharing on social media.
Recommended: 1200ร—630px for optimal social sharing.

Form Performance

Full Analytics →
Total Submissions
โ€”
Last 7 Days
โ€”
Avg/Day
โ€”
Loading analytics...

Integrations

Connect your form to external services. Each submission will be automatically sent to all enabled destinations.

Loading integrations...

Export Submissions

Download all form submissions as CSV or JSON.

๐Ÿ“„ Export CSV ๐Ÿ“‹ Export JSON

Documents

Generate invoices, quotes, receipts, and custom documents from form submissions.

Templates Generate History Schedules Gallery
Loading templates...

Version History

Track changes to your form configuration. Click any version to compare or rollback.

Loading version history...

{% endblock %} {% block scripts %} {% endblock %}