12 August 2026
Hand a scheduled task to an agent you already run
Diarized can send a block from your calendar to an AI agent, and give you the hour back straight away. The agent is yours, not ours: it runs where your accounts already are. Here is the contract, and the setup for four ways of receiving it.
A block on your calendar now carries one more link: Hand to agent. Press it and Diarized posts the task to an address you control, deletes the block, and gives you that time back immediately. When your agent reports finishing, Diarized books fifteen minutes to check the work.
Diarized does not run the agent, and this is deliberate rather than unfinished. The tasks worth handing over need your context: edit that deck, reply to that person, read that dashboard. Hosting an agent that could do those would mean asking you for access to all of them. Your own agent already has it, granted by you, revocable by you.
Nothing an agent says completes a task. Diarized books a review block and you tick it off. An agent's word is not evidence, and a scheduler that closed real work on it would be one confused model away from losing something.
The contract
Every setup below does the same four things. If yours is not listed, these are the whole specification.
What your agent receives, and what it has to send back:
- Receive a POST with JSON: the task title, its due date, its priority, how long Diarized had booked for it, the slot it just freed, and why the task ranked where it did.
- Verify the X-Diarize-Signature header. It is sha256=HMAC(timestamp + "." + raw body) using the secret shown when you saved the agent, in the same shape Stripe uses.
- Do the work with your own accounts and your own tools.
- POST the callback URL from the payload, with the bearer token from the payload, sending {"status": "done", "summary": "..."} and optionally an https url to what you produced.
Verify the signature. Anyone who learns your callback address can otherwise post fake tasks straight into an agent holding your Slack and Drive credentials. If your receiver cannot compute an HMAC, put its own token in the header fields on the settings page instead, and check that. Do not skip both.
Once saved, press Send a test task on the settings page. It posts a harmless task titled as a test and shows you the raw response, or the transport error. Do that before you trust it with work.
n8n
The quickest of these, and the one to pick if you have no strong preference. Checked against n8n's Webhook node documentation on 12 August 2026.
In a new workflow:
- Add a Webhook node. Set the HTTP Method to POST and copy the Production URL.
- Set Authentication to Header Auth and create a credential with a name and value you choose. Put the same pair into the header fields on the Diarized settings page.
- Add a Code node to check X-Diarize-Signature if you want the stronger check as well. The raw body is needed, not the parsed JSON.
- Add whatever does the work: an AI Agent node, an HTTP Request node to your own service, or both.
- Add an HTTP Request node at the end. POST to the callback url from the incoming payload, with the Authorization header set to Bearer plus the callback token from the payload.
- Publish the workflow. Production URLs only exist once it is published.
OpenClaw
OpenClaw already exposes hook endpoints, so it needs no glue code at all. Checked against OpenClaw's webhook documentation on 12 August 2026.
In your gateway config:
- Set hooks.enabled to true, hooks.token to a secret you choose, and hooks.path to /hooks. A token is required when hooks are enabled.
- Use the /hooks/agent endpoint as your Diarized address. It runs an isolated agent turn and returns 202.
- On the Diarized settings page set the header name to Authorization and the value to Bearer plus your hook token. OpenClaw rejects tokens passed in the query string.
- Give your agent a skill that reads the callback block from the task it was handed and posts the result back to it.
OpenClaw authenticates with the static token, not with our signature. That is why the header fields exist. The signature is still sent, so a skill can check it too.
Claude Agent SDK
The best fit when the work needs your local tools, because the agent runs in your process with your MCP servers already connected. Checked against Anthropic's Agent SDK documentation on 12 August 2026.
You host a small receiver:
- Install the SDK: pip install claude-agent-sdk for Python, or npm install @anthropic-ai/claude-agent-sdk for TypeScript.
- Write a small HTTP server with one route. Verify the signature, then return 200 quickly and do the work in the background.
- Run the agent loop with the task title and the why line as the prompt, and give it the tools it needs.
- POST the callback url when the run finishes, with the bearer token from the payload.
- Expose the server on an https address. Diarized refuses anything that is not https or that resolves to a private network, so use a tunnel rather than localhost.
From another language, run the CLI headless with -p and --output-format json instead of using the SDK.
OpenAI
The Agents SDK has no inbound webhook of its own, so this is the same shape as the Claude setup: about thirty lines of FastAPI around it. Checked against the OpenAI Agents SDK documentation on 12 August 2026.
You host a small receiver:
- Install the SDK: pip install openai-agents.
- Write one FastAPI route. Verify the signature, then return 200 immediately and hand the work to a background task. A slow response is what causes retries.
- Call Runner.run with the task title and the why line, and give the agent your tools.
- POST the callback url with the bearer token when it finishes.
- Put it behind https on a public address.
Hermes
Nous Research's Hermes Agent lists a webhook adapter and an API server in its architecture notes, but publishes no endpoint path, port or payload schema, so there are no steps here we could run ourselves before writing them down. If you have it receiving HTTP, the contract above is all you need. Otherwise put any small receiver in front of it and have that receiver drive Hermes.
When it goes wrong
If your agent never answers, Diarized waits 24 hours, or until the task is due if that is sooner, then schedules the full task again and emails you. You never end up with an hour handed back and nobody doing the work. You can also press Take it back on the block at any point, which cancels the delegation and stops the old callback working.
Handing a task over sends its title and due date to the address you configured. That is the one place Diarized sends your task text anywhere other than your own calendar, and it only happens when you press the button. See the privacy notice.