Rules that act when something happens in a feature.
Base URL https://app.heybmo.comFor agents: llms.txt · OpenAPI
Operations
ReadPOST /api/ops/automations.events
List what automations can watch
List the events automations can watch (e.g. a list is complete), what each can be narrowed to (e.g. one list) and the {fill-ins} its message can use, and the actions an automation can run besides sending a message (e.g. create a reminder). Read this before automations.create.
MCP tool automations_eventsCLI heybmo automations eventsLimit readSafe to retryInput
Make an automation: when an event happens (see automations.events), send the person a message to their inbox, and by email when asked, right away, after a delay or at a time of day. Narrow it to one list (or other item) with narrowTo; once makes it switch itself off after the first time. With an action (e.g. reminders.create) it does that instead, the message being its text: a reminder can be snoozed and marked done, and points at what the event was about. Make one only when the person asks for it or agrees when offered. Messages only ever go to the person. Limits keep it quiet, so tell the person about them when it watches something that happens often: at most one message every 10 minutes per automation (more are combined into one), 50 a day per automation, and 20 emails and 200 messages a day in all; the person is told in their inbox when one is reached.
namerequiredtextA short name; also the message title. Up to 100 characters.
eventrequiredtextThe event id, e.g. lists.listCompleted. Up to 80 characters.
narrowToobjectOnly when the event is about this, e.g. {"listId": "<id>"}. Default {}.
messagerequiredtextThe message to send; {fill-ins} from the event (see automations.events) are filled in. Up to 1000 characters.
emailtrue or falseAlso send it by email (always in the inbox). Default false.
actiontextAn action to run when it fires, e.g. reminders.create (see automations.events); the message is its text. Without it, the message is sent. Up to 80 characters.
delayMinutesnumberWait this many minutes first (up to 30 days).
atTimetextOr send at the next such time of day, HH:MM, in the person’s time zone.
List the person’s automations, newest first: what each watches, its message, whether it is on, when it last fired, how often it fired today and whether it is paused until tomorrow by its daily limit.
MCP tool automations_listCLI heybmo automations listLimit readSafe to retryInput
Change an automation’s name, message, email, action, timing or whether it runs only once. action null sends the message instead; null timing removes a delay or time; enabled: false pauses it and true turns it back on. What it watches stays; to watch something else, make a new one.
MCP tool automations_updateCLI heybmo automations updateLimit writeSafe to retryInput
automationIdrequiredidAn automation id (from automations.list).
nametextUp to 100 characters.
messagetextThe message to send; {fill-ins} from the event (see automations.events) are filled in. Up to 1000 characters.
Delete an automation for good. Messages already on their way are not sent. To stop it for a while, pause it with automations.update instead.
Deletes for good. The first call changes nothing and answers CONFIRMATION_REQUIRED with what would be deleted; call again with confirm: true once the person agrees.
MCP tool automations_deleteCLI heybmo automations deleteLimit deleteSafe to retryInput
automationIdrequiredidAn automation id (from automations.list).
confirmtrue or falseSet to true once the person agreed. Without it nothing is deleted and you get a description of what would be.
Each time an automation fired, newest first: when, and what it did: sent its message (by email too or not), ran its action, was skipped (and why) or failed. Kept for 90 days, the latest 200 per automation.
MCP tool automations_runsCLI heybmo automations runsLimit readSafe to retryInput
automationIdrequiredidAn automation id (from automations.list).