What problem does it solve?
Setting up the SupportHog Slack integration against a local PostHog development environment fails in confusing ways: OAuth client ID errors, white screens on the callback, redirect URI mismatches, and Slack event webhooks that cannot reach localhost. This Skill walks through the full local setup and explains the key insight that OAuth (browser-mediated) works on localhost while inbound Slack events (server-to-server) require a public tunnel.
Core Features & Use Cases
- Credential configuration: Set the SUPPORT_SLACK_APP_CLIENT_ID, SUPPORT_SLACK_APP_CLIENT_SECRET, and SUPPORT_SLACK_SIGNING_SECRET dynamic settings via .env.local or the Constance admin.
- Slack app creation: Configure the bot user, OAuth scopes, redirect URLs, event subscriptions, and interactivity endpoints at api.slack.com.
- Tunnel setup for inbound events: Run ngrok or cloudflared against port 8010 with Host-header rewriting so Slack event POSTs reach Django.
- Troubleshooting reference: Diagnose white screens, Network errors from tunnel rate limits, signature verification failures, and verify the event path end-to-end with a signed url_verification replay.
- Use Case: A developer testing the PostHog Conversations Slack integration locally hits "Support Slack OAuth client ID is not configured" and uses this Skill to configure credentials, create the Slack app, and tunnel events so Slack messages become support tickets.
Quick Start
Set up the SupportHog Slack app and tunnel so I can test the PostHog Conversations Slack integration on my local development environment.