Form submissions in Greyd Forms can be mapped to WordPress posts, either creating a new post or updating an existing one. This is configured through a dedicated Post Interface available for every form, covering permissions, post type selection, field mapping, and the logic that determines whether a submission results in a new post or an update. This feature is only available with the Growth and Scale subscriptions.
The Post Interface is an additional configuration option for Greyd Forms that allows data submitted through a form to create a new post or update an existing one. It complements the general form Interface described in the Forms → Interfaces documentation and is configured separately for each form.
Interface Setup
The interface configuration for creating or updating posts is located in the Metabox settings under Interfaces for each individual form. A form must have at least one field in order for the Metabox to appear.

To begin, enable the “Send to posts?” checkbox. This reveals the additional settings required to complete the setup.
Permission
The permission setting determines which users are allowed to trigger the creation or update of posts through this form and should be treated as an important security setting. Permission should only be granted to known users or a defined and trusted group of users. Granting this ability to an uncontrolled group of users allows the content of a page to be manipulated in unpredictable and potentially harmful ways. An incorrectly configured permission can open attack vectors for malicious actors and may lead to a full compromise of the website.
The Permission dropdown shows all available user roles that exist in the WordPress installation.

If “everybody” or “logged out users” is selected as the permission, a security warning is displayed.
The basic permission is set by user role. Additional, more granular verification can be implemented using the filter greyd_forms_posts_interface_permission, which you can find in the Greyd Forms Filter Snippets documentation.
If no permission is set, the interface remains inactive: no further settings can be configured, and form submissions will not create or update any posts.
Post type of new post

A post type must be selected to continue the setup. All public post types are available for selection, including Post, Page, and any custom post types.
Alternatively, “Synced post type” can be selected, which displays an input field for entering the desired name of a new post type. A custom post type with all form fields mapped to dynamic meta fields is created automatically. Basic settings of this post type, such as standard features and taxonomies, can be adjusted afterward in Greyd.Suite → Post Types. The title of the post type should not be changed.

Changing the name or title of a synced post type creates a new post type. The previous post type and its associated posts continue to exist but are no longer synced with the form. Dynamic meta fields are created and updated automatically: adding a form field creates a corresponding meta field, while deleting a form field after the synced post type has been created does not remove the associated meta field, which remains persistent with the post type. As a result, additional dynamic meta fields can also be added manually by editing the synced post type.
It is recommended to complete and save the form, including adding all input fields in the editor, before setting up the interface. This ensures that all fields are synced correctly.
Enable Full Sync of Changed Form Fields

When a synced post type is selected, the option to fully sync changed form fields becomes available. Enabling this option prevents the dynamic meta fields of the synced post type from being adjusted manually. Any changes made are reset the next time the form is saved, and fields that were removed from the form are also removed from the post type.
Status of New Post

A new or updated post can be created either as a draft or published directly. If “published” is selected, a warning is displayed, noting that this can present a security risk and recommending that inputs be validated and a review process be considered, for example by creating posts as drafts and publishing them manually.
Allow post editing
By default, a form submission always creates a new post using the configured post type. To update an existing post instead, enable the Allow post editing toggle in the interface settings.

When enabled, the target post is determined entirely by the server — never from the submitted form data — and two hidden fields are automatically added to the form: the post ID to update and a signed, time-limited token that ties the submission to that specific post and browser. No manual field mapping is required for this to work.
The Which post to edit setting determines which post is updated:
- The current post (where the form is placed): updates the post the form is displayed on. This is the default.
- A specific post: always updates the post ID entered in the Specific Post ID field, which appears once this option is selected.
Because the target post is resolved and signed by the server rather than read from the submission, it cannot be changed or forged through the form itself. For security reasons, this connection expires after a set time (one day by default). If a form is submitted after the page has been open too long, the token has expired and the submission is rejected with a message asking the user to reload the page. If the browser blocks cookies, the submission is rejected with a separate message asking the user to enable cookies.
Fields Mapping
Fields mapping determines which form fields are used to create or update a post. Each form input field can be mapped to a post property, which may be a standard post field, a taxonomy, or a dynamic meta field. Currently, only meta fields created with Greyd post types can be edited.

