Skip to main content
Glama

Update Email Trigger

meisa_update_trigger

Update fields on an existing email trigger (PATCH-style). Only the fields you pass are changed; everything else stays as-is. Use this when the user wants to repoint a trigger to a different template, change its name or description, toggle is_active, or update guardrail flags. The trigger_key itself is intentionally NOT editable; to rename, create a new trigger and have callers migrate before deleting the old one. Requires the trigger_id (use meisa_list_triggers to find it).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew human-readable name.
is_activeNoToggle whether the trigger accepts send requests.
sender_idNoUUID of a SenderIdentity to use, or empty string to clear back to product default.
conditionsNoReplace the send conditions. Pass [] to clear them (always send). Conditions are evaluated against the contact at send time; if they do not pass, the send is skipped.
delay_unitNoUnit for delay_value.
trigger_idYesThe UUID of the trigger to update.
delay_valueNoSend delay amount. 0 sends immediately; a positive value schedules the send.
descriptionNoNew internal description.
template_idNoRepoint the trigger at a different template. Use meisa_list_templates to find a UUID.
email_categoryNoSubscription category, so recipients can unsubscribe from this kind of email and keep the rest: 'onboarding' (tips and onboarding), 'product_updates', 'promotions' (offers and discounts), 'newsletter'. Empty string = automatic: the template's category decides (promotional -> promotions, announcement -> product_updates, newsletter -> newsletter), otherwise sequences and triggers use 'onboarding' and broadcasts use 'product_updates'. Ignored on triggers with override_unsubscribe (those are transactional and always send).
condition_logicNoWhether ALL conditions must pass ('all') or ANY one ('any').
skip_rate_limitNoSkip the per-contact 24h rate-limit guardrail.
subject_overrideNoOverride the template's subject line. Empty string clears the override.
expected_variablesNoReplace the documented expected_variables list.
override_unsubscribeNoSend even to unsubscribed contacts (transactional only).
skip_duplicate_checkNoSkip the duplicate-template guardrail.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false), and the description adds real behavioral context: merge-not-replace semantics, the intentionally immutable trigger_key, and the migration path for renaming. It stops short of noting auth/permission requirements or what the response returns, but it meaningfully exceeds the annotations.

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

Conciseness5/5

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

Roughly five tight sentences, front-loaded with the merge semantics that govern every other decision, then use cases, then the immutable-field caveat, then the prerequisite. No filler and no repetition of the schema.

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

Completeness4/5

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

For a 16-property mutation tool with no output schema, the description supplies the critical missing frame: partial-update semantics, required trigger_id, sibling tools for lookup, and the non-editable field. It does not address validation failures or permission requirements, a minor residual gap.

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 description coverage is already 100%, so the baseline is 3, but the description adds meaning the schema cannot: trigger_key is deliberately not an accepted property, so an agent should not attempt it, and renaming requires a create+migrate+delete sequence instead. It also summarizes the editable surface (template, name, description, is_active, guardrail flags) before the schema enumerates it.

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+resource ('Update fields on an existing email trigger') and immediately qualifies it as PATCH-style partial update, which clearly separates it from meisa_create_trigger, meisa_delete_trigger, and meisa_activate_trigger. An agent can select it without opening the schema.

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

Usage Guidelines5/5

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

Explicitly enumerates the use cases (repoint template, change name/description, toggle is_active, update guardrail flags), the required prerequisite ('Requires the trigger_id (use meisa_list_triggers to find it)'), and the alternative workflow for renaming ('create a new trigger and have callers migrate before deleting the old one'). Alternatives and preconditions are all named.

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