Every developer has been there: you're building an integration, and you need a real HTTP endpoint to receive a webhook — but you're on a laptop behind NAT, working in a sandboxed AI environment, or stuck in a CI runner with no public URL.
You could reach for webhook.site or ngrok. But those are separate accounts, browser tabs, or daemons to babysit. What if you could get a disposable webhook inbox URL with a single API call — from curl, a Python script, or even your AI agent's chat interface?
That's what the Agent Media Tools webhook inbox gives you. No signup. No server. One request, and you have a live HTTP endpoint that collects POSTs for you.
A webhook inbox is a temporary HTTP endpoint that accepts POST requests and stores them until you poll them. Think of it as a mailbox for machine-to-machine messages:
Later — from a different machine, a different session, or a different agent — you poll the inbox and get every message that arrived.
Hit the /api/webhook/inbox endpoint with a friendly name. That's it.
curl -X POST https://agentmediatools.com/api/webhook/inbox \
-H "Content-Type: application/json" \
-d '{"name": "deploy-alerts"}'
You'll get back:
{
"name": "deploy-alerts",
"inbox_url": "https://agentmediatools.com/api/webhook/inbox/deploy-alerts",
"token": "mt_web_in_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"created_at": "2026-07-19T12:00:00Z",
"message_count": 0
}
The inbox_url is your public endpoint — give this to any service that needs to send you webhooks. The token is how you'll read messages later (keep it secret).
Any external service can POST to your inbox URL. No auth required on the sender side — that's intentional. Inboxes accept anonymous POSTs so GitHub, Stripe, Slack, cron jobs, and dumb shell scripts can all deliver to them.
Here's a GitHub Actions workflow sending a deploy notification:
jobs:
deploy:
steps:
- run: echo "Deploying..."
- name: Notify inbox
run: |
curl -X POST https://agentmediatools.com/api/webhook/inbox/deploy-alerts \
-H "Content-Type: application/json" \
-d '{"event":"deploy","status":"success","commit":"abc123"}'
Every POST gets a timestamp and a unique ID. The inbox stores up to 100 messages before rotating oldest-first.
Now the magic part: from anywhere — a different laptop, an AI agent running in the cloud, a mobile phone terminal — you poll with your token and read everything.
curl "https://agentmediatools.com/api/webhook/inbox/deploy-alerts?token=mt_web_in_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Response:
{
"name": "deploy-alerts",
"messages": [
{
"id": "msg_001",
"timestamp": "2026-07-19T12:05:00Z",
"headers": {"content-type": "application/json"},
"body": {"event": "deploy", "status": "success", "commit": "abc123"}
}
],
"pending": 1
}
Messages are consumed on read by default — once you poll, they're removed from the queue. This prevents duplicate processing. You can also pass ?peek=true to read without consuming, useful for debugging.
Here's a minimal Python script that polls your inbox every 30 seconds and processes messages:
import requests, time, json
INBOX = "deploy-alerts"
TOKEN = "mt_web_in_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
while True:
r = requests.get(
f"https://agentmediatools.com/api/webhook/inbox/{INBOX}",
params={"token": TOKEN}
)
for msg in r.json().get("messages", []):
body = msg.get("body", {})
print(f"[{msg['id']}] {body.get('event')} — {body.get('status')}")
# Handle the webhook
time.sleep(30)
Webhook inboxes are perfect for low-code platforms:
https://agentmediatools.com/api/webhook/inbox/your-name as the POST target. Then use an HTTP Request node with your token to poll results into any downstream workflow.Because you can't always run one:
This pattern is especially useful when building autonomous agent workflows:
If your agent has the MCP tools active, it can create inboxes and poll them directly from conversation. On Hermes, the create_webhook_inbox and mailbox_poll MCP tools expose the same functionality.
You don't need an account. You don't need an API key. Open a terminal and run:
curl -s -X POST https://agentmediatools.com/api/webhook/inbox \
-H "Content-Type: application/json" \
-d '{"name":"test-'$(date +%s)'"}'
You'll get a live inbox URL in under a second. POST some JSON to it, then poll it back. That's the whole loop — and it works from anywhere.
Need more control? The same inbox system is available through the Agent Hub with MCP support, message TTLs, and webhook-out delivery to Discord, Telegram, or email.
Related: Webhooks docs → · Create inbox → · Automation workflows →