Webhook Endpoints
Chief exposes a small number of webhook endpoints — the inbound surface for services that push events to Chief.
Stripe → Chief
Chief subscribes to Stripe webhook events for billing.
Endpoint: https://api.hirechief.ai/webhooks/stripe
Events received:
| Event | What Chief does |
|---|---|
checkout.session.completed | Activate the tenant’s subscription |
invoice.payment_succeeded | Mark invoice paid, extend service period |
invoice.payment_failed | Move tenant into payment-warning state |
customer.subscription.updated | Reconcile plan changes |
customer.subscription.deleted | Move tenant into 30-day grace period |
Verification: All events must carry a valid Stripe-Signature header signed by Chief’s webhook secret. Unsigned or stale (>5 min) requests are rejected.
This endpoint is for Chief’s own billing — you don’t configure it. If you want Chief to react to your Stripe events (e.g., your customer signup webhook), use a custom integration instead.
Slack → Chief (Slash Commands)
Slash commands flow over Slack’s HTTPS webhook channel rather than Socket Mode.
Endpoint: https://api.hirechief.ai/webhooks/slack/commands
Verification: Slack signs every request with a workspace-specific signing secret. Chief verifies signature, timestamp (must be within 5 min), and that the team_id matches a known tenant.
The slash command set is fixed — see Slack Events.
Slack → Chief (Interactivity)
For interactive elements (buttons, modals, approval prompts):
Endpoint: https://api.hirechief.ai/webhooks/slack/interactivity
Same verification as slash commands. Triggers from approval clicks, modal submits, and home-tab interactions all flow here.
App Factory → Chief (deploy notifications)
When the App Factory deploys an app, it gets a callback URL that Vercel pings on deploy events.
Endpoint pattern: https://api.hirechief.ai/webhooks/factory/{app_id}
This is internal — there’s no public spec. The app_id is per-app and the URL is rotated on each redeploy.
Webhook Failures
If a webhook handler errors (5xx response), the upstream service retries:
- Stripe — exponentially backs off for up to 3 days
- Slack — 3 retries with 30s, 60s, 120s delays
Persistent failures are surfaced in Dashboard → Status. The product team is paged for systemic webhook outages.
Outbound Webhooks (Customer Side)
If you want Chief to call your webhook on certain events (e.g., “tell my system every time Chief completes a task”), this is on the roadmap. Today, the workaround is a custom integration where Chief calls your endpoint as part of a workflow.