Skip to main content

Communications MCP: scheduling and cancelling, with its own permission

  • 2 new tools on the communications server: comms_schedule_campaign and comms_cancel_campaign. They need a new permission, send:comms.campaign, which is not part of your first approval: it is asked once, the first time a send tool is used, and shown on its own line ("Send campaigns to your contacts (this is what actually emails people)"). Connections you already have keep exactly what they had.
  • Scheduling is a preview first. The agent must show you the campaign, the subject, the sender, exactly how many people, the time with its weekday in your timezone, and every warning. It can only go ahead on your clear yes, with a token tied to that exact preview; if the numbers, the time or the template change, the token is refused and it must preview again.
  • The preflight must still be true. Scheduling compares what would be sent now with the preflight you were shown (the email, the lists, the exclusions and the number of people) and refuses with a list of what changed. A preflight older than 30 minutes is refused.
  • An assistant cannot send immediately. The send time must be 15 minutes to 90 days ahead, with an explicit timezone; a time that does not exist or happens twice because of daylight saving is refused. A connection can schedule at most 3 campaigns a day.
  • You are told. Every schedule and every cancel by an assistant sends you an email. Cancelling is final.
  • API: POST /campaigns/{id}/schedule accepts dry_run, scheduled_at, timezone and expected_preflight_version. Without them nothing changes for existing integrations or for the dashboard.

Documentation changed