Elementor Forms
Overview
Section titled “Overview”The Elementor Forms integration lets you automatically create WPsigner documents whenever a user submits an Elementor Pro form. Each submission can generate a pre-filled document and optionally send it for signing immediately.
Requirements
Section titled “Requirements”| Requirement | Version |
|---|---|
| WPsigner | 1.5.0+ |
| Elementor Pro | 3.0+ |
| WordPress | 5.8+ |
| PHP | 7.4+ |
1. Navigate to Integration Settings
Section titled “1. Navigate to Integration Settings”Go to WPsigner → Integrations and click Configure on the Elementor Forms card.
2. Create a Feed
Section titled “2. Create a Feed”Click New Feed to open the feed editor:
| Field | Description |
|---|---|
| Feed Name | A descriptive name (e.g. “Contact NDA”) |
| Elementor Form | Select from discovered forms on your site |
| WPsigner Template | The template to use for document generation |
| Document Title | Supports {{signer_name}}, {{signer_email}}, {{date}} |
| Primary Signer | Map Name and Email fields from the form |
| Variable Mapping | Map form fields to template variables |
| Auto-send | Send signing email immediately after creation |
3. Map Fields
Section titled “3. Map Fields”After selecting a form, its fields will load automatically. Map the Name and Email fields to identify the signer.
Use Variable Mapping to fill template variables with form data. For example:
custom.company→ Company fieldcustom.phone→ Phone field
4. Enable and Save
Section titled “4. Enable and Save”Toggle “Feed enabled” and click Save Feed. The feed will process all future submissions of the selected form.
How It Works
Section titled “How It Works”User submits Elementor form ↓WPsigner checks for matching feeds (by form_id) ↓Creates document from template with mapped fields ↓(Optional) Sends signing email to signer- When a form is submitted, the
elementor_pro/forms/new_recordhook fires. - WPsigner checks if any enabled feeds match the submitted form’s ID.
- For each matching feed, it extracts signer name/email from the configured fields.
- A new document is created from the selected template, with form fields mapped to template variables.
- If auto-send is enabled, a signing request email is dispatched.
Form Discovery
Section titled “Form Discovery”WPsigner automatically scans all published pages and posts that use Elementor to discover forms. Each form is identified by its widget ID and the page/post title where it appears.
Security
Section titled “Security”| Feature | Implementation |
|---|---|
| Authentication | Nonce verification + manage_options capability on every AJAX handler |
| Input Validation | sanitize_text_field, absint, regex for variable names |
| Email Validation | sanitize_email + is_email double check |
| Rate Limiting | 10 documents/minute per form via WordPress transients |
| Duplicate Prevention | SHA-256 submission hash stored in transients for 1 hour |
| Error Logging | PII-redacted logging when WP_DEBUG is enabled |
Multiple Feeds
Section titled “Multiple Feeds”You can create multiple feeds for the same form — for example, to generate different documents for different templates. Each feed operates independently with its own field mappings and auto-send settings.
Troubleshooting
Section titled “Troubleshooting”No forms appear in the dropdown
Section titled “No forms appear in the dropdown”- Ensure Elementor Pro is installed and activated.
- Check that you have at least one published page with an Elementor Form widget.
- Forms on draft or private pages are not discovered.
Document not created on submission
Section titled “Document not created on submission”- Verify the feed is enabled.
- Check that the form ID matches (edit the feed to confirm).
- Look in WPsigner → Audit for error logs.
- Ensure the template still exists (deleted templates cause feed failures).
Signer doesn’t receive email
Section titled “Signer doesn’t receive email”- Confirm Auto-send is checked in the feed settings.
- Verify the mapped email field contains a valid email address.
- Check your WordPress email configuration (SMTP plugin, mail logs).
Technical Reference
Section titled “Technical Reference”Hooks Used
Section titled “Hooks Used”| Hook | Purpose |
|---|---|
elementor_pro/forms/new_record | Processes form submissions |
Option Keys
Section titled “Option Keys”| Option | Description |
|---|---|
wps_elementorforms_feeds | Stores all feed configurations (JSON) |
AJAX Actions
Section titled “AJAX Actions”| Action | Purpose |
|---|---|
wps_ef_get_form_fields | Retrieve fields for a specific form |
wps_ef_save_feed | Save a feed configuration |
wps_ef_get_feed | Get a single feed by ID |
wps_ef_delete_feed | Delete a feed |
wps_ef_toggle_feed | Enable/disable a feed |
Use Cases
Section titled “Use Cases”| Scenario | Setup |
|---|---|
| Landing page NDA | Elementor landing page form → NDA template → Auto-send |
| Service quote | Quote request form → Service agreement template |
| Event registration | Registration form → Waiver template → Auto-send |
| Client onboarding | Onboarding form → Client contract template → Auto-send |
| Freelancer proposals | Project brief form → Proposal/contract template |
| Rental agreements | Booking form → Rental agreement template → Auto-send |
| Employee agreements | HR form → Employment contract template |
| Consent collection | Consent form → Consent document template → Auto-send |
Compatibility
Section titled “Compatibility”| Component | Supported Versions |
|---|---|
| Elementor Pro | 3.0+ (required for Forms widget) |
| WPsigner | 1.5.0+ |
| WordPress | 5.8+ |
| PHP | 7.4+ |
Next Steps
Section titled “Next Steps”- Templates — Learn more about creating and managing templates
- Document Workflow — Understanding document statuses and actions
- REST API — For advanced programmatic integrations
- WhatsApp Integration — Send signing links via WhatsApp
- Gravity Forms — Alternative form plugin integration
- Fluent Forms — Fluent Forms integration
- Automation — Connect with workflow automation platforms