DOCS / AGENCY TREE
VIEW RAW

Agency tree

The Agency tier in HumanHours is built around a tree model: one anchor workspace pays a single Stripe subscription, and up to four child workspaces hang underneath it. All five workspaces share a pooled 25,000 events / month quota and get the full Agency feature set.

This page covers the operational rules so you can plan a multi-client rollout without opening a support ticket.

Anchor + children

When you sign up for Agency, the workspace you create becomes the anchor. The anchor:

  • Holds the Stripe subscription, customer, and invoice address
  • Is where you manage payment methods, downgrades, and cancellation
  • Counts as one of the five workspaces in your tree (so you have four left for clients)
  • Owns the agency-tier feature flags that propagate to children

When you create additional workspaces from the workspace switcher, they become children of the anchor:

  • Plan automatically set to agency
  • parent_org_id linked to the anchor
  • Inherit the Agency feature set (Reports API, custom task types, share-with-CFO, etc.)
  • Do not have their own Stripe subscription; everything bills to the anchor

Pooled events

Every event tracked across the entire tree counts against the same 25,000 events / month quota:

  • Events on the anchor: count toward the pool
  • Events on every child: count toward the pool
  • Events from clients you invited as members: count toward the pool (they show up under the child workspace they have access to)

Once the tree exceeds 25k events in a billing cycle, overage is metered through the shared HumanHours Overage SKU at €0.005 / €0.004 / €0.003 per event for the first 50k / next 200k / next 750k of overage. The overage is billed to the anchor's invoice.

Member rules

Two role gates matter when you use Agency to host client data:

Role on a child workspaceCan create new workspaces?Can be invited as admin?
Anchor owner / adminyes (up to 5 in the tree)yes
Child owner / admin (you, after creating the child)yes from the anchoryes (the anchor owner sets this)
Member / viewer (your invited client)nono, members and viewers only

Invited clients can only see the workspace they have access to. They cannot see the anchor, sibling workspaces, or each other. The "Switch to anchor" button in the billing UI is hidden from them.

Cancellation and downgrades

When the Agency subscription is cancelled in Stripe (either through the customer portal or customer.subscription.deleted), the entire tree downgrades atomically:

  • Anchor: plan switches to free, Stripe customer kept, subscription cleared
  • Every child: plan switches to free, parent_org_id cleared so each becomes a standalone Free workspace

Members keep their access to the (now Free) workspaces. Each workspace falls back to the Free 500-event quota independently. To keep the agency tree intact, reactivate the subscription before the period ends (the Reactivate button on /billing is one click).

Workspace-cap exception

Agency caps at five workspaces per tree. If you need more, this is the trigger for a Talk-to-us conversation: agencies running 10+ clients usually want SSO, dedicated Slack, and per-client invoicing, all of which sit on the Enterprise tier.

API and webhooks

Each workspace has its own API keys and its own webhook endpoints. Cross-workspace tracking is not supported: an event posted with workspace A's hh_live_… key is recorded against workspace A only, even if the agent in question runs across multiple clients.

This is intentional. Per-client API keys keep the audit trail clean and prevent a leaked key from spilling into another client's data.

Quick reference

ActionWhereWho can do it
Create child workspaceWorkspace switcher → "+ Create workspace"Anchor owner / admin
Delete child workspaceSettings → Workspace → "Delete this workspace"The child's owner
Invite clientSettings → Team on the child workspaceChild owner / admin
View pooled usage/billing on the anchorAnchor owner / admin
Manage subscription/billing on the anchorAnchor owner / admin
Cancel subscriptionStripe Customer Portal via /billingAnchor owner / admin

Found a typo or want to suggest an edit? Email support@triadagency.ai.