Automate document signing from Fluent Forms submissions with WPsigner. You can generate a PDF from the form answers (content signing), fill a fixed PDF template, or use a Document Builder HTML template — then open the signing page immediately or email the signing request.
Choose your workflow
Section titled “Choose your workflow”| Workflow | Best for | Template type | Where you configure it | Feed required? |
|---|---|---|---|---|
| Content signing | Applications, registrations, agreements built from form answers | None (PDF built from the submission) | Form editor (+ optional feed for CC / title) | No (optional) |
| PDF template + feed | Fixed PDF contracts (NDA, lease, offer letter) | WPsigner PDF template | WPsigner → Integrations → Fluent Forms | Yes |
| Document Builder + feed | Contracts written in Document Builder | Document Builder HTML template | WPsigner → Fluent · Doc Builder (addon) | Yes |
How template feeds work
Section titled “How template feeds work”Both PDF template and Document Builder feeds follow the same delivery idea:
Form submitted → Feed runs → Document created from template → Mapped fields prefilled (signature / initials stay empty) → After submit: • Open signing page immediately → redirect to /insigner/{token} (no signing email) • Send signing request by email → email with signing link (no browser redirect)| Piece | Description |
|---|---|
| Feed | Rule that links one Fluent Form to one template |
| Primary signer | Name + email fields from the form (required) |
| Field mapping | Dropdown → dropdown: template field ↔ Fluent Forms field |
| After submit | Open for signing or email the signing request |
| Prefill | Text/date/name/company/etc. filled from the submission; signature and initials are never prefilled |
Content signing
Section titled “Content signing”Generate a signed PDF from the form submission content plus an inline signature. No PDF template upload is required.
How it works
Section titled “How it works”Form submitted → PDF built from answers → Signature applied → Audit trail + Certificate of Completion- Install Fluent Forms and WPsigner (3.1.1+ recommended for large forms + OTP).
- Edit your Fluent Form and add at least:
- A Name field (or Fluent Forms Names = first + last)
- An Email field
- The WPsigner Signing field (Draw / Type / Upload)
- Publish the form.
On submit, WPsigner captures the signature(s) and form data, generates the signed PDF, and runs the normal completion flow.
Optional feed (CC emails / title)
Section titled “Optional feed (CC emails / title)”A feed is optional for content signing. Create one only if you need:
- CC emails on the completion / signed-PDF copy (a form field and/or fixed addresses)
- A custom document title
Path: WPsigner → Integrations → Fluent Forms → New Feed
- Select a form that includes the WPsigner Signing field.
- Set Feed Name, the Fluent Form, and optional CC / document title.
- To copy a form value into CC, set CC email field (see CC emails below).
- Save the feed — you do not need to choose a PDF template for content signing.
If the feed is misconfigured but the form still has a Signing field, WPsigner falls back to automatic content signing.
Submission validation
Section titled “Submission validation”If PDF generation fails (missing signature data, server error, etc.), the form submission is blocked. Fluent Forms will not store an orphaned entry without a completed signed document.
WPsigner Signing field + OTP
Section titled “WPsigner Signing field + OTP”The WPsigner Signing field can require a one-time password before submit.
Enable OTP
Section titled “Enable OTP”- Edit the Fluent Form.
- Select the WPsigner Signing field.
- Set OTP verification to Enabled.
- Choose OTP delivery method:
| Method | Requirements |
|---|---|
| Email field on the form | |
| SMS | Phone field + Twilio configured |
| Email + SMS | Both email and phone fields |
| Phone field + WhatsApp configured |
- Save and publish.
Signer experience
Section titled “Signer experience”- User fills the form and provides a signature.
- On submit, an OTP modal appears.
- User enters the 6-digit code.
- After Identity verified, the form submits and the signed PDF is created.
Submit stays blocked until OTP succeeds. Use E.164 phone format for SMS/WhatsApp.
Merge tags in Fluent Forms emails
Section titled “Merge tags in Fluent Forms emails”Use these tags in Fluent Forms email notifications after content signing:
| Tag | Output |
|---|---|
{inSigner:signed_pdf_url} | Direct URL to download the signed PDF |
{inSigner:download_button} | HTML button linking to the signed PDF |
Example body:
<p>Your signed document is ready:</p>{inSigner:download_button}Tags resolve when the signed PDF URL is available (after successful signing).
PDF template + feed
Section titled “PDF template + feed”Use this when you have a fixed PDF (WPsigner template) and want form data mapped into fields, then either open the signing UI or email the request.
Admin page: WPsigner → Integrations → Fluent Forms (labeled Fluent Forms · PDF templates when Document Builder is also installed).
Prerequisites
Section titled “Prerequisites”- WPsigner 3.2.8+ for mapping a form field to CC (3.1.1+ for dropdown mapping, delivery modes, content-signing feeds, and OTP on large forms)
- Fluent Forms Free v5.x+ or Pro
- A published Fluent Form with name + email fields
- A WPsigner Template with fields placed on the PDF (signature, name, date, text, etc.)
Step 1 — Create a WPsigner PDF template
Section titled “Step 1 — Create a WPsigner PDF template”- Go to WPsigner → New Document.
- Upload your PDF.
- Add a signer (placeholder name/email is fine; the form will replace them).
- Place fields (Signature, Name, Email, Date, Text, etc.).
- On Review, Save as Template.
Step 2 — Create the Fluent Form
Section titled “Step 2 — Create the Fluent Form”Minimum fields:
| Field | Required | Purpose |
|---|---|---|
| Name | Yes | Primary signer name |
| Yes | Primary signer email / signing identity | |
| Company, phone, text, etc. | Optional | Available in Field mapping |
Do not add the WPsigner Signing field if you want PDF template mode. If that field is present, WPsigner treats the form as content signing and skips the PDF template feed path.
Step 3 — Create the feed
Section titled “Step 3 — Create the feed”- Go to WPsigner → Integrations → Fluent Forms.
- Click New Feed (centered modal).
- Configure:
Feed name
Section titled “Feed name”Internal label shown in the feeds list (e.g. NDA — website form).
Fluent Form
Section titled “Fluent Form”Published form that triggers the feed.
CC emails (optional)
Section titled “CC emails (optional)”The signed-PDF / completion copy can go to extra addresses. Configure this on the same feed used for content signing or for a PDF template (WPsigner 3.2.8+).
| Setting | Use when |
|---|---|
| CC email field | The address comes from a Fluent Forms field (the visitor types it, or Fluent Forms fills it from the URL / query string) |
| Additional CC emails | Fixed addresses, comma-separated (office@example.com, manager@example.com) |
You can use both. On submit WPsigner reads the mapped field and adds the fixed list. The field may contain several addresses separated by commas or semicolons. WPsigner does not parse merge tags such as {inputs.email} in the Additional CC emails box — pick the field in the dropdown instead.
Typical setup (CC from the form or from ?cc=):
- Add an Email field to the Fluent Form (label it something like “CC” if you want).
- Optional: let Fluent Forms fill that field from the URL (query parameter).
- Open WPsigner → Integrations → Fluent Forms → the feed.
- Set CC email field to that Email field.
- Save the feed. Submit a test. The address in that field should receive the signed-PDF copy.
Leave both settings empty if you do not need CC.
WPsigner template
Section titled “WPsigner template”PDF template used to create the document.
Document title
Section titled “Document title”Supports merge tags:
| Variable | Replaced with |
|---|---|
{{signer_name}} | Signer name from the form |
{{signer_email}} | Signer email from the form |
{{date}} | Current date |
{{company_name}} | Company name when available |
Example: NDA - {{signer_name}} - {{date}}
Primary signer
Section titled “Primary signer”| Control | Meaning |
|---|---|
| Name field | Fluent Forms field for signer name |
| Email field | Fluent Forms field for signer email |
Both are required. If either is empty or the email is invalid on submit, that feed run is skipped.
Field mapping
Section titled “Field mapping”Map template fields → form fields with two dropdowns (no typing custom.*):
| Side | Source | What you see |
|---|---|---|
| Left | WPsigner template | Human-readable field label (user label, or default type name such as Name / Date / Email). Duplicates become Name (2). |
| Right | Fluent Forms | Form field labels |
Rules:
- Click Add for each row.
- Signature and initials template fields are not listed and are never prefilled — the signer completes them on the signing page.
- Values from the submission are written into the created document before delivery.
After submit
Section titled “After submit”| Option | What happens |
|---|---|
| Open signing page immediately | Document is set to sent, fields are prefilled, no signing email is sent. Fluent Forms confirmation redirects the browser to /insigner/{token} so the submitter can sign right away. |
| Send signing request by email | Document is set to sent and each signer (including additional signers, if configured) receives the signing-request email. No browser redirect to the signing page. |
Feed enabled
Section titled “Feed enabled”When disabled, the feed does not run on submissions.
- Click Save Feed.
Step 4 — Test
Section titled “Step 4 — Test”Open for signing
- Submit the form on the front end.
- You should be redirected to the WPsigner signing page.
- Prefillable fields (name, date, text, etc.) should already be filled.
- Complete Signature (and initials if present).
- Submit the form.
- Check the signer inbox for the signing request.
- Open the link and confirm prefilled fields + empty signature.
Also verify under WPsigner → Documents that the new document exists with status sent.
Document Builder + Fluent Forms
Section titled “Document Builder + Fluent Forms”If the WPsigner Document Builder addon is installed (1.5.2+ recommended), you can map a Fluent Form to a Document Builder template instead of a PDF template.
Admin page: WPsigner → Fluent · Doc Builder (also linked from the PDF Fluent Forms page under “Which documents do you create from Fluent Forms?”).
What it does
Section titled “What it does”- On submit, clones the Document Builder template into a new document.
- Prefills mapped fields from the Fluent Forms submission.
- Sets status to sent without requiring the admin wizard.
- Delivers via the same two options:
- Open signing page immediately (redirect, no email)
- Send signing request by email
Feed settings (Document Builder)
Section titled “Feed settings (Document Builder)”| Setting | Description |
|---|---|
| Fluent Form | Published form |
| Document Builder template | Saved IDB template |
| Document title | Optional; entry id may be appended for uniqueness |
| Signer name / email fields | Dropdowns of form fields |
| Field mapping | Form field label → document field label (both dropdowns) |
| After submit | Open for signing or email |
| Enabled | On/off |
Integration settings page
Section titled “Integration settings page”WPsigner → Integrations → Fluent Forms
- Connection status and counts
- Feed list (with delivery badges such as Open for signing / Email signing request)
- When Document Builder is active: chooser cards linking PDF templates vs Document Builder, plus a warning listing forms already used by the other feed type
Managing feeds
Section titled “Managing feeds”Edit on the feed card → change settings → Save Feed.
Enable / disable
Section titled “Enable / disable”Toggle on the card. Enabling is blocked if the same form already has an enabled feed of the other type (PDF vs Document Builder).
Delete
Section titled “Delete”Trash icon → confirm. Existing documents are not deleted.
Multiple feeds
Section titled “Multiple feeds”- Multiple PDF feeds on different forms — supported.
- Multiple PDF feeds on the same form — all enabled PDF feeds for that form can run (template mode). Prefer one clear feed per form unless you intentionally want multiple documents.
- PDF feed + Document Builder feed on the same form — not allowed while both are enabled.
Confirmation behavior
Section titled “Confirmation behavior”Open signing page immediately
Section titled “Open signing page immediately”WPsigner hooks Fluent Forms confirmation (fluentform/submission_confirmation) and sets redirectUrl to the primary signer’s signing URL. The submitter lands on the signing UI after AJAX submit.
You do not need a custom Fluent Forms redirect URL for this mode.
Send by email
Section titled “Send by email”Fluent Forms shows its normal confirmation message. Point users to check email if you customize that message.
Content signing
Section titled “Content signing”Use Fluent Forms confirmations / notifications as usual. Prefer merge tags {inSigner:signed_pdf_url} / {inSigner:download_button} in notifications after the PDF exists.
Use cases
Section titled “Use cases”| Scenario | Recommended setup |
|---|---|
| Kiosk / same-device signing after a form | PDF or Document Builder feed → Open signing page immediately |
| Remote signer after website form | PDF or Document Builder feed → Send signing request by email |
| Application form that is the contract | Content signing (WPsigner Signing field on the form) |
| Fixed NDA PDF with company/phone prefilled | PDF template feed + field mapping dropdowns |
| HTML contract from Document Builder | Document Builder Fluent feed |
Troubleshooting
Section titled “Troubleshooting”| Issue | Cause | Solution |
|---|---|---|
| No document created | Feed disabled or incomplete | Enable feed; set form, template, signer name/email |
| Save blocked: “Please fill in Feed Name and Form” | Content-signing feed treated as if a template were required | Update to 3.1.1+. For content signing you only need Feed Name + Form (no template) |
| OTP shows verified, then “Please verify your identity…” | Older core lost the OTP token on large AJAX submits | Update to 3.1.1+, hard-refresh the form, complete OTP again |
| Wrong signer name on the document | Mapped a Username / login field instead of Name | Map the Name or Names field; avoid “Username” |
| Save/enable blocked mentioning Document Builder / PDF feed | Same form already has the other feed type enabled | Disable the other feed or use a different form |
| Not redirected after submit | Delivery set to email, or feed failed | Use Open signing page immediately; confirm name/email valid |
| No signing email | Delivery set to open-for-signing, or SMTP issue | Use Send signing request by email; check WordPress mail |
| Prefill empty | Field mapping missing or wrong fields | Re-map with dropdowns; double-click template fields and set clear Field names |
| Dropdown shows only type names | Template field labels empty | Edit the template → double-click each field → set Field name |
| Signature already filled | — | Signature/initials are never prefilled by design |
| “Fluent Forms is not installed” | Plugin inactive | Install/activate Fluent Forms |
| Form submission blocked | Content signing PDF/OTP failure | Check Signing field, OTP channels, debug.log |
| Merge tags empty | Used too early | Use in post-submission notifications |
| Rapid tests stop creating docs | Rate limit | Max 10 documents per minute per form |
| CC did not get the signed PDF | Field not mapped, merge tag typed in Additional CC emails, or WPsigner older than 3.2.8 | Update to 3.2.8+. Set CC email field to the form’s Email/CC field. Put only real addresses in Additional CC emails. |
Debug log
Section titled “Debug log”define('WP_DEBUG', true);define('WP_DEBUG_LOG', true);Check wp-content/debug.log for WPS, FluentForms, or IDB FluentForms entries.
Compatibility
Section titled “Compatibility”| Component | Supported |
|---|---|
| Fluent Forms Free | v5.0+ |
| Fluent Forms Pro | All versions |
| WPsigner (PDF feeds, content signing, OTP on large forms, dropdown mapping) | 3.1.1+ recommended |
| WPsigner (CC email field on Fluent feeds) | 3.2.8+ |
| WPsigner Document Builder (Fluent Doc Builder feeds) | 1.5.2+ recommended |
| WordPress | 5.8+ |
| PHP | 7.4+ |
Next steps
Section titled “Next steps”- Formidable Forms — Same workflows on Formidable Forms
- E2Pdf — Formidable + E2Pdf → WPsigner signing (not available on Fluent Forms)
- Smart Signing Forms — Standalone signing forms without Fluent Forms
- Creating documents — Document statuses and actions
- Form fields — Field types on templates
- WhatsApp — Deliver signing links via WhatsApp
- REST API — Programmatic integrations