Platform
Connecting Stripe, settings, team management, and billing.
Getting started
How Foxhound works
Foxhound watches your connected Stripe account for failed payments. Stripe sends a webhook within seconds of a failure, Foxhound reads the decline code, sorts the failure into a category, and opens a recovery sequence for it without you doing anything.
A sequence is a quiet retry first, then AI-written emails and further retries spread across thirty days, with the timing chosen by what went wrong. If the payment comes back at any point, the steps still ahead of it are cancelled. If the sequence runs out without the payment coming back, the payment is marked failed unrecovered and you are told.
Connecting your Stripe account
Foxhound connects to your Stripe account through Stripe Connect with read and write OAuth scope, because retrying a failed invoice is a write. Foxhound reads invoices, subscriptions, disputes, and customer data. It writes in three places: retrying payment on an invoice that has already failed, setting a customer default payment method after that customer updates their card, and submitting dispute evidence once someone on your team has approved it. It never changes prices, products, or subscription plans, never creates a charge outside an invoice you already issued, and never reaches your payouts or bank account.
- 01Open /connect and give the account a name.
- 02Connect with Stripe sends you to Stripe's authorization page.
- 03Choose the Stripe account you want watched and authorize the connection.
- 04You land back in Foxhound and monitoring starts immediately.
Disconnecting Stripe
Disconnect at any time from your Stripe dashboard or from Settings inside Foxhound, one connected Stripe account at a time. Disconnecting stops recovery work on that Stripe account immediately, and any other Stripe account you have connected keeps running. It does not close your Foxhound account and it does not waive fees already earned on recoveries Foxhound attributed, which still invoice. To stop everything, cancel the account under Danger zone in Settings and My account.
Initial setup
Two settings are worth putting in before your first failure, because both change what your customers read.
Sender name
Settings and Email holds the sender name, the name your customers see in the From line of every recovery email. Set it before your first send: until you do, recovery mail goes out from "Support". Send test email delivers a sample to your own address through the real sending path, so the From line you see is the one your customers get.
Brand voice
Settings and Brand voice sets the tone of every AI-written email. Set one voice for everything, or a different voice for each decline category underneath it.
What happens when your first payment fails
Nothing is required of you. The sequence runs on its own.
- 01Stripe fires an
invoice.payment_failedwebhook at Foxhound within seconds. - 02Foxhound reads the decline code and sorts the failure into a category.
- 03Foxhound opens a recovery record and schedules its steps for that category.
- 04The payment appears on your dashboard under active sequences.
- 05A quiet retry runs first where the category allows one, so a payment that comes back that way never reaches your customer at all.
- 06If it does not, the first email goes out at its scheduled time, written for that customer and that decline.
- 07If the payment recovers at any point, every remaining step is cancelled and you are emailed.
See the Recovery guide for managing payments, reading a sequence, and what each dashboard number means.
Additional features
Expiring card alerts
Foxhound checks your active subscriptions nightly and, when a card is inside 30 days of expiring, emails that customer once to ask them to update it. The email comes from your sender name and links to the same hosted card-update page a dunning email uses.
It sends once per card and expiry month, never repeatedly, and a card that has already expired is not warned about, because at that point the payment has failed and the recovery sequence has it.
Nothing about this alert is billable. It prevents a failure rather than recovering one, so there is no recovered payment and no fee.
Expiring card alerts are on unless you turn them off on the features page.
Win-back sequences
When a subscription is cancelled voluntarily, Foxhound starts a win-back sequence: three emails, the first an hour after the cancellation, then one at four days and a last one at fourteen. Each is written in your brand voice for the step it is, warmer at the first and lighter at the last, and each links to a page where that customer can restart the same plan through Stripe.
It does not start for a subscription that ended because payments were failing, because that is a recovery and the recovery sequence already has it, and it does not start for a customer you chased in the last seven days. The sequence stops as soon as they come back.
A reactivation is not billed. Win-back brings back a customer who chose to leave, which is not the recovery of a failed payment, so there is no recovered payment and no fee.
Win-back sequences are on unless you turn them off on the features page.
Weekly digest
The weekly digest is a Monday morning summary of the previous seven days: revenue recovered, recovery rate, payments failed and recovered, revenue still at risk, active sequences, emails sent, and win-back sequences running. It is off until you enable it on the notifications page, it goes to the same notification email, and it arrives once a week even in a quiet week, so a week with nothing in it still tells you that.
Slack notifications
Foxhound posts to Slack when a recovery email goes out and when a retry brings a payment back. Paste an incoming webhook URL on the notifications page to turn it on.
- 01Create an app for your workspace at api.slack.com/apps.
- 02Turn on Incoming Webhooks and add one to the channel you want.
- 03Copy the webhook URL.
- 04Paste it into the Slack webhook field under Settings and Notifications, and save.
Free lost-revenue audit
The audit at /audit needs no Foxhound account. It connects to Stripe read-only, reads the trailing period, and shows what Stripe already recovered, what is still unrecovered, and where Foxhound would add on top. It writes nothing back to Stripe.
Settings reference
Settings is a hub: Stripe connections, Email, Brand voice, Features, Audit, Notifications, Alerts, Team, API keys, and My account, each on its own page with a sub-nav down the side. Disputes and Intelligence settings are not built yet, so the hub does not list them.
| Setting | What it does |
|---|---|
| Sender name | The name your customers see in the From line of every recovery email. Recovery mail goes out from "Support" until you set it. |
| Send test email | Delivers a real recovery email to your own address through the sending path your customers get, so you can read the From line and the copy before a real failure. |
Brand voice
The voice for a given email is the one set for that decline category, or the main voice when the category has none, or Foxhound's own default when neither is set. The most specific voice available wins.
Merchant context
The industry, customer type and monthly revenue you enter under Settings and My account go to the AI with every recovery email, so a message written for a B2B SaaS account does not read like one written for a consumer store. Leave them blank and the copy simply omits that context.
| Field | What it does |
|---|---|
| Industry | What the business sells, so the email is written for that kind of buyer. |
| Primary customer type | Who is being written to, which changes the register a great deal between businesses and consumers. |
| Monthly recurring revenue | Roughly how big the business is, which changes how a payment of a given size reads. |
Notifications
When Foxhound recovers a payment, it emails the notification email set in Settings and Notifications, with the amount, the customer, and the decline that started it. It sends once per recovery: a repeated webhook from Stripe does not produce a second email.
When a sequence runs out of steps without the payment coming back, Foxhound emails the same address to say so, with the customer and the amount, so you can decide whether to chase it or write it off. A payment that recovers gets the recovery email instead: you never get both for one payment.
Set no notification email and Foxhound sends nothing, which is also how you turn either one off. Slack delivery posts to an incoming webhook you paste on the notifications page, when a recovery email goes out and when a retry recovers a payment.
- Recovery. Emailed when a payment in a sequence comes back.
- Sequence complete. Emailed when every step has run and the payment has not come back.
- Slack. Posts to your channel on a recovery email and on a successful retry.
- Weekly digest. Monday morning summary of the previous seven days.
- Monthly audit report. One email on the 1st, switched on under Settings and Audit, carrying a fresh audit of your Stripe account and what Foxhound recovered for you.
Alerts
Settings and Alerts lets you set a threshold on a metric Foxhound tracks: average health score, MRR at risk, churned MRR, and contracted MRR. Choose whether the metric dropping below or rising above your number counts, and Foxhound checks every night.
Every breach is recorded and shown under Recent triggers on that page. Foxhound does not email or Slack you when an alert fires yet, so the page is where you read them.
API keys
Settings and API keys issues credentials for external AI agents. A key is shown once, when you generate it, and only its hash is stored, so Foxhound cannot show it to you again. Name each key so you can tell them apart, and revoke any key from the same page. A revoked key stops working immediately.
Connecting an agent
Point an MCP client at https://foxhoundapp.com/mcp and give it the key as a bearer token. The endpoint speaks the Model Context Protocol over HTTP, and the key decides which account it reads: one key, one account, always the one that issued it.
Most of the tools READ. An agent can list your audit runs and open one, read your recovery queue, disputes, billing ledger and invoices, your recurring-revenue overview, churn, customers and alerts, see which Stripe accounts are connected, and read back the brand voice and the merchant context before changing either.
Eight tools WRITE, and they change settings only: your audit lookback and monthly report, the win-back and expiring-card features, your notification email, Slack webhook and notification toggles, the sender name and the brand voice on a connected Stripe account, the industry and customer type you have told Foxhound about, and your alerts, which an agent can create, switch off and delete. Each one runs the same validation the settings page runs, so an agent gets refused for the same reasons you would and reads the same sentence. Leaving a field out of a write leaves it as it is; only an empty value clears one.
There is no tool that submits dispute evidence, cancels an account, disconnects Stripe, issues another key or moves money in any way, and those are absent by construction rather than switched off.
Team
Invite teammates from Settings and Team. The account owner can remove any member other than themselves, and access ends immediately. Settings and Brand voice holds the main brand voice and, below it, a different tone for each failure category: soft declines, expired cards, network declines, and fraud or hard declines. A category you leave on "Same as main voice" falls back to the main one.
Inviting a team member
- 01Enter their email address under Settings and Team and send the invite.
- 02They get a link that stays valid for seven days.
- 03Someone who already has a Foxhound account joins on clicking it. Someone who does not signs up first and joins on the way through.
Removing a team member
Remove any member other than the owner from Settings and Team. Access ends immediately, and the owner cannot be removed at all.
Billing
Each monthly run bills the prior month's matured recoveries, meaning recoveries held for 30 or more days, at 20%. Recoveries Stripe would have gotten on its own are never billed. Disputes are billed at 20% of wins only, capped at $500 per dispute. Intelligence's predictive layer is a flat $199 per month.
A payment method goes on file once, in Settings. Invoices and the full evidence ledger are visible under Billing at any time.
Cancelling
Cancel account under Danger zone in Settings and My account stops the work. Every Stripe connection on the account is disconnected, no further sequence runs, and the recoveries Foxhound already attributed still invoice. Your billing history and the evidence behind it are left intact.