Zum Inhalt springen
NeuSo funktioniert es

FirstSales mit Claude Code verwenden

Steuern Sie FirstSales von Claude Code aus über die CLI — installieren, authentifizieren, vor Änderungen prüfen und niemals Ihren API-Schlüssel in der Ausgabe des Agenten preisgeben.

  1. Warum die CLI für Claude Code

    Claude Code hat Shell-Zugriff, sollte FirstSales also über die CLI steuern, nicht über rohes HTTP. Die CLI zentralisiert die Authentifizierung, liefert stabiles JSON, das der Agent parsen kann, verwaltet Idempotency-Header und erzwingt eine Bestätigung bei destruktiven Operationen: alles, was Sie dem Agenten sonst jedes Mal aufs Neue korrekt beibringen müssten.

    Faustregel aus den Docs: Agenten sollten die CLI bevorzugen, wenn Shell-Zugriff besteht.

  2. Installieren und den Key bereitstellen

    Installieren Sie die CLI einmalig und geben Sie Claude Code den Key über die Umgebung, damit er nie in einem Prompt oder Transcript erscheint:

    npm install -g @firstsales.io/cli
    export FIRSTSALES_API_KEY="fs-key-..."   # set in your shell, not in the chat
  3. Dem Agenten seine Betriebsregeln geben

    Fügen Sie einen kurzen Betriebsvertrag in Claude Code ein (oder in eine Projektregeln-Datei), damit es sich sicher verhält:

    • Jede Sitzung mit firstsales whoami --json beginnen; Organisation und Workspace vor jeder Aktion bestätigen.
    • Zuerst prüfen, bewusst ändern, danach verifizieren.
    • --idempotency-key bei jedem Create verwenden, das wiederholt werden könnte.
    • --confirm nur für ein bewusstes, vom Nutzer angefordertes Delete verwenden.
    • Niemals rohe API-Keys ausgeben.
  4. Nur-Lese-Erkundung ist immer sicher

    Ermutigen Sie den Agenten, frei mit List-/Get-Befehlen zu erkunden: sie können nichts beschädigen:

    firstsales campaigns list --org ORG_ID --workspace WS_ID --json
    firstsales contacts list --org ORG_ID --workspace WS_ID --json
    firstsales billing overview --org ORG_ID --json
  5. Mutationen: Vorschau, Ausführung, Verifikation

    Lassen Sie Claude Code bei allem, was schreibt, die Schleife vollständig durchlaufen: --dry-run, dann der echte Aufruf mit einem Idempotency-Key, dann ein erneutes Lesen:

    firstsales contacts create --org ORG_ID --workspace WS_ID \
      --data '{"email":"[email protected]","first_name":"Sam"}' --dry-run
    
    firstsales contacts create --org ORG_ID --workspace WS_ID \
      --data '{"email":"[email protected]","first_name":"Sam"}' \
      --idempotency-key sam-acme-2026-01
    
    firstsales contacts list --org ORG_ID --workspace WS_ID --json
  6. KI-Entwürfe aus dem Terminal genehmigen oder ablehnen

    Ein nützlicher Claude-Code-Loop: ausstehende, KI-verfasste Antworten überprüfen und darauf reagieren, ohne die App zu öffnen. Threads auflisten, einen lesen, dann den Entwurf genehmigen oder ablehnen:

    firstsales inbox threads --org ORG_ID --workspace WS_ID
    firstsales inbox thread --org ORG_ID --workspace WS_ID --thread THREAD_ID
    firstsales inbox approve-draft --org ORG_ID --workspace WS_ID \
      --email EMAIL_ID --idempotency-key approve-EMAIL_ID
  7. Die öffentliche Oberfläche respektieren

    Weisen Sie den Agenten an, bei den öffentlichen Befehlen der CLI zu bleiben. Wenn ein Befehl unsupported_operation zurückgibt, muss er stoppen und melden: nicht versuchen, app-private Routen, Provider-Callbacks, Tracking-Pixel, Unsubscribe-Handler oder interne Cron-Endpoints aufzurufen, um das Ergebnis zu erzwingen.

Profi-Tipps

  • Die Betriebsregeln in eine Projektregeln-Datei legen

    Statt den Sicherheitsvertrag jede Sitzung neu einzufügen, legen Sie ihn in Ihre Claude-Code-Projektregeln, damit jeder Lauf mit whoami und der Inspect-Mutate-Verify-Schleife beginnt.

  • Key in der Umgebung, niemals im Chat

    Exportieren Sie FIRSTSALES_API_KEY in der Shell, in der Claude Code läuft. Steht der Key in einem Prompt, steht er im Transcript: die CLI hält ihn aus der Ausgabe heraus, holen Sie ihn nicht wieder hinein.

  • Frei lesen lassen, Schreibvorgänge gaten

    list-/get-/analytics-Befehle sind unbeaufsichtigt sicher. Reservieren Sie Ihre Review für alles mit create/update/delete oder --confirm.

  • unsupported_operation bedeutet stoppen

    Trainieren Sie den Agenten, unsupported_operation als Mauer zu behandeln, nicht als Rätsel. Die öffentliche CLI ist die gesamte erlaubte Oberfläche; es gibt keinen cleveren Workaround, der das Risiko wert wäre.

Häufig gestellte Fragen

Sollte Claude Code die CLI oder die API verwenden?

Die CLI. Da Claude Code Shell-Zugriff hat, wird die CLI bevorzugt: sie zentralisiert die Authentifizierung, liefert stabiles JSON und erzwingt Idempotenz sowie die Bestätigung destruktiver Operationen, sodass der Agent das nicht neu implementieren muss.

Wie halte ich meinen API-Key aus dem Transcript heraus?

Exportieren Sie FIRSTSALES_API_KEY in der Shell, bevor Sie Claude Code starten, und weisen Sie es an, niemals rohe Keys auszugeben. Die CLI liest die Umgebungsvariable und echoet sie nie in der Ausgabe.

Was ist der sichere Workflow für Änderungen?

Identität mit whoami verifizieren, Organisation/Workspace bestätigen, aktuellen Zustand prüfen, die minimale Änderung mit --dry-run dann --idempotency-key vornehmen, --confirm nur für beabsichtigte Deletes verwenden und zur Validierung erneut lesen.

Kann es den Posteingang verwalten?

Ja: inbox threads, inbox thread und inbox approve-draft / reject-draft lassen Claude Code KI-verfasste Antworten aus dem Terminal sichten und darauf reagieren.

Was, wenn ein Befehl nicht unterstützt wird?

Wenn die CLI unsupported_operation zurückgibt, sollte der Agent stoppen und es melden. Er darf nicht auf app-private Routen, Callbacks, Pixel oder Cron-Endpoints zurückfallen: die sind tabu und würden etwas beschädigen.

Wie verhindere ich versehentliche Löschungen?

Destruktive Befehle erfordern --confirm. Solange der Agent --confirm nur für vom Nutzer ausdrücklich gewünschte Löschungen hinzufügt, kann ein versehentliches Löschen nicht still passieren.

Entwickler & CLI

Akquise, die weiterläuft, wenn du offline bist.Leads, E-Mails, Follow-ups und Antworten, erledigt.

Verbinde unbegrenzte Postfächer und lass KI-Agenten Leads finden, jede E-Mail schreiben und nachfassen. Oder sende deine eigenen Vorlagen im manuellen Modus. Ab $29/Monat.

$1 für 3 Tage · Jederzeit kündbar · Kein Vertrag

Mit KI installieren

Dein Coding-Agent richtet die FirstSales CLI und Skills für dich ein.

Prompt für 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.