Skip to content
NewSee how
Improvement

Refunds now show on your usage page

When credits are refunded automatically, they now appear as a clear green entry in your usage feed — so your balance always reconciles with what you can see.

Trust in a credit balance comes from being able to account for every change to it. Charges have always been visible in your usage feed; refunds, until now, happened quietly in the background. That left a small but real gap: your balance could go up and the feed wouldn't say why. We've closed it.

Every refund, in plain sight

Open Billing → Usage and refunds now appear inline, right alongside charges, marked as a green + entry. Each one shows what it was for and when it happened, so the running balance you see always matches the math you can do yourself.

What you'll see

  • Green credit entries — refunds stand out from charges at a glance, so scanning the feed tells you immediately what added to your balance and what drew it down.
  • A reason for each one — every refund is labeled with what triggered it, such as a generation that failed and was automatically reimbursed.
  • Accurate running totals — the feed reconciles to your current balance, with no unexplained jumps.

Paired with automatic refunds

This works hand in hand with automatic credit refunds: when something like a draft generation fails on our side, you're credited back automatically — and now you can see that credit land. Together they mean you never have to take the balance on faith or reach out to ask why a number changed.

How to use it

  1. Go to Billing and open the Usage tab.
  2. Scan the feed — charges are listed as usual, and refunds appear as green + entries.
  3. Hover or expand an entry to see the reason behind it.

Why it matters

Anything involving money should be legible. When credits move, you deserve to see exactly why, without filing a support ticket to find out. Surfacing refunds in the same place as charges turns the usage feed into a complete, self-explaining ledger — which is what builds the confidence to run campaigns at scale without watching the balance like a hawk.

It also makes reconciliation trivial. If you ever want to check a billing period, the feed now tells the whole story in one view: what you spent, what came back, and why. There's no longer a category of balance change that lives only in the background — every movement, up or down, has a line you can point to. That completeness is quietly important, because the moment a number looks unexplained is the moment trust in the whole system starts to wobble.

All updates

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for 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.