Skip to main content
Glama

Schedule notification

schedule_notification
Destructive

A reminder OrgLines delivers to the caller LATER. 'message' (1-2000 chars) and EXACTLY ONE of: 'send_at' (future ISO-8601 datetime) for a one-off, 'recurrence' {freq: daily|weekly|monthly|yearly, time 'HH:MM', days_of_week?: [0..6] 0=Monday, day_of_month?: 1..31, month?: 1..12} for a repeating one, or 'offset_minutes' with related={type:'event', id} to follow an event. Always the caller's own: filed in their PERSONAL space, times in its timezone, delivered on the channels set in Settings → Notifications. Optional 'related' {type,id} ties it to a record (lead, task, {type:'personal_contact', id} → shown in get_person). Cancel with cancel_scheduled_notification. CONFIRMATION: this tool runs immediately when the caller asks for it — it writes only their own record, and they can undo it from this same surface, so the request is taken as the instruction. You get an ordinary result, not a plan_token. Everything destructive, outbound or financial still proposes and waits.

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": {
      "message": "<message>"
    },
    "name": "schedule_notification"
  }
}

Input Schema

NameRequiredDescriptionDefault
messageYes
relatedNo
send_atNo
recurrenceNo
offset_minutesNoMinutes from the related record's own time (an event's start); negative = BEFORE it (-15). Instead of send_at, with related={type:'event', id}: the reminder moves when the event is rescheduled.

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?

Beyond the annotations it discloses delivery channels, timezone behavior, personal-space filing, and that the record is undoable from the same surface, which materially softens the destructiveHint=true flag. The CONFIRMATION block adds policy context an annotation cannot express, though there is mild tension between destructiveHint=true and the 'writes only their own record / undo it' framing that is never explicitly reconciled.

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?

Front-loaded with the core definition, then constraints, then siblings, then confirmation behavior – a sensible ordering with no filler sentences. The CONFIRMATION paragraph is somewhat long and reads partly as system policy ('Everything destructive, outbound or financial still proposes and waits'), which is useful but bulkiest part of the text.

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 5-parameter tool with nested objects, no output schema and sparse schema descriptions, the description covers the timing modes, constraints, and side effects well. The return value is only gestured at ('You get an ordinary result, not a plan_token'), leaving the actual result shape unspecified.

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

Parameters5/5

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

With only 20% schema coverage, the description carries the load: it states the EXACTLY ONE of send_at/recurrence/offset_minutes constraint that the schema does not encode via oneOf, gives ISO-8601 future-datetime format, documents recurrence sub-fields including freq values, HH:MM time, 0=Monday indexing, and negative offset_minutes meaning BEFORE the event. It also gives concrete related type examples (lead, task, personal_contact → get_person).

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?

The opening sentence gives a specific verb and resource plus the key differentiator: a reminder delivered LATER to the caller. It also pins the scope (caller's own personal space, channels from Settings → Notifications) and names the cancel sibling, so an agent can distinguish it from cancel_scheduled_notification and get_scheduled_notification directly.

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?

It spells out the three mutually exclusive scheduling modes and when each applies: send_at for a one-off, recurrence for a repeating reminder, offset_minutes + related={type:'event',id} to follow an event. It also states the cancellation path and the confirmation policy (immediate execution for the caller's own reversible record), leaving little to infer.

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