Zum Inhalt springen
NeuSo funktioniert es

FirstSales mit Codex verwenden

Verbinden Sie Codex mit FirstSales über die REST-API (oder die CLI in einer Shell) — erster whoami-Aufruf, eingeschränkte Schlüssel, idempotente Schreibvorgänge und Abbruch bei nicht unterstützten Operationen.

  1. Den richtigen Weg für Ihr Codex-Setup wählen

    FirstSales bietet zwei Integrationswege. Wenn Ihre Codex-Umgebung über eine Shell mit npm verfügt, installieren Sie das @firstsales.io/cli und steuern es wie jeden Shell-Agenten: es übernimmt Authentifizierung, JSON und Idempotenz für Sie. Wenn Codex ohne Shell-Zugriff läuft (Browser oder Sandbox), rufen Sie die Developer API direkt über HTTPS auf. Die Dokumentation ordnet Codex genau aus diesem Grund den API-first-Agenten zu.

  2. Den Schlüssel als Umgebungs-Secret speichern

    Erstellen Sie einen Developer-API-Schlüssel unter Settings → API und legen Sie ihn im Secret Store Ihrer Codex-Umgebung als FIRSTSALES_API_KEY ab. Fügen Sie den rohen Schlüssel niemals in einen Prompt ein und committen Sie ihn nicht: referenzieren Sie die Umgebungsvariable im Code.

    # in your Codex task's environment
    FIRSTSALES_API_KEY=fs-key-...
    FIRSTSALES_BASE_URL=https://api.app.firstsales.io
  3. Zuerst die Identität prüfen

    Unabhängig vom gewählten Weg bestätigt der erste Aufruf, dass der Schlüssel zur erwarteten Organisation und zum erwarteten Workspace gehört:

    curl https://api.app.firstsales.io/api/v1/whoami \
      -H "Authorization: Bearer $FIRSTSALES_API_KEY"
  4. Vor dem Schreiben den Zustand lesen

    Lassen Sie Codex vor jeder Änderung erst prüfen. Ressourcen sind auf Organisation und Workspace beschränkt:

    curl https://api.app.firstsales.io/api/v1/organizations/ORG_ID/workspaces/WS_ID/campaigns \
      -H "Authorization: Bearer $FIRSTSALES_API_KEY"
    
    curl https://api.app.firstsales.io/api/v1/organizations/ORG_ID/workspaces/WS_ID/contacts \
      -H "Authorization: Bearer $FIRSTSALES_API_KEY"
  5. Idempotent schreiben

    Senden Sie bei Erstellungen einen Idempotency-Key-Header, damit eine wiederholte Anfrage niemals Daten dupliziert: wichtig für einen autonomen Agenten, der bei einem Timeout erneut senden kann:

    curl -X POST \
      https://api.app.firstsales.io/api/v1/organizations/ORG_ID/workspaces/WS_ID/contacts \
      -H "Authorization: Bearer $FIRSTSALES_API_KEY" \
      -H "Content-Type: application/json" \
      -H "Idempotency-Key: codex-lead-2026-01" \
      -d '{"email":"[email protected]","first_name":"Sam"}'
  6. Codex auf der öffentlichen Oberfläche halten

    Weisen Sie Codex an, ausschließlich öffentliche /api/v1-Endpunkte zu verwenden. Bei einer unsupported_operation-Antwort muss es stoppen und melden (niemals die App scrapen oder private Routen, Provider-Callbacks, Tracking-Pixel, Unsubscribe-Handler oder Cron-Endpunkte aufrufen, um ein Ergebnis zu erzwingen. Behandeln Sie 401 (falscher Schlüssel), 422 (Validierung) der Body nennt das Feld) und 429 (zurückrudern) explizit.

Profi-Tipps

  • Shell vorhanden? Bevorzugen Sie die CLI

    Wenn Ihre Codex-Sandbox npm ausführen kann, nimmt Ihnen die CLI viel Boilerplate ab: Authentifizierung, JSON, Idempotenz und Lösch-Bestätigung werden für Sie erledigt. Greifen Sie nur bei fehlender Shell auf rohes HTTP zurück.

  • Der Schlüssel gehört in die Umgebung, nicht in den Prompt

    Legen Sie FIRSTSALES_API_KEY im Secret Store von Codex ab und referenzieren Sie ihn. Ein Schlüssel im Prompt landet in Logs und Verlauf.

  • whoami ist der günstigste Sicherheitscheck

    Ein einziger Aufruf bestätigt, dass Codex auf die richtige Organisation und den richtigen Workspace zeigt, bevor irgendetwas geschrieben wird. Wer ihn überspringt, riskiert Daten im falschen Workspace.

  • Idempotency-Key bei jeder Erstellung

    Autonome Agenten wiederholen Anfragen. Ein stabiler Idempotenzschlüssel macht aus einem wiederholten POST ein No-op statt eines doppelten Kontakts oder einer doppelten Abbuchung.

Häufig gestellte Fragen

Soll Codex die CLI oder die API verwenden?

Wenn Codex Shell-Zugriff mit npm hat, nutzen Sie die CLI. Läuft es in einem Browser oder einer Sandbox ohne Shell, rufen Sie die Developer API über HTTPS auf. Der API-Weg ist der Standard für browserbasierte Agenten.

Wie übergebe ich Codex den Schlüssel sicher?

Speichern Sie ihn als FIRSTSALES_API_KEY im Umgebungs-/Secret Store von Codex und referenzieren Sie die Variable im Code. Fügen Sie den rohen Schlüssel nicht in Prompts ein und committen Sie ihn nicht.

Was ist die Basis-URL und der erste Aufruf?

Basis https://api.app.firstsales.io, Bearer-Authentifizierung. Erster Aufruf GET /api/v1/whoami, um Organisation und Workspace-Kontext vor jeder Schreiboperation zu bestätigen.

Wie verhindere ich doppelte Schreibvorgänge bei Wiederholungen?

Senden Sie bei Erstellungsanfragen einen Idempotency-Key-Header. Eine Wiederholung mit demselben Schlüssel liefert das ursprüngliche Ergebnis zurück, statt einen zweiten Datensatz zu erzeugen.

Was darf Codex niemals tun?

Niemals app-interne Routen, Provider-Callbacks, Tracking-Pixel, Unsubscribe-Handler oder interne Cron-Endpunkte aufrufen und niemals die App-Oberfläche scrapen. Bleiben Sie auf den öffentlichen /api/v1-Endpunkten; bei unsupported_operation stoppen und melden.

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.