Automate document signing from Formidable Forms submissions with WPsigner. You can generate a PDF from the form answers (content signing), fill a fixed WPsigner PDF template, or let E2Pdf build the PDF from the entry — then open the signing page immediately or email the signing request.
Admin path: WPsigner → Integrations → Formidable Forms
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 → Formidable Forms | Yes |
| E2Pdf + feed | PDFs already designed in E2Pdf for a Formidable form | E2Pdf template (Formidable) | WPsigner → Integrations → Formidable Forms (E2Pdf plugin required) | Yes |
How template feeds work
Section titled “How template feeds work”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 Formidable Form to one template |
| Primary signer | First name / full name, optional last name, and email from the form |
| Field mapping | Dropdown → dropdown: template field ↔ Formidable 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 Formidable Forms and WPsigner (3.2.12+).
- Edit your Formidable Form and add at least:
- A Name field
- An Email field
- The WPsigner Signing field (Draw / Type / Upload), or the Formidable Pro Signature field
- Publish the form.
On submit, WPsigner captures the signature(s) and form data, generates the signed PDF, and runs the normal completion flow. Formidable’s success message then shows a Download Signed PDF button.
The WPsigner Signing field must appear as a draw / type / upload pad, not a plain text box. On Formidable 6, WPsigner registers its own field type so Pro does not convert it to text. If you still see a text input, update to 3.2.12+ and hard-refresh the form.
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 → Formidable Forms → New Feed
- Select a form that includes the WPsigner Signing field (or a Pro Signature field).
- Set Feed Name, the Formidable 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 timing
Section titled “Submission timing”OTP is checked before Formidable stores the entry (frm_validate_entry). Content signing runs after the entry is created (frm_after_create_entry). If PDF generation fails after a valid submit, check debug.log — the Formidable entry may already exist.
WPsigner Signing field + OTP
Section titled “WPsigner Signing field + OTP”The WPsigner Signing field is Draw / Type / Upload on the form (Lite and Pro). It can require a one-time password before submit.
Enable OTP
Section titled “Enable OTP”- Edit the Formidable 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.
Download the signed PDF
Section titled “Download the signed PDF”After content signing, WPsigner appends a Download Signed PDF button to Formidable’s confirmation message. No merge tag is required on the success text.
Use tags when you want the link in emails, a custom confirmation, or a thank-you page:
| Tag | Output |
|---|---|
[wps_signed_pdf_url] | Direct URL to download the signed PDF |
{inSigner:signed_pdf_url} | Same URL (Fluent-style alias) |
{inSigner:download_button} / [wps_download_button] | HTML button linking to the signed PDF |
Example email body:
<p>Your signed document is ready:</p>{inSigner:download_button}Tags resolve after the signed PDF exists. If Formidable’s confirmation is a redirect to another URL (not the signing page), add a tag on that page or rely on the email.
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 → Formidable Forms.
Prerequisites
Section titled “Prerequisites”- WPsigner 3.2.12+
- Formidable Forms Lite or Pro
- A published Formidable 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 Formidable Form
Section titled “Step 2 — Create the Formidable Form”Minimum fields:
| Field | Required | Purpose |
|---|---|---|
| Name (or First name) | Yes | Primary signer first name or full name |
| Last name | Optional | Map this when first and last are independent fields |
| 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 → Formidable 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).
Formidable Form
Section titled “Formidable Form”Published form that triggers the feed.
CC emails (optional) {#cc-emails-optional}
Section titled “CC emails (optional) {#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.
| Setting | Use when |
|---|---|
| CC email field | The address comes from a Formidable field |
| 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 Formidable shortcodes such as [x] in the Additional CC emails box — pick the field in the dropdown instead.
Typical setup:
- Add an Email field to the form (label it something like “CC” if you want).
- Open WPsigner → Integrations → Formidable 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 {#primary-signer}
Section titled “Primary signer {#primary-signer}”| Control | Meaning |
|---|---|
| First name / full name | Formidable field for first name, or a combined Name field |
| Last name (optional) | Independent last-name field. Leave empty when the first mapping already has the full name |
| Email field | Formidable field for signer email |
First name / full name and email are required. Last name is optional. If the required values are empty or the email is invalid on submit, that feed run is skipped.
Additional signers {#additional-signers}
Section titled “Additional signers {#additional-signers}”Use Add under Additional Signers for a second (or third) person on the same PDF. Each row needs a Name field and an Email field on the form.
CC emails are copies, not signers.
Signing order
| Mode | What happens |
|---|---|
| Sequential (default when you add extra signers) | Signer 1 is invited first. When they finish, WPsigner emails signer 2. The document is completed only after everyone has signed. |
| Parallel | Everyone is invited at once. If Open signing page immediately is on, extra signers still get their email. |
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 |
| Right | Formidable Forms | Form field labels, including Name (First) / (Middle) / (Last) |
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. The browser opens the first signer’s page. Sequential extra signers are emailed after the previous person finishes; parallel extra signers are emailed now. |
| Send signing request by email | Document is set to sent. Sequential: only signer 1 is emailed now. Parallel: every signer is emailed. No browser redirect. |
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.
E2Pdf + feed {#e2pdf—feed}
Section titled “E2Pdf + feed {#e2pdf—feed}”Use this when the PDF is already designed in E2Pdf for a Formidable form. E2Pdf fills the file from the entry. WPsigner then stores it, adds a signature box per signer, and opens or emails the signing request.
Requires WPsigner 3.2.25+ and an active E2Pdf plugin. The E2Pdf template dropdown is hidden when E2Pdf is not installed. Saved E2Pdf feeds show an E2Pdf tag on the card. Edit reopens the current form, template, signers, boxes, and After submit settings.
How it works
Section titled “How it works”Form submitted → E2Pdf generates the filled PDF → WPsigner stores the file and creates a document → Signature box added (one per signer) → After submit: open signing page or email the requestPick either an E2Pdf template or a WPsigner PDF template on the same feed — not both. Field mapping is not used in this mode; E2Pdf already maps Formidable fields.
- Install and activate E2Pdf. Create a template whose source is that Formidable form.
- Go to WPsigner → Integrations → Formidable Forms → New Feed.
- Select the form, signer name/email, delivery, and optional extra signers.
- Set E2Pdf template. Leave WPsigner Template empty.
- Save the feed and submit a test.
Developers can force a template with wps_formidableforms_e2pdf_template_id, or adjust boxes with wps_formidableforms_e2pdf_signature_fields.
Integration settings page
Section titled “Integration settings page”WPsigner → Integrations → Formidable Forms
- Connection status and counts
- Feed list (with an E2Pdf tag when that template is used, plus delivery badges such as Open for signing / Email signing request)
Managing feeds
Section titled “Managing feeds”Edit on the feed card reopens the saved configuration (form, template or E2Pdf, signers, placement, After submit). Change what you need, then Save Feed.
Enable / disable
Section titled “Enable / disable”Toggle on the card.
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.
Confirmation behavior
Section titled “Confirmation behavior”Open signing page immediately
Section titled “Open signing page immediately”WPsigner sets the Formidable confirmation to a redirect (frm_success_filter + frm_redirect_url) to the primary signer’s signing URL.
You do not need a custom Formidable redirect URL for this mode.
Send by email
Section titled “Send by email”Formidable shows its normal confirmation message. Point users to check email if you customize that message.
Content signing
Section titled “Content signing”The signer stays on the form. The confirmation message includes Download Signed PDF. Emails can still use the merge tags.
Use cases
Section titled “Use cases”| Scenario | Recommended setup |
|---|---|
| Kiosk / same-device signing after a form | PDF template feed → Open signing page immediately |
| Remote signer after website form | PDF template 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 |
| PDF already designed in E2Pdf | E2Pdf feed (3.2.21+) |
Developer hooks
Section titled “Developer hooks”wps_formidableforms_before_process
Section titled “wps_formidableforms_before_process”Fires after the Formidable entry is loaded, before any WPsigner feed runs.
add_action('wps_formidableforms_before_process', function ($entry_id, $form_id, $entry, $form) { // Inspect the submission before WPsigner creates a document}, 10, 4);wps_formidableforms_document_created
Section titled “wps_formidableforms_document_created”Fires after a document is created from a PDF-template feed.
add_action('wps_formidableforms_document_created', function ($document_id, $entry_id, $entry, $form, $feed) { // Custom logic after document creation}, 10, 5);wps_formidableforms_content_signing_completed
Section titled “wps_formidableforms_content_signing_completed”Fires after inline content signing finishes.
add_action('wps_formidableforms_content_signing_completed', function ($document_id, $signer_id, $entry, $feed) { // Custom logic after content signing}, 10, 4);Completed documents also fire the generic wps_document_completed and wps_pdf_completed hooks.
wps_formidableforms_e2pdf_template_id
Section titled “wps_formidableforms_e2pdf_template_id”Return an E2Pdf template ID. Ignored when the feed already has a WPsigner template_id.
add_filter('wps_formidableforms_e2pdf_template_id', function ($id, $feed, $entry, $form) { return (int) $id;}, 10, 4);wps_formidableforms_e2pdf_document_created
Section titled “wps_formidableforms_e2pdf_document_created”Fires after a document is created from an E2Pdf feed.
add_action('wps_formidableforms_e2pdf_document_created', function ($document_id, $entry_id, $entry, $form, $feed, $template_id, $path) { // Custom logic after E2Pdf document creation}, 10, 7);Troubleshooting
Section titled “Troubleshooting”| Issue | Cause | Solution |
|---|---|---|
| No document created | Feed disabled or incomplete | Enable feed; set form, WPsigner or E2Pdf template, signer name/email |
| Feed reopens empty (name, email at zero) | Slow feed load saved empty defaults | Update to 3.2.15+, then Save Feed once more |
| Second signer never emailed / “Document Completed” too soon | Extra person was only in CC | Add Additional Signers on the feed and set Sequential (3.2.14+) |
| Save blocked: “Please fill in Feed Name and Form” | Missing required fields | Fill Feed Name + Form. For content signing you do not need a template |
| Wrong signer name on the document | Mapped a Username / login field instead of Name | Map the Name field; avoid “Username” |
| Not redirected after submit | Delivery set to email, feed failed, or Formidable On Submit stayed on “message” | Use 3.2.25+, Open signing page immediately, and confirm name/email. Formidable 6 “Show message” is rewritten to the signing URL. |
| 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; set clear Field names on the template |
| Signature already filled | — | Signature/initials are never prefilled by design |
| “Formidable Forms is not installed” | Plugin inactive | Install/activate Formidable Forms Lite or Pro |
| Form submission blocked on OTP | Code missing or expired | Complete OTP; check Twilio / WhatsApp if using SMS |
| Merge tags empty | Used too early | Use in post-submission notifications after content signing succeeds. The on-page download button does not need a tag |
| No download button after signing | Confirmation is a redirect, or PDF failed | Use Formidable’s Show message confirmation; check WPsigner → Documents |
| Pad looks like a text box | Formidable 6 converted the type | Update to 3.2.12+, hard-refresh. The field must stay type insigner_signing |
| “Your entry appears to be blocked spam!” | Formidable scanned the PNG as text | Update to 3.2.12+. That message is from Formidable, not WPsigner. Name / email / message are still checked |
| E2Pdf dropdown missing | E2Pdf plugin inactive | Install/activate E2Pdf. Only Formidable-connected E2Pdf templates are listed |
| E2Pdf feed creates no PDF | Shortcode did not return a local PDF | Confirm the E2Pdf template is Formidable-based and the entry exists. Check debug.log for [inSigner FormidableE2Pdf] |
| Rapid tests stop creating docs | Rate limit | Max 10 documents per minute per form |
| CC did not get the signed PDF | Field not mapped, or a Formidable shortcode typed in Additional CC emails | 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 [inSigner FormidableForms] entries.
Compatibility
Section titled “Compatibility”| Component | Supported |
|---|---|
| Formidable Forms Lite | Current versions (field hooks frm_available_fields, frm_form_fields) |
| Formidable Forms Pro | All versions (native Signature field accepted) |
| WPsigner | 3.2.12+ (E2Pdf feeds 3.2.21+) |
| E2Pdf | Optional. Required only for the E2Pdf template dropdown |
| WordPress | 5.8+ |
| PHP | 7.4+ |
Formidable vs Fluent Forms
Section titled “Formidable vs Fluent Forms”| Topic | Formidable Forms | Fluent Forms |
|---|---|---|
| Admin page | WPsigner → Integrations → Formidable Forms | WPsigner → Integrations → Fluent Forms |
| Signing field | WPsigner Signing (Lite + Pro) or native Pro Signature | WPsigner Signing |
| Content signing | Yes (feed optional) | Yes (feed optional) |
| PDF template feeds | Yes | Yes |
| E2Pdf feeds | Yes (3.2.21+, E2Pdf plugin required) | No |
| Document Builder feeds | Not in this release | Yes (addon) |
| OTP | Email, SMS, both, WhatsApp | Email, SMS, both, WhatsApp |
| CC field + extra addresses | Yes | Yes |
| Signed-PDF download | Auto button on success + tags | Tags in confirmation / email |
| Submit hooks | frm_after_create_entry, frm_validate_entry, frm_success_filter, frm_redirect_url | fluentform/submission_inserted, confirmation redirect |
Next steps
Section titled “Next steps”- Fluent Forms — Same workflows on Fluent Forms
- Gravity Forms — Feed-based Gravity integration
- Contact Form 7 — Same workflows on Contact Form 7
- Creating documents — Document statuses and actions
- Form fields — Field types on templates
- WhatsApp — Deliver signing links via WhatsApp
- REST API — Programmatic integrations