Alerts for unattended runs
How Neoo warns you when a routine, trigger, webhook or background job stops on a question, an approval or a secret request, fails or finishes, and how alerts are limited and grouped.
A bot can work while you are away: a routine fires at night, a webhook starts a mission, a background job runs for an hour. When such a run stops because it needs you, or fails, Neoo warns you even if you are not looking at the app.
Direct and automatic runs
| Origin | What it is |
|---|---|
| Direct | A message you send in the foreground. |
| Automatic | A run started by a routine, a trigger, a webhook or a background job. |
The origin is decided by how the run was started. You choose different alert settings for each.
Alert types
| Type | When it happens |
|---|---|
| Question | The run asks you a structured question and waits. |
| Approval | The run needs your permission for a command, a file change or a connection. |
| Secret request | The run needs an API key or a password. See Ask for a secret safely. |
| Error | The run failed. |
| Finished | The run completed. |
Choose your channels
Open Settings → Notifications → Alerts for unattended runs. For each origin and each type, turn on any of three channels:
- In app: the entry appears in your notification inbox.
- Mobile push: a notification on your phone, through the Neoo mobile app.
- Email: a short email to your account address.
Defaults: automatic runs warn you by push, and Finished stays in app only. Your choices follow your account on every device.
What an alert contains
Neoo's server never sees the content of your conversations, so alerts are deliberately minimal:
- the name of the bot or conversation,
- the type of alert,
- the time,
- a link to open Neoo.
Alerts never contain the text of a question, an answer or a transcript. Push notifications keep the same rule.
Limits and hourly digest
A run that fails in a loop must not flood you.
- Each source (a bot with its routine or trigger) sends at most 3 alerts per 15 minutes.
- You receive at most 10 alerts in total per 15 minutes.
- Beyond that, further alerts are grouped into one digest per hour, for example "12 automatic alerts grouped", with the names of the sources and their counts. The digest continues until the source has been quiet for 15 minutes.
The In app channel is not limited.
Email availability
Email is optional and needs a mail provider on the Neoo server. When it is not configured, the Email column is greyed out in the settings and Neoo tells you why. If you run your own server, set both RESEND_API_KEY and NOTIFICATION_EMAIL_FROM in server/.env (the server calls the Resend HTTP API; no other dependency is needed). If only one of them is set, email stays unavailable.
Ask for a secret safely
When a run needs a secret, it does not ask you to paste it in the chat. It shows a secret card with masked fields, a short explanation, and two buttons: Save to Vault and Skip.
- The values go straight into the Neoo Vault, as a new item or into an item you choose. They never pass through the chat, the transcript, the logs or telemetry.
- The bot only receives the variable names you filled in and
vato://references. It uses them withNAME=vato://… vato run -- <command>, exactly like any other Vault item. The bot never sees the value. - Skip tells the bot you chose not to provide it. It will not insist.
- A bot hosted on Neoo Cloud works the same way: the values travel to your cloud sandbox through the end-to-end encrypted channel and are written to its Vault. Review the new items in Vault before copying them to other places.
- On the mobile app and the web companion, you can read the request and tap Skip, but the form is not shown: you are asked to open Neoo on your desktop to fill it in. Values are never typed on those devices.