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
| Name | Type | Required | Description |
|---|---|---|---|
form_id | string | Yes | The form to update. |
target | self or respondent | Yes | The notification target. |
enabled | boolean | No | Whether to enable the notification. |
subject_template | string or null | No | Subject template, up to 500 characters. Supports {{formName}} and {{field.<name>}}. |
body_template | string or null | No | Body template, up to 10,000 characters. A self body can use @All answers. |
attach_pdf_with_answers | boolean | No | Whether to attach a PDF with answers. |
email_field_id | string | No | For 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 name | When |
|---|---|
upgrade_required | Respondent email or PDF attachments require a paid plan on the form's billing owner. |
headless_form | The 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.