Working with form submissions
Find your forms, read submissions, and set up where each form's entries are sent.
Forms collect the messages people send through your website — contact requests, sign-ups, enquiries and anything else built on a nua site form. The dashboard gives every form its own page where you can read recent submissions and decide where new ones are delivered.
Open the Forms list
- Open your project in the dashboard.
- Open the Forms tab.
You'll see a heading Forms with a Create Form button on the right, and a table of every form in the project (newest first).
If the project has no forms yet, you'll see No forms yet with a short note and a Create Your First Form button instead of the table.
What each row shows
| Column | What it means |
|---|---|
| Form ID | The form's unique identifier, shortened (first characters followed by ...). The full ID is shown on the form's own page. |
| Forward-to Emails | How many email addresses new submissions are forwarded to. |
| Submissions | How many entries the form has collected. |
| Created | The date the form was created. |
| Manage | A link that opens the form's detail page. |
Create a form
- On the Forms list, click Create Form (top right). On an empty project, use Create Your First Form.
- The dashboard creates the form and opens its detail page automatically.
A new form starts empty — no forward-to emails, no webhooks and no submissions. Connect the form to your website so it starts collecting entries, then add at least one delivery method (see below).

Open a submission's details
- In the Forms list, find the form you want.
- Click Manage in that row.
The form's detail page opens, headed Form Details, showing the full ID and the date it was Created. From here you can review submissions and manage delivery.
Tip: To see how people interact with the form — attempts, successes, rejections and spam — click View Tracking in the top-right of the detail page. See Form tracking.
Read submissions
Scroll to the Submissions card on the form's detail page. It lists the most recent entries (up to the last 50), newest first.
Each submission shows:
- The date and time it was received.
- The visitor's location (city and country), when available.
- A Spam score, shown in orange only when the entry looks suspicious. A higher number means the submission is more likely to be spam.
- The full submitted data, shown as the raw fields the visitor filled in.
If no one has submitted the form yet, the card shows No submissions yet.
Forward submissions to email
Use the Forward-to Emails card to have every new submission delivered to one or more inboxes.
- Click Add Email (top right of the card).
- Enter an address in Email Address.
- Click Add.
The address appears in the list with the date it was added. To stop forwarding to an address, click the trash icon in its row and confirm Remove this email?
If no addresses are set, the card shows No forward-to emails configured.
Note: Forwarding only affects submissions received after the address is added — it doesn't re-send past entries.
Send submissions to a webhook
Webhooks let another system receive each submission automatically. By default every new entry is sent as JSON in an HTTP POST to the URLs you list in the Webhooks card. With a custom request you choose the method, the headers and the shape of the body yourself, which is how a submission reaches a CRM or another service's API directly.
Webhook URLs must start with https://. Addresses of the platform itself cannot be used, and redirects are not followed: point the webhook at the final address.
Add a webhook
- Click Add Webhook (top right of the card).
- Enter the destination address in Webhook URL.
- Click Add.
Each webhook is created with a signing secret: a value (starting with whsec_) the receiving system can use to confirm the request really came from your form. Organization admins see it masked next to the URL; click the copy icon to copy the full value. Members do not see it.
Send a custom request
- When adding a webhook, tick Custom request (method, headers, body template). For an existing webhook, click Customize request, or Edit request if it already has one.
- Pick the Method:
POSTorPUT. - Enter the Headers as a JSON list, for example
[{"name": "X-Api-Key", "value": "{{secret.api_key}}"}]. - Write the Body template as JSON. Put placeholders where the submitted values go:
{{data.email}}: a field of the form, by its input name.{{data}}is every field.{{entry.id}},{{entry.submittedAt}},{{form.id}}: the submission and the form.{{geo.city}},{{geo.country}}: the visitor's location, when known.
- Click Add or Save template.
A value that is the whole placeholder keeps its type, so "{{data.consent}}" sends true, not "true". A field the submission does not have is sent as null (or as nothing inside longer text). To go back to the standard request, click Use the default payload.
Keep API keys secret
Put API keys and passwords into Secrets rather than typing them into a header.
- In Secrets (write-only, stored encrypted), enter a name such as
api_keyand the value, then click Add secret. - Use it in a header as
{{secret.api_key}}. Add|base64to encode it, as Basic authentication needs:Basic {{secret.credentials|base64}}.
A saved secret is never shown again, not even to admins; you only see its name. Click Replace to set a new value, or the trash icon to delete it. A secret the template still uses cannot be deleted. Secrets can be used in headers only, never in the body.
Example: create a lead in Raynet CRM
Click Use the Raynet lead example when adding a webhook. It fills in:
- URL
https://app.raynet.cz/api/v2/lead/and methodPUT. - The
AuthorizationheaderBasic {{secret.raynet_credentials|base64}}. Set the secretraynet_credentialstoyour-raynet-email:your-API-key. - The
X-Instance-Nameheader: replaceyour-instancewith your Raynet instance name. - A body with Raynet's required
topicandpriority, the contact's name, e-mail and phone, and the message as a note, followed by the form and entry IDs and the visitor's city and country.
Change the data. names to the input names of your form. Raynet's optional tags is one text with commas, for example "tags": "web,contact-form".
Test a webhook
- Find the webhook in the list.
- Click Test for a standard webhook, or Preview for one with a custom request.
Test sends a sample delivery and shows the result inline: Test successful with the HTTP status code, or a failure message with the status code and error.
Preview sends nothing. It fills the template with the latest submission (or an empty one) and shows the request that would be sent, with secrets shown as [secret:name], and lists the fields the submission did not have. Send test sends that request for real, so in a CRM it creates a real record.
A failed delivery is retried for about 40 minutes. A custom request that the service refuses outright (for example a wrong API key, 401, or rejected data, 422) is not retried: fix the secret or the template, then use Send test. The refused submission is not delivered later; Send test sends only the latest one. A service that is slow to answer may receive the same submission twice; include {{entry.id}} in a field it can use to spot duplicates.
Review recent deliveries
If a webhook has delivery history, a Recent deliveries row appears beneath it. Click it to expand the list. Each entry shows:
- A green or red dot for success or failure.
- The date and time of the delivery.
- A label for the kind of delivery (for example
test). - The HTTP status code returned, and any error message.
Remove a webhook
Click the trash icon next to the webhook and confirm Remove this webhook?
If no webhooks are set, the card shows No webhooks configured.
Warning: Removing a webhook stops all future deliveries to that URL immediately. Past deliveries are not affected, but the destination will no longer receive new submissions.