Skip to content

Connect it in five minutes, or send it yourself

Stripe, Polar, Lemon Squeezy and Paddle are detected automatically. Everything else works through one API call.

Example
StripePolarLemon SqueezyPaddle
POST /api/v1/cancellations
Authorization: Bearer wl_your_api_key
{ "customer_email": "jane@example.com",
  "mrr_cents": 14900 }
Outbound webhooksCSV import

Four providers are detected with no code. Everything else sends one POST — the same endpoint the providers themselves resolve to.

Four providers, zero code

Connect the account and cancellations start flowing. Access is read-only and narrow — WhyLeft never touches card data and never modifies anything.

Any other stack, one endpoint

POST a cancellation from wherever your own cancel logic lives. Everything downstream behaves identically to a detected one.

Alerts where you already are

Slack notifications for the things worth interrupting you for: a reply landing, a high-MRR account leaving, a pattern emerging.

The API is included

There's no add-on and no enterprise tier for it. Send cancellations in, receive events out through webhooks, and export everything you've collected whenever you want it.

More detail

The billing-provider integrations are a convenience, not a requirement. Plenty of businesses run entirely through the API because their cancel flow lives somewhere a webhook can't see.

Example

What to fix first

Segmented reporting is your most expensive gap

Customers
9
MRR
$1,140
Confidence
82%

A claim you can defend in a roadmap meeting, with the quotes it came from attached to it.

Automation without a native app

WhyLeft doesn't ship a native Zapier app today. Outbound webhooks cover the same ground — point one at Zapier, n8n, Make, or your own endpoint and react to WhyLeft events wherever you like.

More detail

We'd rather say that plainly than list a logo we haven't built.

The homegrown billing stack

Your subscriptions live in your own database because of an old decision nobody wants to revisit. That's fine — one POST from the function that already handles cancellation, and the rest of WhyLeft works exactly as advertised.

Questions about this

Which billing providers work with WhyLeft?

Stripe, Polar, Lemon Squeezy and Paddle are detected automatically — connect the account and cancellations start flowing.

Anything else works through the API, an outbound webhook from your own backend, manual entry, or a CSV import. The billing provider is a convenience, not a requirement.

I don't use any of those. Can I still use WhyLeft?

Yes. POST a cancellation to the API from wherever your own cancel logic runs and everything downstream works identically. It's one endpoint, one API key and a handful of fields.

Is there an API?

Yes, and it's included — no add-on, no enterprise tier. You can send cancellations in, receive events out via webhooks, and export everything you've collected.

Can I get alerts in Slack?

Yes. Connect a workspace and choose what's worth interrupting you for — a reply landing, a high-MRR account cancelling, or an emerging pattern across several interviews.

What access does WhyLeft have to my Stripe account?

Read-only, and narrowly scoped. WhyLeft uses the connection to detect cancellations and look up the cancelled customer's email address. It never reads card data, never moves money, and never modifies anything in your account.

Your next cancellation is coming.

It can be another number on a chart, or the reason you build the right thing next quarter.

No credit card. Cancel in one click — we'd rather you tell us why.