---
title: "Set up Nagare — documentation"
source_url: "https://nagare.watch/docs/"
language: en
format: markdown-for-agents
x-markdown-tokens: 5331
---

Documentation

# Set up Nagare.

From your first sign-in to your first brief: your workspace, your product, your competitors, what Nagare writes and where it goes, your AI, your team.

Start

## How Nagare works

Nagare reads your competitors' public websites over time, keeps every version of every page it reads, and tells you what changed, when, and what it may mean. Every sentence it writes links to the page, the change or the signal behind it.

- **A workspace** holds everything: your product, your competitors, your team and your settings.
- **Your product** is the reference every comparison is made against. You describe it in a `knowledge.md`, and Nagare reads your own site too.
- **Competitors** are read from their public pages, their public GitHub, the API documents they publish, and, for the year before you started, Common Crawl's archive.
- **Signals** come from off their site: open roles, funding rounds, Google ads, traffic, PeerSpot reviews.
- **Briefs and reports** turn all of it into something to read: what moved, what it likely means, what to watch next.

Reading sites, the archive, API documents and GitHub involves no AI. A model triages the changes and writes the briefs, battlecards and trajectories, each sentence citing its evidence. There is no chat in Nagare: your own assistant reads it through the MCP server.

Start

## Your account

During the beta, accounts open by invitation. Your invitation opens a sign-up for your address; signing up through it confirms your e-mail at the same time.

1. Open your invitation and fill in **Name**, **Work e-mail** and **Password** (10 characters or more; length is the only rule).
2. A sign-up without an invitation link asks you to confirm your e-mail first: the link works once, for 48 hours. **Send a new link** sends another, up to three an hour.
3. Your first workspace is created and named after your e-mail's domain; you are its owner. You can rename it during the first run.

### Signing in

- A session lasts 30 days, in a secure cookie the console's code never reads.
- After five failed attempts on one address, Nagare asks you to wait a few minutes.
- **Forgot your password?** e-mails a link that works for an hour. Setting a new password signs every session out. The answer is the same whether or not an account exists for the address.

Start

## First run

A new account lands on three short steps. **Skip for now** goes straight to the Brief; everything here can be changed later.

1. **Workspace.** Its name, as your team will see it.
2. **Competitors.** Paste up to five websites, one per line, and, if you like, your own product's site (it is tracked like the others and never counts as a competitor). Each line is checked as you type: an address that is not a website is left out, a site that does not answer is added anyway, and a site that leads to another company's is left out. A site that moves to its `www` twin is tracked where it lives. Each one is then read weekly, with a first reading started right away. Docs, API reference or blog sections of more than 100 pages are suggested off.
3. **Brief.** The day, the hour and the time zone of your weekly brief (any time zone). During the beta, briefs and alerts are in Nagare: e-mail and Slack show as coming soon.

Add more competitors later from Add competitor in the sidebar.

Start

## The console

| Screen | What it is for |
| --- | --- |
| **Brief** | Your latest brief, where you land after signing in. Before the first one, it says when it arrives. |
| **Changes** | Every change, triaged Major, Notable, Minor or Noise. By default it shows notable changes and up from the last 7 days; switch between your competitors', yours, or all. J and K move through the list. |
| **Competitors** | One page per competitor: overview, timeline, pages, features, pricing, reports, signals and sources. |
| **Your product** | Your knowledge, your catalog of features, your plans, and your own site's history. |
| **Compare** | Features (the matrix), Pricing (plans side by side), Themes (words tracked over time, up to 20 themes). |
| **Reports** | Every brief and report, by kind. |
| **Activity** | Crawls and signal checks, running and past, with what they cost, and the schedule ahead. |
| **Settings** | The workspace, briefs and signals, members, notifications, API keys, AI and exports, usage and plan, your account. |

⌘K (Ctrl K outside a Mac) searches competitors, pages and changes from two letters, and offers Add competitor, Generate brief now and Mark all as read.

Your market

## Your product

Every comparison is made against your product: the feature matrix, the pricing table, the battlecards and the brief's "About you". Your product has three tabs of what you say (Overview, Knowledge, Catalog) and, when your own site is tracked, what the web says about it.

- **Overview.** "What you do", "Who you sell to", your plans and your capabilities. A block read from a document says so, with **Confirm**; what you edit by hand takes precedence over the documents.
- **Catalog.** Your features in groups, and **Suggestions**: features found at your competitors. For each, **Add to catalog**, answer "And you, do you have it?" (Yes, Partly, No), **Merge into…** an existing one, or **Dismiss**.
- **Plans.** Add them by hand, or from the pricing table of your `knowledge.md`. A plan entered by hand is marked Manual and takes precedence over what your pages say.
- **Your site.** Tracked like a competitor's, with **Crawl now** in the header.

Your market

