> ## Documentation Index
> Fetch the complete documentation index at: https://docs.herm.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack notifications

> Send operational agent failures from Herm to Slack channels the app is added to.

Slack notifications give workspace operators agent runtime and gateway failure
alerts in every Slack channel the notification app is added to. This is
separate from an agent's conversational Slack connection: one notification app
covers the workspace, and operators choose which agents are included.

## Connect notifications

Open **Settings > Notifications** in the Herm web app:

```
https://herm.run/app/settings/notifications
```

An owner or admin can select **Install app to workspace** and approve **Prism
Agent Notifications** in Slack. No channel picker, manifest, or token entry is
required. Invite the app to any public or private channel where the team should
see alerts. Herm posts to every channel the app currently belongs to.

Notifications include all active agents by default. Turn off **All agents** to
select individual agents. Future agents are included automatically only while
**All agents** is enabled.

## Notification types

| Notification                        | When it is sent                                                                                                                                                                                                                                                                                                        |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Sandbox creation failed             | A new sandbox or its persistent volume cannot be created after Herm's cold-boot recovery budget (one create plus up to three recreates for recoverable failures such as Blaxel ENOSPC).                                                                                                                                |
| Sandbox startup exceeded 2 minutes  | A newly created sandbox takes more than 2 minutes to become ready. Reused sandboxes and session warmup do not count.                                                                                                                                                                                                   |
| Hermes runtime did not start        | The managed Hermes process cannot be launched or exits during startup.                                                                                                                                                                                                                                                 |
| Hermes runtime did not become ready | Hermes starts but its API does not become ready within the cold-start budget. The available runtime error is included when possible.                                                                                                                                                                                   |
| Session runtime failed              | A turn cannot connect to or restore its session runtime after recovery is exhausted, Hermes ends the turn with an error, or an in-progress session is interrupted by a gateway restart. The available error message is included.                                                                                       |
| Custom tool failed                  | Herm accepts a custom-tool result with `status: "failed"`. The notification includes the tool name when known and a short sanitized error message from the result content. Tool arguments are never included. Error responses used for conversational Slack recovery do not alert unless they also have failed status. |
| Agent API returned a server error   | An authenticated, agent-scoped gateway request returns a `5xx` response. Organization-level errors without an identifiable agent are not sent.                                                                                                                                                                         |

## Delivery behavior

Notifications are best effort. Herm makes one background Slack delivery
attempt and does not delay or change the agent request. Failed Slack deliveries
are logged but are not retried. If the app is not in any channel yet, the
attempt is skipped until it is invited.

Messages include the agent name, session ID when available, and a short failure
summary. For custom-tool failures, the summary includes the tool name when it can
be resolved from the session and a truncated error message from the failed result.
Credential-shaped values are redacted, summaries are truncated, and customer
prompts and tool arguments are not sent.

To change the Slack workspace, select **Change workspace** and repeat
installation. After reconnecting, invite the app into the channels that should
receive alerts. Disconnecting removes the workspace notification integration
without changing any agent's conversational Slack connection.

To confirm delivery without waiting for a real failure, an owner or admin can
select **Send test ping**. Herm posts a test message in every channel the app
currently belongs to. If the app is not in any channel yet, invite it first and
send another ping. Legacy incoming-webhook connections still ping only the
original channel until you reconnect.
