Skip to main content
Glama

dForms

Edit a form's notification email

update_form_notification
DestructiveIdempotent

Create or change this form's own override of one response email (an upsert: the copy it replaces is lost); the workspace setting is left alone. Subject and body are plain text with {{token}} markers: {{formName}}, {{respondentName}}, {{respondentEmail}}, {{score}}, {{outcomeLabel}}, {{formLink}}, {{answers}}. Any other marker is saved but reaches the inbox as written; warnings lists it. Destructive: it deletes or replaces data, so it is best confirmed with the user first, naming exactly what will change. After an error or a timeout, a read shows whether the change went through, so a blind retry is not needed. Owners and admins only.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "form_id": "<form_id>",
      "email_key": "<email_key>"
    },
    "name": "update_form_notification"
  }
}

Input Schema

NameRequiredDescriptionDefault
bodyNoThe body as plain text, with {{token}} markers. null puts the default back.
enabledNoWhether the email is sent.
form_idYesThe form id, from list_forms or get_form.
subjectNoThe subject, with {{token}} markers. null puts the default back.
email_keyYessubmission_received: the notice to the team. submission_confirmed: the receipt to the person who answered.
recipientsNoWho gets the notice to the team. Not accepted on submission_confirmed, which goes to the person who answered.
workspace_idNoThe workspace this call acts in: an id from list_my_workspaces. Required for a person signed in with several workspaces and for staff of this deployment; optional with an API key or with only one workspace.

Output Schema

NameRequiredDescriptionDefault
form_idYes
settingYes
warningsNoWhat was saved but will not work as written (a {{token}} the emails do not know stays literal in the email), for the user to know.
workspaceYesThe workspace this call acted in, to compare with the one the user means.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, yet the description still adds substantial context: the replaced copy is lost on upsert, unknown tokens pass through to the inbox and surface in warnings, and a read after failure reveals whether the change landed. It also discloses the permission requirement (owners and admins only), which annotations do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information is front-loaded: operation and scope first, then token rules, then the destructive-confirmation warning and recovery advice. The single dense paragraph carries no filler, though the token list and warning clauses make it somewhat crowded for one block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a seven-parameter destructive upsert with an output schema, the description covers scope, replace semantics, token behavior, permissions, and failure recovery. The warnings return value is referenced, so the output schema handles return-shape detail without duplication.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning the schema does not: the enumerated list of supported {{token}} markers and the behavior of unknown markers (saved, delivered literally, reported in warnings). That is directly useful for setting subject and body correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create or change this form's own override of one response email') and immediately characterizes it as an upsert, which tells an agent both the operation and its replace semantics. The clause 'the workspace setting is left alone' distinguishes it from the workspace-level sibling tool without needing to open the other schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage conditions: confirm with the user first 'naming exactly what will change', and after an error or timeout do a read rather than blind-retry. The workspace-scoped alternative is implied by 'the workspace setting is left alone' but is never named, so the agent must infer which sibling to use for workspace-level changes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources