Email notification tools

Use update_email_notification to configure one email notification target per call. Changes apply to a published form immediately.

Read notification settings

Call get_form with a form_id to read the form’s settings. Its response includes email_notifications only for callers who can manage integrations. It never includes email addresses.

update_email_notification

Changes the form owner's notification (self) or the respondent's confirmation email (respondent).

Input

NameTypeRequiredDescription
form_idstringYesThe form to update.
targetself or respondentYesThe notification target.
enabledbooleanNoWhether to enable the notification.
subject_templatestring or nullNoSubject template, up to 500 characters. Supports {{formName}} and {{field.<name>}}.
body_templatestring or nullNoBody template, up to 10,000 characters. A self body can use @All answers.
attach_pdf_with_answersbooleanNoWhether to attach a PDF with answers.
email_field_idstringNoFor respondent only: the name of a published email_input field.

At least one setting must change. Respondent email and PDF attachments require a paid plan on the form's billing owner; otherwise the error is upgrade_required. Headless forms are not supported by this tool and return headless_form.

For a Headless form, configure respondent auto-replies with update_headless_endpoint by setting auto_reply to { "enabled": true, "email_field": "email" }. This option is available on paid plans.

What it returns

A successful result carries JSON in content[0].text and matching structuredContent. The JSON includes { form_id, target, status, notification, message }. status is updated or unchanged. The response does not include email addresses, and this tool does not send a test email.

Errors

Tool errors arrive in an HTTP 200 response with result.isError: true. For errors other than input-schema failures, content[0].text contains a jsonrpc_error object. Input-schema failures start with MCP error -32602: Input validation error.

Error nameWhen
upgrade_requiredRespondent email or PDF attachments require a paid plan on the form's billing owner.
headless_formThe form is Headless.

Example call

{ "name": "update_email_notification", "arguments": { "form_id": "FORM_ID", "target": "self", "enabled": true, "subject_template": "New response to {{formName}}", "body_template": "A new response was submitted.\n\n@All answers" } }

Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.