formbasedocs
Go to appApp

Building Forms

Publish checks

Every time you edit, formbase re-reads your form and lists what would not work once it is live. Errors stop the publish; warnings let it through after you confirm.


Where the check lives

The issue indicator sits beside the Publish button in the top toolbar. It is a traffic light for the whole form: green with a check mark when nothing is wrong, amber with a triangle when there are warnings, red with a cross when there are errors. Click it to open the list, grouped under Errors and Warnings.

Each entry shows the finding and, underneath it, the action that clears it. Clicking the entry takes you there — into the editor and scrolled to the block, into the right tab of form settings, or into the Translate tab for that language. The list updates as you type, so you never have to press Publish to find out.

Errors and warnings

LevelWhat happens when you press Publish
ErrorThe publish is refused. A red notification shows the first error and nothing goes live. The same checks run again on the server, so an error cannot slip through from another tool either.
WarningA Review needed dialog lists every warning with the note “These may not work as expected once your form is live.” Cancel and fix them, or press Publish to go ahead.

For the settings warnings, pressing Publish in that dialog is the one-click fix: formbase applies exactly what each warning says it will do — switching off the password gate, the self-notification, the respondent confirmation, the reminder, or edit-after-submit, or clearing the redirect — and then publishes. Content warnings are never auto-fixed; the form publishes as it is.

Content and references

MessageWhat it meansHow to fix
Variable “Email” references a deleted field and will show as empty.
Error
A piped answer in your text points at a field that no longer exists. Respondents would read a blank where the value should be.Remove or update the variable.
Default value “Plan” references a deleted field and will leave the input empty.
Error
A field default is seeded from a hidden or calculated field that was deleted, so the input starts empty.Remove or update the variable.
A reference points to a field that no longer exists.
Error
Something outside the canvas still addresses a deleted field: a notification email template, a redirect parameter, an integration mapping, or a translation.The entry names the place — update the translation, the email template, the redirect parameter, or the integration mapping.
Page 2 has no content respondents can see.
Warning
A page holds only logic blocks, hidden fields, calculated fields, or hidden questions, so respondents walk into a blank step. Single-page forms and the thank-you page are never flagged.Add content or remove the page divider.
The decision question has no approve, decline or changes option, so requests will complete without an outcome.
Warning
The question keyed decision is no longer a choice question carrying the approve, decline, and changes values, so requests finish with no outcome recorded.Insert a Decision question from the / menu.

Logic and page jumps

MessageWhat it meansHow to fix
A logic rule references a deleted field or page. The rule may not work as expected.
Error
A condition or action still points at something you deleted, so the rule cannot be evaluated.Update or remove the rule.
Calculated-field rules reference each other in a loop: Subtotal → Total. Break the loop so values resolve predictably.
Warning
Two or more calculations feed each other in a circle. Nothing crashes — the values simply never settle, so a total you expect stays at its starting value.Break the loop in the logic block.
A page jump sends respondents back from Page 3 to Page 2. They can loop between the two pages instead of reaching the end.
Warning
The rule jumps backwards, so a respondent can circle the same two pages forever.Review the page jump rule.
A page jump targets Page 2, the page its own question is on, so respondents continue to the next page instead.
Warning
The jump target is the page the rule reads from, so it does nothing and Next behaves normally.Review the page jump rule.
A page jump reads a question on the last page, Page 4, where Next submits the form. The rule never runs.
Warning
On the last page Next is Submit, so there is no page change for the rule to act on.Review the page jump rule.

Field keys and hidden fields

Field keys are the names your integrations and requests address — and so are the option, row and column keys under them. See Field keys for how they are derived and frozen; publish is where the collisions are caught. The publish dialog gathers every key this publish removes, renames or duplicates, at either level, under one heading: Keys changing in this publish.

