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

# Watch a flow

> Wrap a handler with watch() so focale can tell you when that flow breaks.

`watch()` marks a handler as a flow focale should care about. You pass a name like `auth.signup` or `checkout`, and the existing function.

focale can land this for you in the watching pull request. You only need this page if you are wrapping a handler yourself.

## Node

```javascript theme={null}
import { start } from '@focale/sdk-node';
import { watch } from '@focale/sdk';

await start();

export const POST = watch('auth.signup', async (req) => {
  // existing signup handler
});
```

If the handler throws, focale records that the flow failed. If it returns, the flow succeeded. Your handler still does the same work either way.

<Note>
  Use the flow names you confirmed during onboarding when you can. That is how home knows which money or trust path broke.
</Note>

Call `start()` once at boot so watching actually reaches focale. See [install](/install) for `FOCALE_DSN`.
