Skip to content
newThe webhook.co MCP server is live — turn any webhook into an agent event. Read the docs
agent triggers

Give your agents an event they can act on

A webhook arrives whether or not your agent is awake. Subscribe to the events you care about and read them with a durable, at-least-once, cursor-acked call — reachable from MCP today, and from the same contract on every other surface.

mcp.webhook.cotriggers.wait
tool triggers.create
input { "endpointId": "…", "eventTypes": ["issue.updated"] }
tool triggers.wait
input { "triggerId": "…", "cursor": "…" }
{
"events": [ … ],
"cursor": "…" // ack by passing it back on the next call
}

A durable webhook subscription, not a polling loop you own

Your agent creates a trigger for the events it cares about, then reads matching events with a cursor it acknowledges as it goes. Delivery is at-least-once: the event is durably captured the moment it arrives, whether or not your agent is up, and the cursor only advances past events you’ve acked. You drive the read cadence; we hold the events and the position for you.

Verified before your agent ever sees it

Events reach your agent having already passed the same edge verification everything else does — a forged event never surfaces to the agent, though the cursor still advances past it so it can’t wedge the stream. Your agent acts on events you’ve authenticated, not on raw untrusted input.

One capability contract, four surfaces

The MCP server is one binding over the same capability contract as the CLI, the API, and the dashboard — not a bolted-on side channel. And it’s scoped: the agent can read your events, but the tools that redirect deliveries are deliberately withheld from the MCP surface, so an agent can be driven by your webhooks without being able to reroute them.

Point a webhook at it. Watch it land.

Start free: a permanent URL, full inspection, one-command replay — and outbound delivery, because every feature is on every plan. Move up when you need more events.