Zum Inhalt springen
NeuSo funktioniert es

FirstSales CLI-Schnellstart

Installieren Sie die FirstSales-CLI, authentifizieren Sie sich mit einem API-Schlüssel und führen Sie Ihre ersten sicheren Befehle aus — whoami, Org-/Workspace-Erkennung, Dry-Run und Idempotenz.

  1. Die CLI installieren

    Die FirstSales-CLI ist ein npm-Paket. Installieren Sie sie global, um das Binary firstsales zu erhalten:

    npm install -g @firstsales.io/cli
    firstsales --version
  2. Authentifizieren

    Erstellen Sie einen Developer-API-Key unter Settings → API und übergeben Sie der CLI dann den Key und die Basis-URL. Der sauberste Weg sind Umgebungsvariablen:

    export FIRSTSALES_API_KEY="fs-key-..."
    export FIRSTSALES_BASE_URL="https://api.app.firstsales.io"
  3. Mit whoami und doctor überprüfen

    Bevor Sie irgendetwas tun, bestätigen Sie, dass der Key den richtigen Kontext auflöst. whoami zeigt Ihren Nutzer, Ihre Organisation und Ihren Workspace; doctor prüft Ihr Setup:

    firstsales whoami --json
    firstsales doctor
  4. Die globalen Flags verstehen

    Jeder Befehl teilt sich dieselben Flags (lernen Sie diese einmal:

    • --org <id> / --workspace <id>) Ziel-Scope (die meisten Befehle brauchen beide).
    • --json (Standard) / --pretty (Ausgabeformat.
    • --data '<json>' / --data-file <path>) Request-Body.
    • --idempotency-key <key> (sichere Wiederholungen bei Creates.
    • --dry-run) Vorschau des Requests, ohne ihn zu senden.
    • --confirm (erforderlich für jeden destruktiven (Delete-)Befehl.
    • --api-key / --base-url / --profile) Auth pro Aufruf überschreiben.
  5. Ihre Organisation und Ihren Workspace ermitteln

    Die meisten Befehle sind auf eine Organisation und einen Workspace eingegrenzt. Listen Sie sie auf und wiederverwenden Sie dann die IDs:

    firstsales organizations list
    firstsales workspaces list --org ORG_ID
    firstsales campaigns list --org ORG_ID --workspace WS_ID
  6. Eine sichere erste Änderung vornehmen

    Folgen Sie der goldenen Schleife: zuerst prüfen, bewusst ändern, danach verifizieren. Erst mit --dry-run eine Vorschau erstellen, dann mit einem Idempotency-Key anlegen, dann erneut lesen, um zu bestätigen:

    # Vorschau: es wird nichts geschrieben
    firstsales contacts create --org ORG_ID --workspace WS_ID \
      --data '{"email":"[email protected]","first_name":"Jane"}' --dry-run
    
    # Tatsächlich erstellen, idempotent
    firstsales contacts create --org ORG_ID --workspace WS_ID \
      --data '{"email":"[email protected]","first_name":"Jane"}' \
      --idempotency-key jane-acme-2026-01
    
    # Verifizieren
    firstsales contacts list --org ORG_ID --workspace WS_ID
  7. Bewusst löschen

    Destruktive Befehle weigern sich, ohne --confirm auszuführen: das ist beabsichtigte Reibung, damit ein Agent oder ein Vertipper keine Daten versehentlich löschen kann:

    firstsales contacts delete --org ORG_ID --workspace WS_ID \
      --contact CONTACT_ID --confirm

Profi-Tipps

  • Zuerst prüfen, bewusst ändern, danach verifizieren

    Die CLI ist um diese Schleife herum gebaut. Auflisten vor dem Ändern, die Änderung mit --dry-run testen, ausführen, dann erneut lesen, um zu bestätigen. Es dauert länger zu tippen, ist aber weit günstiger als eine fehlerhafte Schreibaktion rückgängig zu machen.

  • --json ist für Maschinen, --pretty ist für Sie

    Die Ausgabe ist standardmäßig kompaktes JSON, damit Skripte und Agenten es parsen können. Fügen Sie --pretty hinzu, wenn ein Mensch liest, aber behalten Sie --json in Pipelines bei.

  • Ihren Key niemals ausgeben

    Übergeben Sie die Authentifizierung über FIRSTSALES_API_KEY oder ein Profil, nicht inline, wo er in der Shell-History oder in Logs landet. Die CLI gibt niemals rohe Keys aus: machen Sie das nicht rückgängig, indem Sie die Umgebungsvariable echoen.

  • Idempotency-Keys sind kostenlose Absicherung

    Jedes Create, das wiederholt werden könnte, sollte --idempotency-key mitführen. Ein wiederholter Befehl wird so zu einem No-op statt zu einem Duplikat.

Häufig gestellte Fragen

Wie installiere ich die CLI?

npm install -g @firstsales.io/cli, wodurch Sie das Binary firstsales erhalten. Es bildet direkt auf die öffentliche Developer-API /api/v1 ab.

Wie funktioniert die Authentifizierung?

Setzen Sie FIRSTSALES_API_KEY (und optional FIRSTSALES_BASE_URL) in Ihrer Umgebung, oder übergeben Sie --api-key / --base-url pro Befehl. Überprüfen Sie mit firstsales whoami --json.

Warum benötigen Befehle --org und --workspace?

Ressourcen sind auf eine Organisation und einen Workspace eingegrenzt. Listen Sie sie mit organizations list und workspaces list --org ORG_ID auf und übergeben Sie dann beide IDs bei eingegrenzten Befehlen.

Was macht --dry-run?

Es gibt den Request aus, den die CLI senden würde, ohne ihn tatsächlich zu senden: so können Sie Body und Ziel vor einer echten Mutation bestätigen.

Warum wird mein Delete nicht ausgeführt?

Destruktive Befehle erfordern by Design das Flag --confirm. Fügen Sie --confirm hinzu, sobald Sie sicher sind: es ist die Sicherung, die versehentliche Löschungen stoppt.

Unterscheidet sich die CLI von der API?

Sie ist ein dünner Wrapper über dieselben öffentlichen /api/v1-Endpoints. Die CLI fügt Komfort hinzu (zentralisierte Authentifizierung, stabiles JSON, Idempotency-Handling und Bestätigung destruktiver Operationen) damit Agenten und Skripte das nicht neu implementieren müssen.

Kann ich mehrere Accounts konfiguriert halten?

Ja: nutzen Sie --profile <name>, um ein gespeichertes lokales Profil zu laden, oder überschreiben Sie --api-key/--base-url pro Befehl, um zwischen Organisationen oder Umgebungen zu wechseln.

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.