HeadsDown tells your AI agent when you'll be back, who else can help, and whether to wait or keep moving. One install. Works with any agent.
{
"data": {
"checkAvailability": {
"status": "OFFLINE",
"returnsAt": "2026-04-03T09:00:00-06:00",
"waitMinutes": null,
"teamAvailable": ["bob"],
"action": "ROUTE_OR_QUEUE",
"reason": "Developer offline until 9 AM MT. Bob is online and can review."
}
}
}
{
"data": {
"checkAvailability": {
"status": "OFFLINE",
"returnsAt": "2026-04-03T09:00:00-06:00",
"action": "ROUTE_OR_QUEUE",
"reason": "Offline until 9 AM. Bob is online."
}
}
}
Your agent gets a new capability: knowing when you're around and what to do when you're not.
Set your mode (online, deep work, offline), your working hours, and when you'll be back. HeadsDown keeps this live as your day changes.
When the agent needs you, it calls HeadsDown. One API call. It gets your status, when you're back, and who else on your team can help right now.
Back in 20 minutes? The agent waits. Gone for 5 hours? It queues the question for your morning digest, routes to a teammate, or pings your phone for a 10-second yes/no.
Most tasks don't need human input. But the ones that do, a migration that needs approval, an ambiguous spec that needs clarification, those are the ones that get stuck.
Your agent hits a decision point at 11pm. It has no idea you're asleep. It waits. You wake up at 6am and find it's been blocked for 7 hours on a question that would have taken 10 seconds to answer.
Multiply by every night, every meeting, every lunch break.
Your agent hits a decision point while you're in a 30-minute meeting. HeadsDown says: "back in 22 minutes." The agent parks the question, continues other work, and asks you the moment you return.
No notification needed. No wasted time.
Your agent hits a decision point at 11pm. HeadsDown says: "offline until 9am, Bob is online." The agent can queue it for your morning digest, route to Bob, or tap your watch for a 10-second approval.
Your rules. The agent follows them.
Native iOS and Android apps with push notifications, home screen widgets, Apple Watch and Wear OS complications, and lock screen quick actions. When your agent needs a yes/no at 2am, it taps your wrist. When you wake up, your morning digest is waiting.
The difference between a productive overnight agent and a stuck one isn't the model. It's whether the agent knows your schedule.
Your agent sends a task proposal. HeadsDown checks your availability and returns a structured decision.
Deferred
mutation {
submitProposal(input: {
agentRef: "claude-sonnet:pi-agent"
model: "claude-sonnet-4"
framework: "pi"
description: "Migrate all 12 database models to new schema"
estimatedFiles: 12
estimatedMinutes: 50
sourceRef: "proposal-migration-001"
}) {
decision reason proposalId evaluatedAt
}
}
{
"data": {
"submitProposal": {
"decision": "DEFERRED",
"reason": "Offline. 12-model migration deferred. Back at 9 AM MT.",
"proposalId": "e5f6g7h8",
"evaluatedAt": "2026-04-02T22:15:00Z"
}
}
}
Approved
mutation {
submitProposal(input: {
agentRef: "claude-sonnet:pi-agent"
model: "claude-sonnet-4"
framework: "pi"
description: "Refactor auth module across 5 files"
estimatedFiles: 5
estimatedMinutes: 20
sourceRef: "proposal-auth-refactor"
}) {
decision reason proposalId evaluatedAt
}
}
{
"data": {
"submitProposal": {
"decision": "APPROVED",
"reason": "Approved: 5 files, 20 min fits current window.",
"proposalId": "a1b2c3d4",
"evaluatedAt": "2026-04-02T16:28:00Z"
}
}
}
Time estimates get more accurate the more you use HeadsDown. Every completed task reports back timing data, and the engine learns what each model and framework actually finishes in real conditions.
Install the free skill today. When you want your agent to act on your availability instead of just seeing it, upgrade.
Your availability gets injected into the agent's context: online, offline, deep work, and when you're back. The LLM sees it and decides what to do with it. Good for solo developers who want basic time awareness.
hd busy 2h
hd offline until 9am
Everything in Free, plus structured decisions via GraphQL, push notifications for blocking questions, morning digests, auto-responder rules, and team availability routing. Your agent doesn't just know your schedule. It knows what to do when you're not there.
Your bot checks HeadsDown before sending a DM. No more pings at midnight.
Your deploy tool confirms the on-call engineer is actually around before shipping.
Your pipeline checks if a reviewer is available before opening a PR notification.
Route tickets to whoever's actually at their desk, not whoever's technically on shift.
Your calendar reads your HeadsDown status. One source of truth for availability.
Any system that can make an HTTP request can check HeadsDown first. Build it once.
One GraphQL endpoint. If it can make an HTTP request, it can check before it interrupts.
Everything on your machine is open source and auditable. The engine behind the API is the product.
// The agent checks HeadsDown before every taskimport { GraphQLClient } from "graphql-request"; const client = new GraphQLClient(HEADSDOWN_URL, { headers: { authorization: `Bearer ${API_KEY}` },}); export async function beforeTask(task) { const { submitProposal } = await client.request(` mutation($input: ProposalInput!) { submitProposal(input: $input) { decision reason proposalId } } `, { input: { agentRef: task.agent, model: task.model, framework: "pi-agent", description: task.description, estimatedFiles: task.files, estimatedMinutes: task.minutes, sourceRef: task.id, }, }); if (submitProposal.decision === "DEFERRED") { return task.defer(submitProposal.reason); } return task.proceed();}
I spent three years building availability tools for teams. The whole problem was the same: people interrupt each other because they have no idea who's around, who's busy, or when someone will be back. Then I started using AI agents and realized they have the exact same problem. Agents need expectations of your schedule so they can work around you to be most effective. Same problem, new audience, and this time the integration is frictionless.
Built with Elixir + Phoenix by a solo founder who's been thinking about this problem since 2019.
The Lifetime Pass gives your agent decisions it can't ignore, push notifications for blocking questions, morning digests, and team availability routing.
$79 one-time, forever
Lifetime access to all individual features. Join the waitlist to lock in this price.
The free skill and paid features are both launching soon. $79 lifetime price locks in for waitlist members.
You're on the list.
We'll email you when the free skill is ready to install. The $79 lifetime price is locked in for you.