## The knowledge.md

One Markdown file says what your product is, does and costs. Nagare reads it without AI, in a fixed structure, and it stays private to your workspace. Download the template from Your product → Knowledge (**Download the template**), fill it in, then add it.

### Its sections

Level-2 headings, in English or in French:

- **Positioning** (Positionnement): one or two sentences, what the product is, for whom, its main promise.
- **Audience** (Cible): one line per segment you sell to.
- **Features** (Fonctionnalités): grouped under level-3 headings, one per bullet as `**Name** — what it does`, then if useful `Plans:`, `Status: partial` and `Aliases:` (the names competitors use for it).
- **Not offered** (Non proposé): what you do not have and are asked about. It shows as "No" in your column.
- **Pricing** (Tarifs): a `Currency:` line, then a table `Plan | Price | Billing | Limits | Notes`, cheapest first.

```
## Features

### Targeting
- **Percentage rollouts** — Release a feature to a growing share of users.
  Plans: Free, Team, Business
  Aliases: progressive delivery, canary release

## Pricing
Currency: USD

| Plan | Price | Billing | Limits | Notes |
|---|---|---|---|---|
| Free | 0 | per month | 1 project | |
| Team | 39 | per month | 5 projects | 14-day trial |
```

### Adding it

- **Add knowledge → Paste text**, or **Upload a file** (`.md` or `.txt`): your browser reads the file and sends its text.
- 200,000 characters at most. Upload it again whenever it changes.
- Each document shows whether it was read, and what was used is underlined in the reader.

**Coming soon: Notion and GitHub.** Reading your `knowledge.md` from a Notion page or from a repository. Both show in **Add knowledge**, greyed, until they open.

Your market

## Competitors

### Adding one

1. Add competitor: their website, and a name if you want one.
2. Nagare maps the site in a few seconds, without crawling it yet: where it lives, its robots.txt, its sitemap, its pages sorted into sections, and what a crawl would read. A site that leads to another company's is never followed; one that does not answer can be added anyway.
3. **Sections to track.** The home page and unclassified pages are always tracked; high-volume sections start off. Other sites of theirs found while mapping can be added as sources.
4. **How often.** **Weekly** (read once a week, before the brief), **Daily**, or **Manual** (only when you press Crawl now). **Capture the baseline now** starts the first reading. The step estimates the pages per crawl and per month against your plan.

### The first reading

Its steps show as they land, on the competitor's page:

- **Their site**, page by page.
- **Their GitHub account**: the organisation their pages link to, its repositories and releases (checked again every 7 days).
- **Their API documents**: the OpenAPI document they publish, on their site first, then in their SDKs on GitHub.
- **Their past year**: their home and pricing pages over the last 12 months from Common Crawl, at most one capture a month, always marked as archived and less reliable.
- **Their signals**, then **The year before**, a report of that year month by month.

### Afterwards

