Aller au contenu
NouveauDécouvrir comment
Correction

Automatic credit refunds when a generation fails

If something fails on our side after credits were charged, you're now refunded automatically — with no risk of an incorrect double-charge when work is retried.

You should only ever pay for work that actually got done. When a credit-consuming task — like drafting an email with AI — fails partway through on our side, the credits spent on that attempt shouldn't just disappear. This release makes refunds for those failures automatic, and makes sure a retry never charges you twice.

Charged only for what completes

When a task fails after credits were already deducted, the system now detects the terminal failure and credits the amount back to your balance on its own. There's nothing to claim and no support ticket to file — the refund happens as part of handling the failure, and you'll see it land in your usage feed as a green credit entry.

No double-charging on retries

The trickier half of this is retries. Many failures are transient, so the work gets attempted again automatically — and a naive refund could collide with a charge that was actually fine, clawing back money it shouldn't or paying out twice. The refund logic is now careful about exactly this: it reimburses a genuinely failed attempt without reversing a charge for work that did succeed on a later try. The accounting stays correct whether a task succeeds the first time, succeeds on a retry, or fails for good.

What you'll notice

  • Failed generations no longer quietly cost you credits.
  • Refunds appear automatically in Billing → Usage, marked as green + entries with a reason.
  • Your balance reconciles cleanly even when tasks are retried behind the scenes.

Why it matters

Credits are money, and confidence in a credit system rests entirely on the belief that the number only moves when it should. A single unexplained deduction is enough to make anyone start watching the meter instead of running campaigns. By refunding failures automatically — and being meticulous about not double-counting retries — we keep the balance honest in both directions. You pay for outcomes, not for our hiccups, and you don't have to audit us to know it.

Concretely: if drafting an email reserves credits and that attempt fails outright, the exact amount returns to your balance and shows up as a green entry in your usage feed. If the work then succeeds on a retry, you're charged once for the success and nothing more. The cases that used to be ambiguous — fail-then-succeed, succeed-then-retry — now resolve to the obvious answer. That correctness is the whole game with anything financial: not just refunding generously, but refunding exactly, so the ledger is always something you can trust at a glance.

Toutes les nouveautés

Une prospection qui continue quand vous vous déconnectez.Leads, emails, relances et réponses, gérés.

Connectez des boîtes illimitées et laissez les agents IA trouver les leads, écrire chaque email et relancer. Ou envoyez vos propres modèles en mode manuel. À partir de $29/mois.

$1 pour 3 jours · Annulez quand vous voulez · Sans engagement

Installer avec l'IA

Votre agent de code installe la CLI et les skills FirstSales pour vous.

Prompt pour Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.