Theme
Connectors
Connectors bring in the context that lives in other systems — what your accounts pay, when you shipped — and attach it to the accounts and releases you already see in Tangent.
Find them under Settings › Connectors.
Stripe
Your Stripe subscriptions become account facts: plan, MRR, billing status, seats and currency, on the accounts you already have.
- In Stripe, create a restricted API key with read access to Customers, Subscriptions and Invoices (a full secret key works, but grants more than Tangent needs).
- Paste it, then choose how a Stripe customer maps to a Tangent account:
- Customer metadata → account_id (recommended): set your own account id on the Stripe customer. Exact, and stable if an e-mail changes.
- Customer e-mail domain: fine when one company means one domain; free-mail addresses will each look like their own account.
- Stripe customer id: always present, but accounts are named
cus_….
- Check & preview shows how your first subscriptions actually map before anything is imported.
- Connect, then Re-import all to bring in existing subscriptions.
MRR is normalised to a month whatever the billing interval: a £600/year plan is £50 of MRR.
A subscription whose customer has no mapping value is not imported, and is listed with that reason — Tangent will not guess which account it belongs to.
Once connected you can ask things like "feature adoption for accounts on the growth plan", and account.plan / account.mrr become filters anywhere in the product.
Deploys (GitHub · GitLab · Vercel)
Every successful production deploy becomes a Release: version, environment, commit and who shipped it — plus a marker on every time-series chart, so you can see what changed against the numbers.
- Copy the webhook URL shown on the connector.
- Add it to GitHub (Deployment events), GitLab (Deployment events) or Vercel (Deployment Succeeded), and paste the signing secret it gives you.
Failed deploys, previews and environments other than production are ignored — and listed with the reason, so you can see that they arrived.
Sync health
Each connector shows its last run, how many rows it brought in, and every row it could not map with the reason. Nothing is dropped silently.
Disconnecting
Disconnecting deletes the stored credential and revokes the ingest key Tangent minted for that connector. The webhook stops working immediately.
Contract: docs/CONNECTORS-SPEC.md in the repository.