HourdiniDocs
Assistant

The in-app assistant

A chat drawer in the web app that answers questions about your data and drafts entries and invoices for you to confirm.

The in-app assistant is a chat drawer that lives next to whatever you're working on. It can answer questions about your time and invoices and draft small writes for you to review. Press J (or CtrlJ) anywhere in the web app to open or close it.

It's different from connecting your own AI agent (Claude Desktop, Cursor, Codex). Those run on your machine and have full write access. The in-app assistant is the version that ships in the web app: every write surfaces as a draft you tap Commit on, and it can only see the org you're currently in.

Screenshot pending
The assistant drawer answering a question about Watchdog's last month.

What you can ask

The assistant has read access to the same data the dashboard does. Things it answers well:

  • Hours and money over a window. "How much did I bill Acme last month?" "What's unbilled across all clients this quarter?"
  • Specific entries. "Show me yesterday's entries." "What did I do for Watchdog last week?"
  • Invoice state. "Who owes me money?" "What's the total of invoice 2026-0042?" "Are any invoices overdue?"
  • Pre-invoice previews. "What would an invoice for Acme last month look like?" The assistant calls the same preview the New invoice dialog uses, then quotes the unbilled total back at you.

For anything quantitative, the assistant calls a tool against the real data and quotes the values back verbatim. You'll see the tool name and its arguments listed under the message (for example, SUMMARIZE_TIME from=2026-04-01 to=2026-05-01 client_id=…). That's your audit trail: the answer was computed, not invented.

What you can have it draft

Two write actions are built in. Both surface as a card with a Commit and Dismiss button. Nothing is written until you commit.

  • Log a time entry. "Log 25 minutes on the Mercato bug fix this morning." The assistant parses the phrase against your real projects and shows the resolved entry (project, duration, start time, description). If it's ambiguous (two projects could match), the draft says so and you pick the right one before committing.
  • Draft an invoice. "Draft an invoice for Watchdog last month." The assistant runs the unbilled-time preview, shows you the total hours, the per-project breakdown, and the amount, then offers to commit. Committing creates the draft in Invoices and takes you to it; it doesn't send it. You still review and click Send yourself.

For anything else (a note, an idea, a reminder), the assistant may return a free-form draft. Treat those as a suggestion, not an action.

Anatomy of a turn

A single message is rendered as:

  1. A monospace YOU or ASSISTANT label and a timestamp.
  2. (Assistant only.) The list of tools it called for that turn, with the arguments it used. These appear immediately as the assistant works.
  3. The reply text, streaming in token by token.
  4. Zero or more draft cards with Commit / Dismiss buttons.

The text stream means you don't wait for the full answer before seeing progress. Tool names appear before the text starts so you can see what's being looked up.

Threads

Each conversation is a thread. The drawer keeps the most recent 30 threads.

  • New thread. Click the + in the drawer header. Threads from unrelated topics belong in their own threads, partly for clarity and partly because long threads cost more tokens per reply.
  • Switch threads. When you have more than one, a strip of tabs appears under the header. Click a tab to switch. Hover and click the × to delete.
  • Rename. Click the title text in the header to edit it. The new name applies instantly. Threads get an automatic title on the first turn (a short summary of your question), which you can override at any time.
  • History. The full message history is server-side and survives page reloads. It's scoped to your account; teammates don't see your threads.

Inline AI features outside the drawer

A few places use the same AI plumbing without involving the drawer:

  • Quick entry on the time entries page. Type a phrase like "45m bug fix on Acme dashboard yesterday" into the quick-entry box and the assistant parses it inline. You confirm before it logs.
  • Cover note on a draft invoice. When you're about to send an invoice, you can ask the assistant to draft a short cover note. It's a starting point you edit before sending.

Both are independent of the drawer. They use the same monthly token cap and respect the same opt-out setting.

What it can't do

These are intentional, not gaps:

  • Send an invoice. Drafting is automatic; sending always takes a human click in the invoice page so you can re-read the PDF first.
  • Edit org settings, billing, or members. Those belong in Settings, not a chat thread.
  • Touch data outside this org. A thread is always scoped to the org you're in. To work on another org, switch orgs first.
  • Run forever. Each org has a monthly token budget. When the budget is exhausted, the assistant says so and you can either wait for the reset on the first of the next month or have an owner raise the cap. See Settings and privacy.

Next

On this page