# HumanHours

> The ROI meter for AI agents. One HTTP call per task, automatic proof of hours and money saved, ready for your CFO.

HumanHours tracks every AI agent run with a single HTTP POST: send `agent_id`, `task_type`, and `outcome`, and the API returns hours saved versus a research-backed human baseline, money saved at your hourly rate, and FTE equivalent. It also enriches company domains into outside-in wage breakdowns (estimated role mix, headcount, and per-function wages from official labour statistics, with an outreach-ready narrative), building a reusable library you pull for outreach over CSV or the API. Open standard, EU-hosted, GDPR.

## Core surfaces

- [Homepage](https://humanhours.dev/): Hero, what HumanHours sends and returns, sample dashboard, Reports API.
- [Pricing](https://humanhours.dev/pricing): Hobby 500 events / month free. Pro €49 / month for 10,000 events on a single workspace. Agency €249 / month for 5 workspaces with 25,000 pooled events. Shared overage at €0.005 / €0.004 / €0.003 per event in 50k / 250k / 1M brackets. Enterprise on request.
- [Blog](https://humanhours.dev/blog): Notes on the product, the engineering, and the math behind agent ROI.
- [Contact](https://humanhours.dev/contact): Contact form for press, partnerships, pricing, and general questions. Replies within one business day.
- [Status](https://humanhours.dev/status): Live probes for Database, Billing, Email, and the API.
- [Privacy policy](https://humanhours.dev/legal/privacy): What we collect, why, and how to remove it.
- [Terms of service](https://humanhours.dev/legal/terms): Rules for using HumanHours.

## Blog

- [The 11-by-11 tipping point: when AI savings start compounding](https://humanhours.dev/blog/11-by-11-ai-productivity-tipping-point): Microsoft found that 11 minutes saved per day over 11 weeks is the threshold where AI shifts from novelty to habit. The leading indicator that tells you which agents are on track to cross it, and which to cut.
- [Human-in-the-loop ROI: only count what actually replaced human work](https://humanhours.dev/blog/human-in-the-loop-roi): An agent drafts 800 reply suggestions. Humans approve 240. The dashboard reads 800. Place the tracking node after the approval gate, not before, and the number stops inflating.
- [Counting AI agent tool calls: per call or per parent execution](https://humanhours.dev/blog/counting-ai-agent-tool-calls): An agent fires five tool calls to finish one task. Log five savings events or one? Neither default is right. Count what the human alternative replaced.
- [The 30/60/90 dashboard: a CFO-ready AI ROI scorecard](https://humanhours.dev/blog/30-60-90-ai-roi-dashboard): Adoption at 30 days, operational gains at 90, a P&L line at 12 months. The three artefacts an AI program needs to produce at each horizon to survive a finance review.
- [n8n vs Make vs Zapier: which one tracks AI savings cleanly](https://humanhours.dev/blog/n8n-vs-make-vs-zapier-roi-tracking): n8n ships a built in time saved metric on Pro plus. Make and Zapier count operations and tasks. None roll up a CFO ready human hours figure.
- [AI customer support ROI: $0.99 per AI ticket vs $6 per human one](https://humanhours.dev/blog/ai-customer-support-roi-unit-economics): AI tickets cost about a dollar. Human tickets cost six to fifteen. The 210% AI support ROI headline is real, but the unit economics behind it rarely show up in the pitch.
- [How to set an AI productivity baseline before you deploy your first agent](https://humanhours.dev/blog/how-to-set-an-ai-productivity-baseline): Three ways to calibrate an AI productivity baseline that holds up under finance review: time-tracked sample, expert consensus, historical logs.
- [Why most GenAI projects fail to prove AI ROI](https://humanhours.dev/blog/why-most-genai-projects-fail-to-prove-ai-roi): MIT found 95 percent of GenAI pilots show no measurable return. The diagnosis is wrong: AI is not failing on the model side, it is failing on measurement.
- [Where to track AI hours saved: a decision tree for any automation stack](https://humanhours.dev/blog/where-to-track-ai-hours-saved): Eight automation patterns, eight different places to drop the tracking event. A decision tree for keeping AI hours saved defensible across n8n, Zapier and custom Python.

## Documentation

- [humanhours docs](https://humanhours.dev/docs): The ROI meter for your AI agents. One HTTP call per task, automatic proof of hours and money saved, ready for your CFO.
- [Agency tree](https://humanhours.dev/docs/agency-tree): The Agency tier is built around a tree model: one anchor workspace holds the subscription, and up to four child workspaces hang underneath it. All five workspaces share a pooled 25,000 events / mon...
- [Changelog](https://humanhours.dev/docs/changelog): Significant, customer-visible changes to the HumanHours API and dashboard. Versioned at the URL level (`/v1/...`); when `/v2` lands, `/v1` keeps working for at least 12 months.
- [Companies API](https://humanhours.dev/docs/companies-api): The companies API turns a domain into an outside-in wage breakdown, builds a reusable company library, and exports it for outreach. You enrich a domain once, then list, fetch, and export it as many...
- [Concepts](https://humanhours.dev/docs/concepts): humanhours sits between your agents and your CFO. You send one HTTP call per task; we compute "how long would a human have taken" and "what did that cost", and serve the numbers back as a dashboard...
- [Errors](https://humanhours.dev/docs/errors): Every error response on `/v1/*` has the same shape:
- [MCP server](https://humanhours.dev/docs/mcp): HumanHours runs a hosted [Model Context Protocol](https://modelcontextprotocol.io) server, so any MCP client can log agent ROI and ask about a workspace in plain language. There is nothing to insta...
- [Model cost and net ROI](https://humanhours.dev/docs/model-cost): `net_saved` is the number your CFO cares about: the money an agent saved, minus what the agent run cost. HumanHours can work out that cost for you from the model and token usage, so you get a true ...
- [Price migration: research lookups tier rebalancing](https://humanhours.dev/docs/pricing-lookups-migration): This runbook documents the planned price migration for Pro and Agency plans once the research-lookups feature ships to production. The migration is **not executed here**. Follow these steps manuall...
- [Quickstart](https://humanhours.dev/docs/quickstart): 60 seconds from a signed-in dashboard to a tracked event. Every example below uses the same Bearer token.
- [Security](https://humanhours.dev/docs/security): This page describes how humanhours stores customer data, what we don't store, and how to report issues.

## Api

- [GET /v1/reports/*](https://humanhours.dev/docs/api/reports): Every dashboard view is also an endpoint, queryable with the same Bearer token. Plug it into PowerBI, Looker, Excel, or your own dashboard.
- [Task types](https://humanhours.dev/docs/api/task-types): 50 built-in task types ship out of the box. Each has a default baseline (in minutes) cited from public benchmarks or Triad pilots. You can override any baseline for your workspace, or create a cust...
- [POST /v1/track](https://humanhours.dev/docs/api/track): Record a single agent task. Returns the stored event with computed `hours_saved`, `cost_saved`, and `net_saved`.
- [Webhooks](https://humanhours.dev/docs/api/webhooks): Push humanhours events into your stack. Pro and above.

## How to

- [Enrich companies for outreach](https://humanhours.dev/docs/how-to/enrich-companies-for-outreach): A walkthrough that turns a list of domains into outside-in labour-cost business cases you can pull straight into an outreach pipeline. You enrich domains into your company library, read the ready-m...
- [Read your dashboard](https://humanhours.dev/docs/how-to/read-your-dashboard): This is the page for the person who logs into HumanHours and is **not** the developer who set it up. Owner who wants to validate ROI for the board, CFO who got a share-link, content lead who wants ...
- [Track a blog pipeline](https://humanhours.dev/docs/how-to/track-blog-pipeline): A 5-minute walkthrough for tracking a content-generation pipeline (RSS → AI → image → publish) end-to-end. We use a pipeline that drafts a long-form blog post (≈ 90 min of human work replaced by ≈ ...
- [Track customer support](https://humanhours.dev/docs/how-to/track-customer-support): A 5-minute walkthrough for tracking an AI customer-support pipeline (incoming ticket → classification → suggested response → human approval). Customer support is the highest-volume use case we see ...
- [Track LinkedIn outreach](https://humanhours.dev/docs/how-to/track-linkedin-outreach): A 5-minute walkthrough that wires your existing LinkedIn-outreach automation to HumanHours and starts producing CFO-ready ROI numbers from the next invitation onwards. We use n8n as the example bec...

## Runbooks

- [Backfill historical events](https://humanhours.dev/docs/runbooks/backfill-events): Insert events for an existing agent + workspace combo, with realistic dates and computed hours_saved + cost_saved. Use this when a customer onboards on day N and wants the dashboard to also show N-...
- [Delete an archived task type](https://humanhours.dev/docs/runbooks/delete-archived-tasktype): Hard-delete a custom task type that the customer wants to recreate with the same key.
- [Runbooks](https://humanhours.dev/docs/runbooks/README): Operational playbooks for HumanHours. These are internal and not served at `/docs/runbooks` — they live in the repo so any operator (or future Claude session) has the same instructions.
- [Reissue a Stripe coupon (replace code or expiry)](https://humanhours.dev/docs/runbooks/reissue-stripe-coupon): Stripe promotion codes are immutable for the `code` string and the `expires_at` timestamp after creation. To change either, you deactivate the existing one and create a new one pointing to the same...
- [Reset an agent's event counter](https://humanhours.dev/docs/runbooks/reset-agent-counter): Recompute `agents.total_events`, `first_seen_at`, and `last_event_at` from the events table when the denormalized counter has drifted.

## Sdks

- [Claude Agent SDK + humanhours (Python)](https://humanhours.dev/docs/sdks/claude-agent-sdk): > **Pattern, not a package.** This page documents how to wire the Python SDK around a Claude agent run. The Python SDK itself is in preview (see [/docs/sdks/python](/docs/sdks/python)).
- [JavaScript / TypeScript SDK](https://humanhours.dev/docs/sdks/javascript): > **Preview.** The npm package is not published yet. Examples on this page work today against `https://humanhours.dev/api/v1/*`. For now, copy the snippet you need or use plain `fetch` against the ...
- [Make.com app](https://humanhours.dev/docs/sdks/make): The HumanHours Make app adds three modules and an instant trigger to any Make scenario, so you can wire ROI tracking into your existing automations without writing code.
- [n8n community node](https://humanhours.dev/docs/sdks/n8n): `n8n-nodes-humanhours` adds a `humanhours` node + a `humanhoursApi` credential to n8n. Drop it at the end of any workflow that runs an AI agent and the dashboard fills in.
- [Python SDK](https://humanhours.dev/docs/sdks/python): > **Live on PyPI** as [`humanhours`](https://pypi.org/project/humanhours/). All examples on this page work today against `https://humanhours.dev/api/v1/*`.
- [Vercel AI SDK + humanhours](https://humanhours.dev/docs/sdks/vercel-ai-sdk): > **Pattern, not a package.** This page documents how to wire the JavaScript SDK around Vercel AI SDK calls. The JS SDK itself is in preview (see [/docs/sdks/javascript](/docs/sdks/javascript)).

## Superpowers

- [HumanHours Demo Account — Implementation Plan](https://humanhours.dev/docs/superpowers/plans/2026-05-16-humanhours-demo-account): > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. This plan has production side-effects and human-in-the-loop checkpoints; it is NO...
- [Enrichment Engine, Phase 1: Data Model + Seeded Reference Data, Implementation Plan](https://humanhours.dev/docs/superpowers/plans/2026-05-31-enrichment-phase1-data-model): > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [...
- [Enrichment Engine, Phase 2a: Provider + Deterministic Core + Cache-First Service, Implementation Plan](https://humanhours.dev/docs/superpowers/plans/2026-05-31-enrichment-phase2a-service): > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax.
- [Enrichment Engine, Phase 2b: Global Grounded Wages + Accuracy Eval, Implementation Plan](https://humanhours.dev/docs/superpowers/plans/2026-05-31-enrichment-phase2b-global-wages-eval): > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development to implement task-by-task. Steps use checkbox (`- [ ]`) syntax.
- [Enrichment Engine, Phase 3a: Companies API + Lookups + Hard Cap, Implementation Plan](https://humanhours.dev/docs/superpowers/plans/2026-05-31-enrichment-phase3a-companies-api): > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development. Steps use checkbox (`- [ ]`) syntax.
- [Enrichment Engine, Phase 3b: API Completion, Implementation Plan](https://humanhours.dev/docs/superpowers/plans/2026-05-31-enrichment-phase3b-api-completion): > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development. Steps use checkbox (`- [ ]`) syntax.
- [HumanHours demo-account voor prospect (Michael Burian / NDI)](https://humanhours.dev/docs/superpowers/specs/2026-05-16-humanhours-demo-account-design): **Datum:** 2026-05-16
- [HumanHours Enrichment Engine, v1 Design](https://humanhours.dev/docs/superpowers/specs/2026-05-31-humanhours-enrichment-engine-design): Date: 2026-05-31

## Raw markdown for LLM consumption

Every page under `/docs/*` is also served as raw `text/markdown` at `/api/docs-raw/<slug>`. Fetch that path when you want the underlying source instead of the rendered HTML.

## Optional

- [n8n community node](https://www.npmjs.com/package/n8n-nodes-humanhours): `npm install n8n-nodes-humanhours` or install via n8n Settings → Community Nodes.
- [Python SDK](https://pypi.org/project/humanhours/): `pip install humanhours`.
