Skip to content

WPForms Integration

Automate your document signing workflow by connecting WPForms with WPsigner. When a form is submitted, WPsigner automatically creates a document from a template, maps the signer information, and sends it for signature — all without writing any code.


The integration uses a feed-based system. Each feed connects one WPForms form to one WPsigner Template:

Form Submitted → Feed Triggers → Document Created from Template → Email Sent to Signer
ComponentDescription
FeedA connection rule that links a form to a template
TemplateA pre-configured PDF with signature fields positioned via drag & drop
Signer MappingLinks form fields (Name, Email) to the document signer
Variable MappingPasses extra form data as template variables
Auto-sendOptionally sends the signing email immediately

Before setting up the integration, you need:

  1. WPsigner installed and activated (v1.4.0+)
  2. WPForms installed and activated (Lite or Pro)
  3. At least one WPForms form created with name and email fields
  4. At least one WPsigner Template with signature fields configured

A template is a reusable PDF document with pre-positioned fields (signature, name, email, date, etc.). The template defines where the signer will sign and what information they need to fill in.

Creating a Template from the Document Editor

Section titled “Creating a Template from the Document Editor”
  1. Go to WPsigner → New Document
  2. Upload your PDF document (e.g., NDA, contract, service agreement)
  3. Add a signer in Step 2 (Signers)
    • Enter any placeholder name and email — these will be replaced by the form data
  4. Position your fields in Step 3 (Fields)
    • Drag and drop Signature, Name, Email, Date, or Text fields onto the PDF
    • Position them exactly where you want them to appear
    • Resize fields as needed
  5. Go to Step 4 (Review) and click Save as Template
  6. Enter a template name (e.g., “NDA Contract”) and optional description
  7. Click Save Template

After saving, verify the template was created correctly:

  1. Go to WPsigner → Templates
  2. You should see your new template listed with the field count
  3. You can preview the template to confirm field positions

If you don’t already have a form, create one in WPForms:

  1. Go to WPForms → Add New
  2. Choose a template or start from a Blank Form
  3. Add at minimum:
    • A Name field (Simple or First/Last)
    • An Email field
  4. You can add additional fields that will be available for variable mapping (company, phone, address, etc.)
  5. Save the form and embed it on a page
FieldPurposeRequired
NameMaps to document signer name✅ Yes
EmailMaps to signer email for signing link✅ Yes
Single Line Text (Company)Can be mapped to template variablesOptional
PhoneCan be mapped to template variablesOptional
AddressCan be mapped to template variablesOptional
Paragraph TextAny additional data for the documentOptional

  1. Go to WPsigner → Integrations in your WordPress admin
  2. Locate the WPForms card under WordPress Plugins
  3. Click Configure

You’ll see the WPForms Integration page with:

  • A status badge showing Connected (if WPForms is active)
  • The count of available forms and configured feeds
  • A New Feed button
  1. Click the New Feed button
  2. A modal window will appear with the following configuration options:
  • Give your feed a descriptive name (e.g., “NDA Contract Feed”, “Service Agreement - Signup”)
  • This name is shown in the feeds list for easy identification
  • Select the WPForms form that will trigger this integration from the dropdown
  • All active WPForms forms on your site will be listed
  • When you select a form, its fields are automatically loaded for mapping
  • Select the WPsigner template to use when creating documents
  • Only templates with configured fields will work correctly
  • Define the title for each generated document
  • You can use dynamic variables that will be replaced with actual data:
VariableReplaced WithExample
{{signer_name}}Signer’s full nameJohn Smith
{{signer_email}}Signer’s emailjohn@example.com
{{date}}Current date2026-02-07
{{company_name}}Company name (if mapped)Acme Corp

Example title: NDA - {{signer_name}} - {{date}} This would generate: “NDA - John Smith - 2026-02-07”

Map the form fields to the signer information:

  • Name Field: Select which WPForms field contains the signer’s name
  • Email Field: Select which WPForms field contains the signer’s email
    • The signing link will be sent to this email address

Both the Name and Email fields are required. If either is missing when the form is submitted, the integration will skip the submission and log the error.

Map additional form fields to template variables. This allows you to pass extra data from the form into the document:

  1. Click Add to add a new mapping row
  2. In the left input, enter the variable name (e.g., custom.company, custom.phone)
  3. In the right dropdown, select the corresponding WPForms field
  4. Repeat for each variable you want to map

Example mappings:

