Elementor Form Backend: Send Submissions to Static Forms
The Elementor Pro form widget runs a list of actions after a visitor submits: send an email, save to a list, call a service. The Static Forms WordPress plugin adds one more action to that list, named Static Forms. It sends the fields to Static Forms from your WordPress server, so the API key never reaches the visitor's browser.
You get the notification email, spam filtering and the Inbox from Static Forms, and you keep the Elementor form design.
We make Static Forms, the form backend in the examples. Elementor is a separate product, and the action needs Elementor Pro.
What you need
- Elementor Pro with a form widget on a page
- A free Static Forms account and a form in the Static Forms app
- The Static Forms plugin ZIP, from the WordPress integration docs
Step 1: Install the plugin and set a key
Upload the ZIP under Plugins → Add New → Upload Plugin and activate it. Copy your form's API key from the General tab of the form in Static Forms. It starts with sf_ and isn't a secret. Then:
- Go to Settings → Static Forms in WordPress.
- Paste the key into Default form key.
- Click Save.
This key is the site-wide default for every Elementor form that doesn't set its own.
Step 2: Add the action to the form
- Edit the page in Elementor and select the form widget.
- In the Content tab, open Actions After Submit.
- Add Static Forms to the list.
- A Static Forms section appears with an API Key control. Leave it empty to use the site-wide key, or paste a different form's key to send this form somewhere else.
- Update the page.
The per-form key gives you one Static Forms inbox per Elementor form. When you export an Elementor form as a template, the plugin strips that key from the export.
Other actions can stay in the list. The Static Forms action runs alongside them.
Step 3: Send a test entry
Submit the form on the live page. The fields should show up in the Inbox of the form in the app, and the notification email follows.
What the action sends, from the plugin code:
- Every field, keyed by its Elementor field ID, not its label.
- Checkbox and multi-select values as one comma-separated string.
- An extra
emailfield, copied from the first email-type field, unless a field with the IDemailexists. Elementor field IDs are arbitrary, such asyour_email, and Static Forms builds the reply-to address from a field namedemail. The plugin adds it for you, so replying to the notification writes back to the visitor.
The email shows the field IDs, so give the fields readable ones. In Elementor, open a field and set its ID on the Advanced tab. A field with the ID message reads better than field_3a9f1c2.
An upload field arrives as the file URL as text (a list for multi-file fields), not as an attachment. That is how Elementor hands the value to the action; the plugin only joins lists into one string.
What happens when the send fails
If Static Forms rejects the request, the plugin adds an error to the Elementor form response. The visitor sees a message starting with Static Forms: followed by the reason, such as an invalid key. Test the form once after setup so you see any such message before a visitor does.
The request goes out during the form submit with a five-second timeout.
Hide Elementor fields from the notification email
If the email shows fields you don't want in it, add their names under Hide fields from notification emails on the form's General tab. Names match exactly, ignoring case, and a trailing * matches a prefix. Hidden fields are still saved and still reach the Inbox. See the General tab docs.
Static exports
The action runs in PHP on WordPress. A static HTML export has no PHP, so nothing forwards. The static WordPress contact form guide covers the HTML form to use on exported pages.
Troubleshooting
The Static Forms action is missing
The action only registers when Elementor Pro's form module is available. Check that Elementor Pro is active and that the widget is the Pro form widget.
The visitor sees "Static Forms: No Static Forms API key configured"
The widget's API Key is empty and the site-wide Default form key isn't saved. Fill in one of them.
403 "is not in the allowed domains list"
Domain restriction is available on Starter and up, so a Free form never returns this error. If it is on and your site's domain isn't on the allowed list, the plugin sends your site URL as Origin and Referer for this check, so add that domain to the form's allowed domains. See domain restriction.
Submissions arrive but the reply-to is wrong
Static Forms reads the reply-to from email or replyTo. If the form has two email-type fields, the plugin copies the first one. Reorder them, or give the one you want the ID email.
Related guides
- Contact Form 7 to Static Forms
- Gravity Forms to Static Forms
- Platform-independent forms in WordPress
- WordPress integration docs and the form General tab
FAQ
Does this work without Elementor Pro?
No. The action extends the Elementor Pro form widget. Without Pro, use the Static Forms block or a plain HTML form from the WordPress docs.
Can I use more than one Static Forms inbox?
Yes. Set a different key in the widget's API Key control for each form.
Next steps
Create a free Static Forms account, install the plugin and add the action to one form. Send a test entry and check the Inbox.
Related Articles
Contact Form 7 Webhook: Send Submissions to Static Forms
Forward Contact Form 7 submissions to Static Forms with the official WordPress plugin: one key, one checkbox, a per-form opt-out and a reply-to fix.
Gravity Forms Webhook to Static Forms: Setup Guide
Send Gravity Forms entries to Static Forms with a Select Fields feed, or post the form HTML directly and hide gform_* and state_ fields. Steps and fixes.
Contact Form on a Static WordPress Site (Simply Static)
Add a contact form to a static WordPress site that survives a Simply Static or WP2Static export: why plugin forms break, the HTML fix and how to test it.