If a synced post type has been selected, all form fields are mapped to dynamic meta fields automatically. Individual form fields can additionally be mapped to standard post properties or taxonomies.
At least a post title should be mapped individually; otherwise, created posts will be assigned random titles.
By default, the author of a new post is the user who submitted the form. To assign a different author, a form input must be mapped to the post author property.
Additional processing of form field values can be implemented using the filter greyd_forms_posts_interface_data, which you can find in the Greyd Forms Filter Snippets documentation.
The values of the post array used to create or update the post can be filtered using greyd_forms_posts_interface_postarray, which you can find in the Greyd Forms Filter Snippets documentation.
Video
Hi, this is Sandra from Greyd, and in this tutorial video I will show you all the great possibilities you have with frontend post forms that allow your users to update and create posts right from the backend using a Greyd form.
I’ve prepared a use case example with a page that lists a lot of movies, and I want users to be able to just click this button, use this form, to create a new movie post right from the frontend. I’ve also already prepared the form itself with all the fields that we would need, like title, date, description, score, country, and an image upload.
If you have already connected Greyd forms with external tools like CRM, Zapier, Salesforce, HubSpot, or anything like that, you’re already familiar with the interface options here. With frontal post forms, you can not only connect external tools like CRM, but also connect your posts to the form.
Then there are some general options that you have to decide on. At first, who should be able to create new posts using the form? It could be anyone or just certain users.
Then, of course, you have to define which post type the post should be created in. It could be regular pages or posts, but could also be any of your custom post types or synchronized post types.
Last but not least, you then have to define if you directly want to create and publish the posts or if you want to have them published as a draft first.
One of the use cases, for example, is if you have content editors that are responsible for creating new posts, but they’re not really tech-savvy. So you wouldn’t want them messing around in the backend. Frontend post forms are a great way to enable them to do that in a super intuitive interface where they can’t do anything wrong.
But be aware, directly publishing posts from users that are not logged in is a security risk, depending on who is able to submit and what kind of form fields you allow them to use. You have to be careful because while Greyd Forms obviously has a lot of security features that you can use, for example limiting the amount of characters or the type of content that can be entered, it still is a risk because somebody from the outside is able to use a form to put data on your website.
So please make informed decisions about these general options here.
If you’ve done that, the next thing is the field mapping. I’ve already prepared that, but I will walk you through it. Basically, what I do is exactly the same as what I would do if I wanted to send form entries to external tools. I am selecting each and every one of my fields and defining to what other field I want to assign this.
So in my case, these are all fields of my post type, and these are my form fields. Obviously, I want to assign the date field from up here with the date field in my post. The same goes for the title and the ranking. The description is going to be synchronized as the post excerpt. Countries and image are going to be synchronized to the featured image.
You also have your taxonomies here. You have all your dynamic meta fields here and your standard fields as well.
If we do that now, we will be able to create a post right from the frontend. So let’s just update the page.
Keep it very simple. Create movie from America. We don’t need an image now. And we can update the movie. Form is submitted. Let’s update the page.
And here it is, my test movie that I just created without being in the backend at all. I didn’t have to think about anything layout-related. I just put in the fields and it’s there, including a single template and everything that belongs to that.
So now we’ve enabled an external user to create posts on our website. What if we also want them to be able to update and edit existing ones? There’s just one extra step we need to do for that.
So we go back to the form. If we don’t just want to create posts but also update posts, of course we need some way of telling the form which post it should edit. So what we’re going to add is a hidden field.
Call it post ID.
And we’re going to make this field dynamic.
Then we will go to the single template where we have the edit option and go to our form, which is here in this popover, and we will convert that regular form now to a dynamic form.
We will directly see the hidden field that we just created and made dynamic is now available here. I can now connect that to the post ID because the form doesn’t know on which post page it is currently displayed, but a single template does know which post it is displaying right now.
So the single template is now going to connect the post ID with that form. Going to update that.
And then, of course, we also have to assign that field. So we’re going back here to update the form.
That’s still a dynamic field here, and we can now connect that. So add another field here, select the post ID, and connect that with the post ID of the post.
Update that here.
So it’s the same form, and you will directly know if it worked because, as you can see here, my form is not empty as it was before, but it already shows the current data of the post. This is exactly the data that we put in earlier. This is exactly the data displayed on the single template.
So I can now make any changes. Test movie one. It’s published not in 2016 but in 2026. Learn episode one. I actually don’t like that movie anymore. Country is still the same.
We update that. And if we update the page, we can see the post is updated as well.
One last addition to that: as the author of a post that is changed or created from the frontend, the user doing that is automatically set. If you want to change that and, for example, always have Sandra as the author, you will need to put that in your form, for example as a hidden field, and assign that with the author field here.
So, as you can see, frontend post forms are an extremely powerful feature. You can do a lot with that. You could have people on your team who are not tech-savvy edit and add testimonials, change products, or things like that on your website.
But you can even take this much further and create entire website generators, for example, where the entire website is managed from the front end.
For more videos and information, please visit our help center.