Zum Inhalt
Für Agenten

agent_reminder_upsert

Create or Update Agent Reminder

Markdown Tools als JSON

Beschreibung

Schedules a follow-up prompt for yourself, or updates one you already scheduled. Use this whenever the right next step isn't "do it now" but "check back later" — e.g. you DM'd a user about a missed standup and want to re-check in 2 hours, or you asked a teammate for an estimate and want to escalate if it's still missing tomorrow.

Two modes, decided by whether id is set: - Without id → create. prompt and due_at required. Returns the new reminder's id (arem_…). Repeated calls without id create new rows (not idempotent — use a stable subject to dedupe yourself). - With id → update. Only the fields you pass are changed. Use this to: - push the reminder out: pass id + a new due_at - mark it handled: pass id + completed: true (idempotent) - re-open: pass id + completed: false - rewrite the prompt as the situation evolves.

Workflow: at session start, call agent_reminder_list_due first to find what's due, do the work, then call this tool with id + completed: true to clear it.

due_at accepts several formats — pick whichever is easiest: - Relative offset (most convenient for "in X"): +30m, +2h, +1d, +1w (units: s/m/h/d/w; minutes / hours / days / weeks). No spaces. - ISO 8601 datetime: 2026-05-07T10:00:00Z or 2026-05-07T12:00:00+02:00 (timezone offset preserved). - Date only: 2026-05-07 (becomes 00:00 in your timezone). - Space-separated: 2026-05-07 10:00 or 2026-05-07 10:00:00. - Unix epoch seconds: 1746604800. Negative offsets are rejected (reminders are always for the future). Bad input returns an error that lists every accepted format.

Use the same subject and tags conventions as the logbook ("task:ENG-123", ["standup-followup"]) — they make the inbox filterable. Reminders auto-expire 14 days after creation if not completed (they stop appearing in list_due), so don't use this for long-horizon planning.

Scoped to (you, this account); other users can't see or update your reminders. prompt ≤ 8 KB; subject ≤ 200 chars.

Example (create, relative): prompt: "Did @max submit standup? If not, DM @lead.", due_at: "+2h", subject: "standup:user_max:2026-05-07", tags: ["standup-followup"]. Example (create, ISO): same prompt, due_at: "2026-05-07T10:00:00Z". Example (push out 1 day): id: "arem_abc123", due_at: "+1d". Example (complete): id: "arem_abc123", completed: true.

Zugriff

Zugriffsprofil: gated. Module: none. Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.

Parameter

Name Typ Pflicht Beschreibung
account_id string Ja
id string Nein Reminder prefix id (arem_…). Omit to create.
prompt string Nein What you want yourself to do later. Required on create. ≤ 8 KB.
due_at string Nein When the reminder becomes due. Required on create. Accepts relative offset ('+30m', '+2h', '+1d', '+1w'), ISO 8601 ('2026-05-07T10:00:00Z'), date-only ('2026-05-07'), space-separated ('2026-05-07 10:00'), or Unix epoch seconds. See tool description for full list.
subject string / null Nein Optional stable identifier, e.g. 'task:ENG-123'.
tags array Nein Optional short labels.
completed boolean Nein true → mark handled (idempotent); false → re-open.

Eingabeschema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "account_id": {
      "type": "string"
    },
    "id": {
      "type": "string",
      "description": "Reminder prefix id (arem_…). Omit to create."
    },
    "prompt": {
      "type": "string",
      "description": "What you want yourself to do later. Required on create. ≤ 8 KB."
    },
    "due_at": {
      "type": "string",
      "description": "When the reminder becomes due. Required on create. Accepts relative offset ('+30m', '+2h', '+1d', '+1w'), ISO 8601 ('2026-05-07T10:00:00Z'), date-only ('2026-05-07'), space-separated ('2026-05-07 10:00'), or Unix epoch seconds. See tool description for full list."
    },
    "subject": {
      "type": [
        "string",
        "null"
      ],
      "description": "Optional stable identifier, e.g. 'task:ENG-123'."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional short labels."
    },
    "completed": {
      "type": "boolean",
      "description": "true → mark handled (idempotent); false → re-open."
    }
  },
  "required": [
    "account_id"
  ],
  "type": "object"
}

Ausgabeschema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "reminder": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "prompt": {
          "type": "string"
        },
        "subject": {
          "type": [
            "string",
            "null"
          ]
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "due_at": {
          "type": "string"
        },
        "completed_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "created_at": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "prompt",
        "tags",
        "due_at",
        "created_at"
      ]
    }
  },
  "required": [
    "reminder"
  ],
  "type": "object"
}
Seiten