// use case
Expose your Flask dev server to Slack for Slack events
Reserve a stable subdomain
On the lrok free plan you keep one reserved subdomain forever. Pick a name your Slack dashboard can hold onto — webhook URLs that survive laptop restarts mean fewer dashboard re-pastes.
$ lrok reserve fla-slack Reserved https://fla-slack.lrok.ioRun your Flask app
Start the dev server on port 5000 (the Flask default).
$ flask runTunnel localhost to the public URL
lrok forwards https://fla-slack.lrok.io/webhook → http://127.0.0.1:5000/webhook. The flag --hint binds your reserved subdomain to this tunnel.
$ lrok http 5000 --hint fla-slack Forwarding https://fla-slack.lrok.io -> http://127.0.0.1:5000Paste the URL into Slack
Slack app → Event Subscriptions → Request URL. Paste https://fla-slack.lrok.io/webhook as the destination.
Watch deliveries land in the request inspector
Every webhook Slack sends shows up at lrok.io/dashboard with full body, headers, status, and latency. Re-deliver any request to your Flask handler with one click. On the first paste of your URL into Slack, the app sends a {"type":"url_verification","challenge":"..."} POST. Echo back the challenge as JSON and you're live.
// why lrok for this
lrok's reserved subdomain is free and lives forever, so your Slack slack events URL never rotates. $9/mo flat for unlimited tunnels — no SSO tax, no enterprise-only signature verification, no bandwidth metering. The request inspector is built in.