Skip to main content
Glama

Enroll contacts in a sequence

enroll_in_sequence
Destructive

Enroll a SEGMENT of subscribed contacts in a drip sequence: those carrying the given tags, or every subscriber of that account if no tag is given. Contacts who unsubscribed are never enrolled, and a sequence always stops for anyone who unsubscribes. Call it first without confirm to get how many contacts would be enrolled; they start receiving its steps as soon as you call it with confirm: true, after the user agreed.

Input Schema

NameRequiredDescriptionDefault
tagsNoOnly contacts with these tags. Omit to enrol every subscriber.
confirmNotrue ONLY after the user saw how many contacts will be enrolled and agreed. Without it nothing is sent: you get that number.
sequenceIdYes
idempotencyKeyNoOptional. A unique id for this action (16-128 chars: letters, digits, _ : . -). If you are unsure whether a call went through (timeout, network error), repeat it with the SAME idempotencyKey and the same arguments: you get the original result and nothing is done twice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "true ONLY after the user saw how many contacts will be enrolled and agreed. Without it nothing is sent: you get that number.",
      +  "type": "boolean"
      +}
    • removedInput schema / properties / subscribedOnly
      Removed value: -{
      -  "description": "Exclude contacts who unsubscribed (default true).",
      -  "type": "boolean"
      -}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, but the description adds real substance: enrollment causes contacts to start receiving steps immediately, unsubscribed contacts are never enrolled, and a sequence always halts for anyone who unsubscribes. It does not discuss reversibility (e.g., that unenroll_from_sequence exists) or rate limits.

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?

Three sentences, zero filler, and the segment definition and the confirm-gated protocol are front-loaded before the side-effect caveats. Every clause carries operational information.

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?

No output schema exists, and the description supplies the return behavior (a count when confirm is omitted). Combined with annotations covering the write/destructive profile, an agent has everything needed to call this mutation tool correctly and safely.

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

Parameters3/5

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

Schema coverage is 75%, close to the high band, and the schema already documents tags, confirm, and idempotencyKey in detail. The description's tag/confirm framing largely restates those schema descriptions rather than adding new syntax or format detail, so the baseline 3 applies.

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 (Enroll) and resource (a SEGMENT of subscribed contacts in a drip sequence), and defines the segment selector up front: tags or all subscribers. It is clearly distinguishable from siblings like unenroll_from_sequence, create_sequence, and activate_sequence.

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 an explicit two-step protocol: call without confirm to get the enrollment count, then call with confirm: true only after the user agreed. It also states who is excluded (unsubscribed contacts are never enrolled). It does not name sibling alternatives such as unenroll_from_sequence or pause_sequence, so it stops short of full alternative routing.

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