Skip to main content
Glama

Update form settings

formSettings_update

Update form settings. Only provide fields to change. Use this for form BEHAVIOR — email notifications, scheduling/limits, redirects. For the form's name/folder/cover/logo use form_update; for colors/fonts/visual theme use formTheme_set; for questions and content use the editor_* tools.

Three independent email flows: self-notification (form owner/team on submit), respondent notification (confirmation to respondent), respondent reminder (when respondent abandons mid-form, Pro tier). Each is gated by its own *Enabled flag and accepts a custom subject + body. Respondent-targeted flows require *To to point at an email-input field ID (find via editor_getDocument).

Localization: customizing a respondent confirmation/reminder subject or body makes it translatable — the keys appear in translationDraft_get immediately (no form publish needed); localize via translationDraft_get → translationDraft_update. Self-notification (owner) emails are NOT translatable; write them directly in the target language here.

Custom From domain: pass emailDomainId from formSettings_get → availableEmailDomains; null resets to noreply@formstep.io.

{{variable}} placeholders for subjects/bodies: {{email.formName}} - Form name {{email.submittedAt}} - Submission date/time {{email.submissionId}} - Submission ID {{email.submissionType}} - "New", "Updated", or "Partial" {{metadata.formId}} - Form ID {{metadata.authorizedEmail}} - Respondent email (if auth enabled) {{metadata.pin4}} - 4-digit PIN per submission {{metadata.pin6}} - 6-digit PIN per submission {{metadata.code4}} - 4-char code per submission {{metadata.code6}} - 6-char code per submission Plus any answer by its field key: {{}} (the key fields_list shows and requests, callbacks and submissions use; the input node id from form_get questions[].id also works). Keys read back as {{}}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formIdYesForm ID to update settings for
languageNoBCP-47 language tag (e.g. "en", "en-US", "pt-BR"). Defaults to "en".
maxEditsNoMax post-submit edits allowed per submission (requires editAfterSubmit). 0 = unlimited on Pro and Business, 3 on Free; max 3.
passwordNoForm access password (≥4 chars). Setting a string implies passwordEnabled:true. Pass null to clear the gate (sets passwordEnabled:false).
redirectUrlNohttp(s) URL respondents land on after submission. null or empty string clears. Mutually exclusive with allowAnotherResponse:true.
showBrandingNoShow Formstep branding on the form.
emailDomainIdNoVerified email domain ID for custom From address. Read availableEmailDomains from formSettings_get for valid IDs. null resets to default.
reminderStepsNoReminder schedule as idle offsets from the respondent's last activity, e.g. ["1d","3d","1w"]. Max 5 steps, sorted and deduped on save; [] = no automatic reminders. Applies to both abandoned public-link responses and requests.
captchaEnabledNoEnable Turnstile bot protection.
editAfterSubmitNoAllow respondents to edit a submission after sending.
passwordEnabledNoGate form with a password. Auto-set to true when `password` is provided. Setting true requires a stored password.
draftRetentionDaysNoDays to keep abandoned drafts (0–36500). null reverts to runtime default.
notificationEmailsNoEmail addresses receiving submission notifications. At most 10; duplicates are collapsed case-insensitively.
notifyOnSubmissionNoEmail form owner/team on new submissions.
redirectQueryParamsNoMap form field values as query parameters on the redirect URL. Each entry maps a URL param name to a field ID.
allowAnotherResponseNoAfter submitting, loop respondents back to a fresh empty form. Mutually exclusive with a non-empty redirectUrl.
pdfGenerationEnabledNoAttach submission PDF to self-notification emails. Pro tier.
respondentReminderToNoField ID of an email-type question. Set to null to clear.
requireAuthenticationNoRequire respondents to be logged in.
respondentReminderBodyNoCustom body for the reminder email. Plain text with optional {{variable}} placeholders; newlines become paragraphs.
selfNotificationSubjectNoCustom subject for self-notification emails. Plain text with optional {{variable}} placeholders.
submissionRetentionDaysNoDays to keep submissions (0–36500). null reverts to runtime default. Setting a value also clears any fixed deletion date configured in the form builder (the two retention modes are mutually exclusive). Business plan.
respondentNotificationToNoField ID of an email-type question. Respondent email is extracted from their answer to this field. Set to null to clear.
showViewSubmissionButtonNoShow "View Submission" button in self-notification emails.
respondentReminderEnabledNoEnable reminder email to respondents who started but did not complete the form. Pro tier.
respondentReminderSubjectNoCustom subject for the reminder email. Plain text with optional {{variable}} placeholders.
selfNotificationEmailBodyNoCustom body for self-notification emails. Plain text with optional {{variable}} placeholders; newlines become paragraphs.
respondentNotificationBodyNoCustom body for respondent confirmation email. Plain text with optional {{variable}} placeholders; newlines become paragraphs.
maxSubmissionsPerRespondentNoMax submissions one respondent may make via "Submit another response" (requires allowAnotherResponse). 0 = unlimited; max 1000. Hard-enforced for signed-in respondents; client-gated for anonymous.
respondentReminderIdleWindowNoSingle-step form of `reminderSteps`, kept for forms authored before multi-step schedules. Ignored when `reminderSteps` is set.
respondentNotificationEnabledNoEnable confirmation email sent to the respondent after submission.
respondentNotificationSubjectNoCustom subject for respondent confirmation email. Plain text with optional {{variable}} placeholders.
respondentNotificationPdfEnabledNoAttach submission PDF to respondent confirmation email. Pro tier.
respondentReminderRequiredFieldIdsNoMinimum fields a respondent must have answered for the reminder to fire. Each item is a field ID from editor_getDocument. Empty array = remind any partial response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.