Expose your local endpoint (local development)
When you build on your own machine, your server runs at something like http://localhost:3000. That address only exists on your computer — InsurGrid's servers can't reach it, and it isn't HTTPS. So webhooks will never arrive while you develop, unless you bridge that gap.
The fix is a tunnel: a tool that gives your local server a temporary public HTTPS URL and forwards any request on that URL to localhost. This is standard for webhook development — Stripe, GitHub, and every webhook provider expect it.
Using ngrok (quickest)
Install ngrok and sign up for a free account.
Start your local server (say, on port 3000).
In a second terminal, run:
ngrok http 3000ngrok prints a public HTTPS URL that forwards to your local server:
Forwarding https://a1b2-34-56-78-90.ngrok-free.app -> http://localhost:3000Copy that
https://…URL, add your endpoint path, and register it in the dashboard's API section as your staging webhook URL:https://a1b2-34-56-78-90.ngrok-free.app/hooks/insurgrid
Now any webhook InsurGrid sends to that URL is forwarded straight to your localhost server, and you can set breakpoints and read logs like normal.
Good to know
The URL changes each restart on the free plan. When you restart ngrok, update the URL in the dashboard. (A paid ngrok plan or a reserved domain gives you a stable URL.)
Any tunnel works — Cloudflare Tunnel, localtunnel, or others. ngrok is just the most common.
This is for development only. In production, register your real deployed HTTPS URL instead.
Inspect what's arriving at ngrok's local dashboard (
http://127.0.0.1:4040) — handy when debugging.
You're ready. Continue to Quickstart A →
