EventPort gives your local AI agent a public inbox for webhooks. GitHub, Linear, Stripe and Slack post to one URL; your agent polls and consumes events on read. No open ports, no tunnels. Open source ā self-host in minutes.
Hey Product Hunt š
I kept hitting the same wall while building local AI agents: the moment my agent
needed to react to something happening *out there* ā a GitHub push, a Linear
issue, a Stripe payment ā it couldn't. Webhooks need a public URL. My agent runs
on a laptop behind NAT. Every workaround meant opening ports, running ngrok, or
writing my own receiver just to verify signatures and queue payloads.
EventPort is the missing inbox. Create a subscription, get one public URL, point
any platform at it. Your agent polls `GET /events` on its own schedule and
consumes events on read. Nothing ever connects inbound to your machine ā no
ports, no tunnels.
What's inside:
⢠Signature verification at the edge for GitHub, Linear, Stripe, Shopify, Slack,
HubSpot, Calendly and Typeform. Anything else ā custom, with your own signing
secret.
⢠Two tokens per subscription, with separate roles: `egw_*` can only post
webhooks, `egc_*` can only poll. A leaked consumer token can't inject events.
⢠A durable queue on Cloudflare D1. If your agent is offline, events wait ā
adapters also dead-letter locally so nothing is silently lost.
⢠Three install guides an agent can follow by itself: /agent/dsh, /agent/pi and
/agent/exec (the last one works with any CLI agent).
It's MIT licensed and self-hostable: one Cloudflare Worker + D1, plus the
Next.js dashboard. Deploy your own in minutes, or just use the hosted version.
One thing I'd genuinely like your help with: which source should I build next ā
RSS, webpage monitoring, or X/YouTube? The roadmap is deliberately short right
now, and I'd rather build what you actually need.
Happy to answer anything about the architecture, or about the at-most-once
delivery tradeoff.
ā tudou527