Pular para o conteúdo
NovoVeja como
Correção

Clearer import status, with one-click retry

When a website import doesn't finish, the knowledge base now shows a plain-language status that explains what happened and how to recover — with a step-by-step pipeline that marks where it stopped and a one-click retry that resumes from the exact failed step.

Importing a website doesn't always finish on the first try — the open web is messy, and a page can time out or a site can be momentarily out of reach. What used to make that worse was the message you got: a confusing, internal-sounding error that didn't tell you what happened or what to do. Now an import that stumbles explains itself in plain language and gives you a one-click way to pick up exactly where it left off.

A status you can actually read

When an import doesn't complete, the knowledge base now shows a plainly worded status instead of a raw technical error. If the crawler was briefly too busy to finish reading a site, it says exactly that — "could not finish reading this website, please retry in a few minutes" — so you know it's a temporary hiccup, not a problem with your account or your setup.

See exactly where it stopped

Every import moves through four stages — crawling the website, parsing the content, storing it, and enriching the knowledge graph — and the knowledge base now shows that pipeline as a row of steps. If something goes wrong, the exact step that failed is marked, with the plain-language reason right beside it. You no longer have to guess whether a base is half-built or simply still working; the pipeline tells you at a glance.

Retry in one click, from where it failed

Next to the failed step is a Retry button, and it resumes the import from the step that stopped — not from scratch. The work already done isn't thrown away, and pages that already came through aren't crawled again. One click, and the import continues from the exact point it left off.

What you'll see

  • A readable reason — a short, human explanation of what happened, in your language, instead of an internal error code.
  • A visible pipeline — crawl, parse, store, enrich, with the failed step clearly marked so you know precisely where things stand.
  • One-click retry — resume from the failed step without re-adding the source or starting over.
  • No leaked internals — error messages no longer expose implementation details that were never meant for you.

How to use it

  1. If a knowledge base shows an error, open it and read the status — it explains what happened.
  2. Check the processing pipeline to see which step stopped.
  3. Hit Retry to resume from that step. Most temporary failures clear on a second attempt a few minutes later.

Why it matters

Hitting a wall is frustrating; hitting a wall with no idea why is worse. A vague error makes you wonder whether you did something wrong, whether your account is broken, or whether the feature works at all — when the real answer is often just that a page was momentarily out of reach. Turning that dead end into a clear status and a one-click retry means a stalled import becomes a few seconds of work instead of a support ticket, and your knowledge base ends up with the sources you actually wanted.

It's also a deliberate stance on error messages in general: the person reading one is trying to get something done, not debug our system, so a message should always answer "what happened and what do I do now" in plain language. We've scrubbed the internal details that used to leak through here and replaced them with a status you can act on — paired with resilient import behind the scenes that retries transient failures on its own before they ever reach you.

Todas as novidades

Prospecção que continua quando você desconecta.Leads, emails, follow-ups e respostas, resolvidos.

Conecte caixas ilimitadas e deixe os agentes de IA encontrarem leads, escreverem cada email e fazerem follow-up. Ou envie seus próprios modelos no modo manual. A partir de $29/mês.

$1 por 3 dias · Cancele quando quiser · Sem contrato

Instalar com IA

Seu agente de código configura a CLI e as skills do FirstSales para você.

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