- **Crawl now** reads a site at once (one crawl at a time per site).
- The **Pages** tab ignores a page or tracks it again; the **Sources** tab adds a source, leaves sections out, changes the frequency and can cap the pages per crawl.
- Removing a source keeps its history.
- Nagare reads as NagareBot: identified, robots.txt honored, the same site only, never behind a login. [How NagareBot behaves](https://nagare.watch/bot/).

How many competitors and pages your plan includes is on Usage and plan; your own product never counts as a competitor.

Your market

## Signals

Signals come from outside a competitor's site and land in their Signals tab and in your briefs. Each one names its source.

- **Open roles**: from their careers page and from job listings.
- **Funding rounds.**
- **Google ads**, from Google's Ads Transparency Center.
- **Traffic.**
- **Reviews**, from PeerSpot only.

Links come from the crawls; API documents are looked for weekly and GitHub every 7 days: none of them has a cadence to set.

### How often each is asked

Settings → Briefs & signals, under **Signals**: Every day, Every week, Every 2 weeks, Every month, or Off (asked only by Check now). Every family starts weekly, traffic monthly. Each line shows what it costs per site and per month in credits, and the total counts every site asked, your product included. **Check now**, on a competitor's signal tabs, asks every family at once. Admins and owners change the cadences; members read them.

Reading

## Briefs

A brief tells what moved across your competitors since the previous one: the numbers of the period, an executive summary with its sources, one section per competitor that moved with what to watch next, the quiet ones, and what changed on your own site.

### When

- Settings → General: the weekday, the hour and the time zone every brief shares, the monthly brief's day (1 to 28), and how many hours before the brief the sources are read (1 to 24, 2 by default).
- Settings → Briefs & signals: switch on Daily, Weekly, Every 2 weeks or Monthly, as many as you like. A new workspace has the weekly one. Each covers the time since its previous slot.

### What goes in

**Edit content**, on each cadence's row:

- **Changes listed**: every change, or notable and major only.
- **Length**: at most 10 to 200 changes.
- **Sections**: funding rounds, open roles, Google ads, links, API changes, PeerSpot reviews, About you.
- **Pages left out**: still crawled and still in the feed; only this brief leaves them out.

**Replay a brief** writes one between two dates of your choice. During the beta, briefs are read in Nagare: delivery by e-mail and Slack is coming soon.

Reading

## Reports

| Report | What it says | When it is written |
| --- | --- | --- |
| **Brief** | What moved across your competitors. | At each cadence you switched on; on demand with Generate now or Replay a brief. |
| **Change report** | One competitor's last 30 days. | On demand. |
| **Profile** | What a competitor's site says today. | On demand. |
| **Battlecard** | Where they are ahead, where you are, and talking points with their evidence. | After a crawl, once the matrix has read them; on demand with Write the battlecard. Yours to edit. |
| **Trajectory** | What a competitor may be preparing: hypotheses, each resting on dated signals. | On demand. |
| **The year before** | How their home and pricing pages changed, month by month, before you started. | Once the archive has been read for every competitor; again on demand. |

Any member can ask for a report. In the reader, **Copy Markdown** copies it.

Delivery Coming soon

## Channels and alerts

**Coming soon.** During the beta, your briefs and alerts are in Nagare. E-mail, Slack and webhooks come next: Settings → Notifications shows them greyed until then. The steps below are how they will work.

A channel is where briefs and alerts go. Admins and owners add, test and remove them in Settings → Notifications → Add channel; members see the list. A workspace has up to 20 channels.

- **Briefs it receives**: any of the cadences, weekly by default (a replayed brief goes where the weekly one goes).
- **Real-time alerts**: Off, Major only, or Notable and above. At most five alerts per channel for one crawl; the rest wait for the brief.
- **Send test** sends one message now and shows whether it went.
- **Remove** asks first. Each card shows its last delivery, sent or failed and why.

Delivery Coming soon

## E-mail

1. Add channel → **E-mail**, then the address (a person or a team list).
2. Choose the briefs it receives and its real-time alerts.
3. **Send test**: the message is titled "Nagare test notification".

The account e-mails (confirming your address, resetting a password, invitations) do not depend on these channels.

Delivery Coming soon

## Slack

Nagare posts to Slack through an **incoming webhook**: a URL Slack gives you for one channel. Nagare needs no other access to your Slack.

### In Slack

1. Go to [api.slack.com/apps](https://api.slack.com/apps) and choose **Create New App → From scratch**. Name it (for example "Nagare") and pick your Slack workspace.
2. Open **Incoming Webhooks** and switch it on.
3. **Add New Webhook to Workspace**, choose the channel, and allow it. If your workspace restricts apps, an admin of yours may have to approve it.
4. Copy the webhook URL. It starts with `https://hooks.slack.com/services/`.

### In Nagare

1. Add channel → **Slack**, paste the URL, give it a name if you like (for example `#competitive-intel`).
2. Choose its briefs and alerts, then **Send test**.

Nagare accepts only `https://hooks.slack.com/…` addresses. The URL works like a password: Nagare shows it masked after you save it. A brief arrives as a summary with one section per competitor and an **Open in Nagare** button; an alert as one line with its severity, the competitor and the category, linked to the change, and a **View diff** button.

Delivery Coming soon

## Webhooks

For your own service: Nagare POSTs JSON to an `https` address that resolves to public IP addresses only (checked again at each send). It follows no redirect, waits 10 seconds, and tries a delivery three times.

### What it sends

| Header | Value |
| --- | --- |
| `X-Nagare-Event` | `change.alert`, `report.ready` (a brief) or `test` |
| `X-Nagare-Delivery` | The delivery's id |
| `X-Nagare-Signature` | `t=<unix seconds>,v1=<hex>` |

The body always has `type` and `workspace` (`id`, `name`, `slug`, `timezone`); an alert adds `change` and `url`, a brief adds `report` (its title, period, headline, summary, highlights, evidence and link).

### Checking the signature

Each webhook has its own signing secret (`whsec_…`), shown once when you add the channel; **Rotate secret** issues a new one, and the old one stops at once. `v1` is the HMAC-SHA256, with that secret, of `<t>.` followed by the raw body. Check the raw body before parsing it, compare in constant time, and refuse an old `t`:

```
import hashlib, hmac, time

def from_nagare(secret: str, body: bytes, header: str, tolerance_s: int = 300) -> bool:
    parts = dict(part.split("=", 1) for part in header.split(","))
    t = int(parts["t"])
    if abs(time.time() - t) > tolerance_s:
        return False
    expected = hmac.new(secret.encode(), f"{t}.".encode() + body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(parts.get("v1", ""), expected)
```

```
import { createHmac, timingSafeEqual } from 'node:crypto';

export function fromNagare(secret, rawBody, header, toleranceS = 300) {
  const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')));
  const t = Number(parts.t);
  if (Math.abs(Date.now() / 1000 - t) > toleranceS) return false;
  const expected = createHmac('sha256', secret).update(`${t}.`).update(rawBody).digest('hex');
  const given = Buffer.from(parts.v1 ?? '', 'utf8');
  return given.length === expected.length && timingSafeEqual(given, Buffer.from(expected));
}
```

Slack messages are not signed: there, the secret is the webhook URL itself.

Your AI

## API keys

Settings → API keys, for admins and owners. **Create key**, give it a name, and copy it: it is shown once. A key looks like `ngr_k_…` and goes in a header:

```
Authorization: Bearer ngr_k_…
```

Anyone with a key uses the API as a member of that workspace: they can read and change its competitors, changes and reports. A key belongs to one workspace and does not expire; **Revoke** refuses its requests at once, for good. The same keys connect your AI tools to the MCP server.

Your AI

## MCP server

Claude Code or your own agents ask Nagare directly: competitors, changes, page history, briefs and reports, the feature matrix, pricing, knowledge, messaging, themes, lifecycle, their API, their GitHub, reviews, unlinked pages and customers. Every tool is read-only, every answer comes with its evidence, and the server calls no model of its own.

1. Create an API key.
2. Open Settings → AI & exports, card **Nagare in your AI tools**: it shows the server's address, its per-minute limit and its tools.
3. Copy the command for Claude Code, or the JSON for other clients, and put your key where it says `ngr_k_…`:

```
claude mcp add --transport http nagare <server address> \
  --header "Authorization: Bearer ngr_k_…"
```

```
{
  "mcpServers": {
    "nagare": {
      "type": "http",
      "url": "<server address>",
      "headers": {
        "Authorization": "Bearer ngr_k_…"
      }
    }
  }
}
```

Revoke the key to cut an agent off at once.

Your AI

## llms-full.txt exports

Each source's whole site as clean text, ready for your own model: Settings → AI & exports, one `llms-full.txt` per site, your product first. A file appears after a source's first complete crawl and is regenerated only when its content changed. **Download** it, or **Copy URL**: the address asks for an API key.

```
curl -L -H "Authorization: Bearer ngr_k_…" <the copied URL>
```

Workspace

## Members and roles

| Role | Can |
| --- | --- |
| **Member** | Works across the console: competitors, crawls, Check now, knowledge, catalog, reports, themes. Reads the settings. |
| **Admin** | And: the workspace's name and brief schedule, briefs and signal cadences, members and invitations, API keys, channels. |
| **Owner** | And: making someone an owner, deleting or restoring the workspace. |

### Inviting

1. Settings → Members → Invite member: an e-mail and a role (Member by default).
2. Nagare e-mails the invitation; its link is also shown once, to copy. It works for 7 days.
3. **Pending invitations**: **Resend** makes a new link (the previous one stops working), **Revoke** cancels it.

A workspace always keeps an owner: the last one cannot leave or be demoted. How many workspaces a person can own depends on the plan; the switcher at the top of the sidebar says it.

Workspace

## Usage and plan

Settings → Usage & plan, open to everyone in the workspace: what it may crawl each month and what it has used.

- **Firecrawl credits this month**: rendered crawls and signal checks. When a monthly budget is set, the owners get an e-mail at 80%, and at 100% Firecrawl crawls and signal checks wait for the next month. Crawls by Nagare's own HTTP crawler cost no credits and never wait.
- **Plan**: competitors, pages per source and pages tracked.
- Day by day: pages crawled, rendering credits, AI tokens; and **By competitor**, each one's cadence and share.

Workspace

## Your data

- **Download my data** (Settings → Your account): a JSON file of what Nagare keeps about you: your account, workspaces and roles, sessions, API keys, the invitations you sent, and what you set up in the workspaces you own. It never contains a password hash or a token.
- **Delete my account**, with your password: immediate, with no restore. Your account, your sessions and every workspace you are alone in are erased. It is refused while you are the only owner of a workspace others use: make someone else owner first.
- **Delete workspace** (Settings → General → Danger zone, owners only): type its name to confirm. An owner can restore it for 30 days; after that it is erased for good.

Your `knowledge.md` stays private to your workspace.

Workspace

## Help

- A question, a bug, an idea: [support@kaiten.sh](mailto:support@kaiten.sh).
- Your personal data: [privacy@kaiten.sh](mailto:privacy@kaiten.sh).
- You own a site Nagare reads: [NagareBot's page](https://nagare.watch/bot/) says how it behaves and how to limit it.

Checked against the product on 30 October 2026. Nagare is in beta: what is marked coming soon is not available yet.
