Skip to content
NewSee how
Fix

Inbox links, deep links, and reconnect prompts that work

Inbox context-panel links are now real and correctly encoded, the open thread stays in the URL so deep links and the back button work, and expired connectors prompt a clear reconnect.

Working from the inbox should feel like the rest of the web — links you can click, a back button that works, and clear errors when something needs your attention. Three things were not living up to that: dead links in the thread context panel, deep links and the back button that did not behave, and cryptic failures when a connector's access had quietly expired. Small as each one sounds, together they made the inbox feel slightly broken in ways that were hard to put your finger on.

What was happening

The context panel beside an inbox thread showed the campaign, connector and team it related to, but those were not real links — there was nothing to click through to, and where links did exist they could be malformed by improper encoding. The open-tracking tooltip showed up even in cases where open tracking did not apply, which was misleading. The inbox also did not keep the page URL in sync with whichever thread you had open, so you could not share a direct link to a conversation, and the browser's back and forward buttons did not move you between threads the way you would expect. Expired connector access is a routine event — tokens do not last forever — but when a Google or Microsoft connector's access expired, the error it produced looked like a serious malfunction rather than a two-click fix, giving no hint that the answer was simply to reconnect.

What we fixed

In the thread context panel, the campaign, connector and team references are now real, clickable, correctly-encoded links that take you straight to the right place. The open-tracking tooltip only appears when open tracking actually applies to that thread. The inbox now keeps the page URL in sync with the thread you are viewing, so deep links point to the exact conversation and the browser back and forward buttons move between threads as expected. And when a Google or Microsoft connector's access has expired, you now see a clear message telling you to reconnect, instead of an opaque failure.

Why it matters

The inbox now behaves the way you expect a web app to. You can jump from a thread straight to the campaign that produced it, the connector that is sending it, or the teammate who owns it — without copying identifiers or hunting through other screens. You can share a link that lands the recipient on the exact conversation, and you can use the browser back and forward buttons to move through threads without losing your place. The open-tracking tooltip only appears when it is actually telling you something true. And when a connector needs reconnecting, the message says so plainly — so you spend a few seconds reconnecting instead of puzzling over an error that never explained itself.

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.