VariableForm FieldUse Case
custom.companyCompany NameInclude company in document
custom.phonePhone NumberAdd phone to document
custom.addressAddressInclude address in document
custom.amountPayment AmountAdd pricing to contract
  • Enabled ✅ (default): The signer receives an email with the signing link immediately after form submission
  • Disabled: The document is created but stays in “Draft” status. You can manually send it later from the WPsigner dashboard
  • Enabled ✅ (default): The feed is active and will trigger on form submissions
  • Disabled: The feed is paused and will not create documents

Click Save Feed to save the configuration. The page will reload and you’ll see your new feed in the list.


  1. Open your WPForms form on the frontend
  2. Fill in the form with test data:
    • Enter your own name and email so you receive the signing email
  3. Submit the form
  4. Check your email for the signing link (if Auto-send is enabled)
  5. Verify in WPsigner:
    • Go to WPsigner → Documents
    • You should see a new document with the title you configured
    • Open the document to verify:
      • The signer’s name and email are correct
      • The fields (signature, name, email, date) are positioned correctly on the PDF
  6. Complete the signing to verify the full end-to-end flow

  1. Go to WPsigner → Integrations → WPForms
  2. Click the Edit button on the feed card
  3. Modify the settings as needed
  4. Click Save Feed
  • Click the Enable or Disable button on the feed card to toggle the feed status
  • Disabled feeds will not trigger on form submissions
  1. Click the Delete button (trash icon) on the feed card
  2. Confirm the deletion
  3. The feed will be permanently removed

ScenarioSetup
Client onboardingContact form → NDA template → Auto-send
Quote requestsQuote form → Service agreement template
Job applicationsApplication form → Offer letter template
Event registrationRegistration form → Waiver template → Auto-send
Lead captureLead form → Follow-up contract template
Rental agreementsBooking form → Rental agreement template → Auto-send
Service agreementsOrder form → Service contract template

You can create multiple feeds for the same form or template:

  • One form, multiple templates: Submit one form and generate different documents based on different templates
  • Multiple forms, one template: Different forms can all use the same document template with different signer data
  • One-to-one: Each form has its own dedicated template

Each feed operates independently. When a form is submitted, all active feeds linked to that form will trigger.


After the form is submitted and the document is created, you can customize what the user sees:

  1. Go to WPForms → Edit Form → Settings → Confirmations
  2. Set the confirmation type to Message
  3. Customize the message:
Thank you! Please check your email for a signing link. You will receive a document to sign shortly.

Once the signer signs the document:

  • They see a completion page with a success message
  • A signed copy is stored in WPsigner
  • The document status updates to Completed

FeatureLite (Free)Pro
Form creation
Name & Email fields
WPsigner feed integration
Document auto-send
Variable mapping
Entry storage & meta
Conditional logic on fields

The integration fires an action hook after creating a document, allowing developers to extend the workflow:

/**
* Fires after a document is created from a WPForms submission.
*
* @param int $document_id Created document ID.
* @param int $entry_id Form entry ID (0 with Lite).
* @param array $fields Submitted field values.
* @param array $form_data Form configuration data.
* @param array $feed Feed configuration used.
*/
do_action('wps_wpforms_document_created', $document_id, $entry_id, $fields, $form_data, $feed);

Example usage:

add_action('wps_wpforms_document_created', function ($document_id, $entry_id, $fields, $form_data, $feed) {
// Send a Slack notification
wp_remote_post('https://hooks.slack.com/services/...', [
'body' => wp_json_encode([
'text' => "New document #{$document_id} created from WPForms submission.",
]),
'headers' => ['Content-Type' => 'application/json'],
]);
}, 10, 5);

IssueCauseSolution
No document created after form submissionFeed not activeCheck feed is enabled
No document createdForm or template not selectedVerify feed configuration
Signer not receiving emailAuto-send not enabledEnable “Auto-send document” in the feed
Signer not receiving emailSMTP issueCheck your WordPress email configuration
Fields not appearing on signed PDFTemplate has no fieldsRe-create the template with fields positioned correctly
Wrong signer name/emailField mapping incorrectEdit the feed and check the Primary Signer mapping
”WPForms is not installed” warningPlugin not activeInstall and activate WPForms

If documents are not being created, check the WordPress debug log:

  1. Enable debug logging in wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
  1. Check the log file at wp-content/debug.log
  2. Look for entries starting with [WPsigner WPForms]

The integration has a built-in rate limit of 10 documents per minute per form to prevent abuse. If you’re testing rapidly, wait a minute between submissions.


ComponentSupported Versions
WPForms Litev1.6+ ✅
WPForms ProAll versions ✅
WPsignerv1.4.0+
WordPress5.8+
PHP7.4+