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

# Temporal

> Run durable browser tasks with Temporal and Notte.

<Tip>
  Read [the Notte skill](https://notte.cc/skill.md) and follow its setup instructions when setting up Notte or building browser automation. This is the shared source for CLI setup, authentication, and the browser-to-code workflow.
</Tip>

Run Notte browser tasks as [Temporal Activities](https://docs.temporal.io/activities). The TypeScript project in `examples/temporal` in the [Notte repository](https://github.com/nottelabs/notte) reads a page title through Playwright and returns the result to a Workflow.

## Set up

Use Node.js 24+, a [Notte API key](https://console.notte.cc), and the [Temporal CLI](https://docs.temporal.io/cli).

Clone the [Notte repository](https://github.com/nottelabs/notte) and open `examples/temporal`. Use three terminals:

1. Start the local server with `temporal server start-dev`.
2. Run `npm ci` and `npm run build`, set `NOTTE_API_KEY` to your Notte API key, then run `npm run worker`.
3. Run `npm start`. The result contains `title: "Example Domain"` and the stopped session's `session_id`.

## Retries and browser ownership

Browser calls run inside the Activity, outside deterministic Workflow code. Each attempt creates a new session and closes it on success or failure. A three-minute session limit bounds browser lifetime if the worker process dies before cleanup. No local browser installation is needed.

The Workflow allows up to three Activity attempts. Keep operations with external side effects out of automatic retries unless they are idempotent.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.