Documentation

vaaya / docs / reference

Watches

A watch is a standing query Vaaya keeps running for you. You describe what to look for in plain language, Vaaya polls on a schedule, and only genuinely new findings surface. Creating, listing, pausing and deleting a watch are free; the scheduled runs spend from your balance under a daily budget you control.

The model

Every watch is a *worker*: a saved query plus a kind, a cadence, and a findings list. The kind names what it does and picks the machinery behind it.

KindWhat it watches
signalBuying signals against a plain-English ICP: funding, hiring, launches, leadership changes, press. Polled roughly every 6 hours.
job_searchRoles matching a description, as they are posted.
researchA standing deep-research task, run asynchronously.
customFree-form: a page, a topic, a competitor, anything you can describe. The default.

Findings are de-duplicated across runs, so a watch reports what changed rather than everything it saw. They land on the Watches dashboard in the app, and are readable from any agent with worker_findings.

The tools

Watches are driven over MCP. There is no /api/run equivalent today, so an HTTP-only integration cannot create them.

ToolWhat it doesPrice
worker_createCreate a watch. Pass the query, and optionally kind and cadence.Free
worker_listYour watches with kind, status, cadence, last run and finding counts.Free
worker_findingsRecent findings, newest first. Optional worker_id and limit (default 50).Free
worker_pauseStop a watch running, keeping it and its findings.Free
worker_resumeResume a paused watch.Free
worker_run_nowRun every active watch immediately instead of waiting for the next tick.Spends from the daily budget
worker_deleteDelete a watch and its findings.Free
// "Watch seed-stage B2B SaaS in Europe that just raised."
worker_create({
  query: "seed-stage B2B SaaS companies in Europe that just raised",
  kind: "signal",
  signal_types: ["funding", "hiring"]
})
// → { ok: true, worker_id: "wrk_4b1e", kind: "signal" }

What it costs

  • Creating, listing, pausing, resuming and deleting a watch are free.
  • Each scheduled run spends from your balance at the price of whatever it calls (search, scraping, research), the same per-call prices as anywhere else in the catalog.
  • Spend is bounded by a daily budget, $1/day by default, which you can change. A watch stops running for the day once its budget is used.
  • worker_run_now spends against the same budget, so a manual run is not free.

Where findings land

Findings appear on the Watches dashboard in the app, where a signal finding can be worked into outreach directly. Agents read the same list with worker_findings, so a watch created in chat is visible to Claude Code, and vice versa.