Integrations
Chief connects to your existing tools through first-class integrations and a generic credential vault for everything else.
First-Class Integrations
These have purpose-built tools, status checks, and one-click OAuth where supported.
| Integration | What Chief Can Do |
|---|---|
| Slack | Send messages, upload files, manage channels (built-in) |
| Stripe | List charges, refund, look up customers, run reports |
| Google Drive | Read, write, search, share docs and sheets |
| Google Calendar | Read availability, create events |
| GitHub | Open issues, comment on PRs, read repo contents |
| Linear | Create issues, update status, query projects |
| Notion | Read pages, append to databases |
| Convex | Query and mutate your own Convex deployments |
| AWS S3 | Read/write objects, list buckets |
| HubSpot | Read contacts, update deal stage, log activities |
Custom APIs (Credential Vault)
For anything not on the first-class list, add a generic credential and Chief can hit any HTTP API.
- Dashboard → Integrations → Add Custom.
- Pick auth type: API Key, Bearer Token, Basic Auth, or OAuth 2.0.
- Add the base URL and credential.
- Optionally upload an OpenAPI spec — Chief reads it and gets autocomplete on endpoints.
Once added, you can say:
Chief, hit our internal /api/orders endpoint and get all
orders from the last 24 hours, then post a count to #ops.Approval Workflows
For sensitive actions (sending money, posting publicly, deleting data), wrap the action in an approval rule.
Chief, set a rule: any Stripe refund over $500 needs my approval first.Now whenever Chief is about to issue a refund > $500, it pauses and DMs the requester with an approval prompt. Click Approve or Reject in Slack.
Connection Health
Dashboard → Integrations shows the live status of every connection: ✅ healthy, ⚠️ token expired, ❌ failing. Chief proactively pings you in DM if a critical connection breaks while a scheduled task is depending on it.
Removing an Integration
Dashboard → Integrations → [name] → Disconnect. The credential is permanently deleted (can’t be recovered) and any cron jobs that depend on it are paused, not deleted, so you can reconnect later.