Domain
The top-level problem area in AgentRouter
A domain is the highest-level bucket in AgentRouter.
It describes the problem area an agent is trying to solve, not the vendor the agent happens to call.
Examples:
emailenrichmentsocialwebsearchpostbroadcastfinancegeodocumentmediamodelstravelspeechtranslationchain
Why Domains Exist
Agents reason better about tasks such as:
- send an email
- extract data from a page
- answer a grounded search query
- publish a post to a target channel
- quote a public broadcast before approving the real post
- run a finance lookup or market-data action
- get current time or convert a datetime between locations
- run model chat completion, code completion, or model listing
- enrich a person record
than about vendors such as Resend, Brave, Firecrawl, or Apollo.
So AgentRouter is domain-first, not provider-first.
What A Domain Gives You
Each domain exposes:
- a stable key such as
email - a human label and description
- a domain status such as
liveorpending - a path to its capabilities
- a path to its route catalog
Example:
How To Use A Domain
Design Rule
Do not create top-level domains for every provider or every thin endpoint variation.
Good:
search.answerweb.extractemail.send
Bad:
exa-answerfirecrawl-scraperesend-send
Those provider-specific choices belong at the route layer.