MessageWhat it meansHow to fix
Field key “total” is used by more than one field.
Error
Two fields claim the same key, so an automation reading it would reach whichever one resolution happened to hit first. Questions, repeating groups, hidden fields, and calculated fields all share one namespace.Give each field its own key.
Field key “company” is already published on “Company name”. Giving it to “Company” would rename that field key to “company_2” and break automations using “company”.
Error
You typed a key that the live version already publishes on another field. Publishing would push the old field onto a suffixed key and silently redirect every automation. This one is checked on the server, so it appears as a red notification when you press Publish.Give each field its own key — free the key on one of the two and publish again.
Hidden field “utm source” has an invalid parameter name.
Error
A hidden field parameter name contains characters that cannot travel in a URL or a payload.Fix the parameter name.
Hidden field parameter name “source” is used more than once.
Error
Two hidden fields answer to the same parameter name.Use unique parameter names.
Field key “company_name” will no longer exist after this publish. Integrations and requests that use it will stop receiving that answer.
Warning
A key the live version publishes is dropped by this one — you retyped it, or deleted the field. Webhooks and callbacks keep firing, just without that answer, and requests.create starts rejecting the key.Update the automations that use this key.
…“Company” now publishes as “company”. Set its field key back to “company_name” to keep them working.
Warning
Same warning, with the successor named: the field whose key you retyped, or the single new field standing where the old one was.Set the old field key on this field — the warning clears and the key carries on.
Option key “pro” of “Plan” will no longer exist after this publish. Integrations and requests that use it will stop matching that answer.
Warning
An option, row or column key the live version publishes is dropped by this one — you deleted the option or retyped its key. A workflow branching on answers.plan == "pro" stops matching, and a request prefilling pro is refused. When the option still exists the warning names the key it publishes as now.Set the old key back on the option in the Keys table, or update the automations that use it.
Two options of “Plan” use the option key “pro”.
Error
Two options of one question — or two rows or two columns of one matrix — were typed onto the same key. Derived keys break their own ties with _2; only keys you set by hand can collide.Give each option its own key.

Removed keys are your call

Dropping a key is a warning, never an error. If you removed the field on purpose, publish anyway and update the automations that read it.

Payments and scheduling

MessageWhat it meansHow to fix
Complete setup for this Payment question before publishing.
Error
A payment field is missing part of its configuration, such as the amount or the currency.Complete payment setup.
Connect Stripe before publishing forms that collect payments.
Error
The form has a payment field but no Stripe account that can take charges. Checked only once every payment field is otherwise complete.Connect Stripe in integrations.
Connect Cal.com before publishing forms that schedule appointments.
Error
A Schedule appointment question has an event type picked but no scheduler connection.Connect Cal.com in the schedule block.
Select a scheduler event type before publishing this Schedule appointment question.
Error
The question is connected to Cal.com but no event type is chosen, so there is nothing to book.Select a scheduler event type.
Complete setup for this Schedule appointment question before publishing.
Error
Neither the connection nor the event type is set.Complete schedule setup.

Access, email, and redirect

These are the settings warnings, and every one of them is cleared by the dialog’s Publish button.

MessageWhat it meansHow to fix
Password gate is enabled but no password is configured. Disabling the gate so respondents can access the form.
Warning
The gate is switched on with nothing to type, which would lock everyone out.Set a password or disable the gate — in Settings → Access.
Forms with payment, signature, or Schedule appointment fields don’t support editing after submission. This setting will be turned off.
Warning
A charge, a signature, or a booking cannot be re-opened, so edit-after-submit cannot apply to this form.Disable edit-after-submit in submission settings.
Self-notification is enabled but no valid recipient email is configured. Disabling notifications.
Warning
You asked to be notified but no valid address is on the list.Add a recipient email.
One or more notification recipient emails are invalid. Keeping only the valid addresses.
Warning
At least one address on the notification list is not a valid email, and publishing keeps only the valid ones.Fix or remove invalid addresses in Settings → Notifications.
Respondent confirmation email is enabled but no recipient email field is specified. Disabling the confirmation email.
Warning
The confirmation has no email question to send to. A field inside a repeating group never counts — it would fan out to one email per instance.Select a recipient email field for confirmation.
Respondent reminder is enabled but no recipient email field is specified. Disabling the reminder.
Warning
Same as the confirmation: the reminder has nowhere to go.Select a recipient field.
The redirect URL is not a valid web address. Clearing redirect so respondents return to the default thank-you page.
Warning
The redirect target is not a usable web address, so respondents would land nowhere.Enter a valid web address, or let the publish clear it and fall back to your thank-you page.

Integrations and translations

MessageWhat it meansHow to fix
Slack connection expired. Reconnect to keep delivering submissions.
Warning
A connected app’s credentials are no longer active. The form publishes, but submissions stop reaching that app. One warning per provider.Reconnect the integration.
French: nothing is translated yet — respondents who pick this language read the whole form in the source language.
Warning
The language is offered in the picker but has no translated strings, so choosing it changes nothing.Complete translations.
French: 12 strings missing — respondents will see source-language fallback.
Warning
Part of the language is translated; the rest falls back to the source language.Complete translations.
French: 4 strings outdated — source has changed since translation.
Warning
You edited the source wording after it was translated, so the translation no longer matches.Review and update translations.

Form copy and email copy are counted separately, so the same language can appear once for each.

Other reasons a publish is refused

These are not issue-indicator entries — they appear as a red notification when you press Publish:

  • The form is in the trash. Restore it first.
  • An email question has respondent email verification switched on and the workspace owner’s plan is not Business. Upgrade, or switch verification off.

Next steps