Integrations Focus notifications API

Focus notifications API

A duty names this door notifications.

State

reachable

Credential accepted as night_shift_failure. The service answered HTTP 500 because the check asks it to send to nobody — getting that far is the proof, and nothing was sent. Checked 2026-08-09 20:56 UTC.

Last used 2026-08-09 20:56 UTC — emailed benjamin.dickson@focusonenergy.com for Postcard from the box run 13

The method

Kind
api
Address
https://notifications.focusonenergy.com
Authentication
basic
As
night_shift_failure
Credential
set, from env:AGENT_BOX_NOTIFICATIONS_PASSWORD in the box's own environment
probe
notifications
sender
focustoolbox@focusonenergy.com
send path
/send-notifications/
default recipient
ben
notification type
agent box duty

Who a duty can write to

A duty writes "to": "ben", not an address. Moving a mailbox is one edit here rather than one in every duty that writes to it.

ben
benjamin.dickson@focusonenergy.com
toolbox
focustoolbox@focusonenergy.com

Notes

Email out. A duty's notify step names this door and writes `to: ben`.

Two things to know before trusting it. The service answers "Email sent successfully" from code that is a claim, not evidence — production is known to be running behind the repo — so a send is confirmed against SES's own send statistics, never against the response body. And the health check here deliberately posts an empty recipient list: it proves the credential is accepted and cannot deliver anything, so it is safe to press at any time.

The credential is an existing user of the AWS secret `notifications_api` (us-west-2), not a new one. The box's instance role cannot read Secrets Manager, so the password is copied once into /opt/agent-box/src/.env as AGENT_BOX_NOTIFICATIONS_PASSWORD.

It should be Ben's own user, and it is not: the live service answers 401 to `Ben` while every other user in that same secret is accepted. The API caches the secret at import, so Ben's rotated password has not reached the running process. Until it does, the box borrows the shared `night_shift_failure` machine credential the other Focus agents use.