Workflow 2 — Battle Cards aus Sales-Calls

Setup-Zeit: ~10 Minuten · Werkzeuge: Langdock + Google Drive

Was er macht: Du wirfst 8–10 Sales-Call-Transkripte rein. Die KI extrahiert wiederkehrende Einwände + ICP-Merkmale und legt eine fertige Battle Card als Google Doc in einem geteilten Ordner ab — wöchentlich oder on-demand.

Architektur

[Webhook]  →  [Extract Agent]  →  [Synthesize Agent]  →  [Create Document]  →  [Update Document]
   ↑                                                          legt leeres Doc       schreibt Markdown
8–10 Transkripte                                              im Drive-Ordner an    ins Doc rein
als Array

5 Nodes — gleiche Drive-Pattern wie Workflow 1 (Create gibt documentId zurück, Update schreibt Body rein). Synthesize gibt zwei Felder zurück: doc_title und doc_body.

Node 1 — Webhook Trigger

Erwartete Payload:

{
  "event": "weekly_battle_card_generation",
  "week": "2026-W22",
  "transcripts": [
    {
      "deal_stage": "discovery",
      "outcome": "lost",
      "industry": "Manufacturing",
      "company_size": "200-500",
      "transcript": "Sales: Hey Frau Becker, danke für die Zeit..."
    },
    {
      "deal_stage": "demo",
      "outcome": "won",
      "industry": "SaaS",
      "company_size": "50-200",
      "transcript": "Sales: Du hast erwähnt, dass euer aktueller Stack..."
    }
  ]
}
Die Transkripte liegen im Repo unter transcripts/fake_sales_calls/ als einzelne .txt-Dateien.

Node 2 — Extract Agent (Objections + ICP)

Modell: Claude Sonnet · Output-Format: JSON

System Prompt

Du bist ein Sales-Enablement-Analyst. Du bekommst eine Liste von
Sales-Call-Transkripten. Deine Aufgabe: Aus jedem einzelnen Transkript
strukturierte Daten extrahieren.

Für JEDES Transkript extrahiere:

1. Top 1–3 Einwände, die der Prospect geäußert hat (wortwörtliche Zitate
   bevorzugt, sonst paraphrasiert).
2. Entscheidende ICP-Signale (Firmengröße, Branche, Pain Point, aktueller Stack,
   Buying Intent).
3. Wenn outcome=won: was hat den Deal gekippt? Welche Antwort/Demo/Aussage?
4. Wenn outcome=lost: was war der finale Showstopper?

Antworte AUSSCHLIESSLICH mit gültigem JSON:

{
  "extractions": [
    {
      "industry": "<aus Input>",
      "outcome": "<won|lost|open>",
      "objections": ["<Einwand 1>", "<Einwand 2>"],
      "icp_signals": ["<Signal 1>", "<Signal 2>"],
      "tipping_point": "<was hat es gekippt, in einem Satz>"
    }
  ]
}

Input-Mapping

{{webhook.body.transcripts}}

Node 3 — Synthesize Agent (Battle Card)

Modell: GPT-4 oder Claude Sonnet · Output-Format: JSON mit doc_title + doc_body (Markdown im Body)

Wie bei Larry: zwei Felder zurück, getrennt verwendbar von Create und Update Document.

System Prompt

Du bist ein Senior-Sales-Coach. Du bekommst eine strukturierte Auswertung von
~10 Sales Calls der letzten Woche und schreibst daraus eine Battle Card, die
Reps am Montagmorgen in 3 Minuten lesen können.

# Output-Contract

Du gibst ein einziges JSON-Objekt zurück mit genau zwei Feldern:

{
  "doc_title": "<String, siehe Title-Template unten>",
  "doc_body":  "<String, vollständiger Markdown-Body, siehe Body-Template unten>"
}

- Keine Markdown-Code-Fences um das JSON.
- Keine extra Felder, kein Fließtext davor/danach.
- doc_body ist Markdown — Drive rendert die Formatierung.

# Title-Template

`📋 Battle Card — Woche {week}` (z.B. `📋 Battle Card — Woche 2026-W22`)

# Body-Template (Markdown im doc_body)

# 📋 Battle Card — Woche {week}

Basierend auf {N} Sales-Calls der Vorwoche.

## 🎯 Top 3 wiederkehrende Einwände

Für jeden Einwand:
- **Der Einwand:** wortwörtlich oder paraphrasiert
- **Wie oft kam er?** ({X} von {N} Calls)
- **Was hat funktioniert?** Beispiel aus einem won-Deal
- **Was floppt?** Beispiel aus einem lost-Deal

## 🟢 ICP-Signale, die heiße Deals zeigen

Liste der 3–5 stärksten Signale, die in won-Deals immer wieder vorkamen.

## 🔴 Anti-Signale — wenn du das hörst, qualifiziere ab

Liste der 2–3 Signale, die zuverlässig in lost-Deals vorkamen.

## 📞 Empfohlener Diskussions-Eröffner für nächste Woche

Ein konkreter Eröffnungssatz, basierend auf dem Muster der besten Calls.

---

# Wichtige Hinweise

- Schreibe auf Deutsch.
- Sei konkret, keine Floskeln.
- Wenn die Datenbasis dünn ist, sag es ehrlich im Body.
- Body maximal 600 Wörter.
- Niemals geschweifte Klammern im Output stehen lassen — alle {Platzhalter}
  durch echte Werte ersetzen ({week}, {N}, {X}).

Input-Mapping

{{node_2.output.extractions}}

Node 4 — Create Document

Integration: Google Drive (Create Document)

Legt ein leeres Doc im Drive-Ordner an. Titel kommt vom Synthesize Agent.

FeldWert
Drive-Ordner<YOUR_DRIVE_FOLDER_ID> (gleicher Demo-Ordner wie Workflow 1, oder ein eigener Battle Cards-Unterordner)
Doc-Titel{{node_3.output.doc_title}}
OutputdocumentId für Node 5

Node 5 — Update Document

Integration: Google Drive (Update Document)

Schreibt den Markdown-Body in das gerade angelegte Doc.

FeldWert
Document ID{{node_4.output.documentId}}
Body{{node_3.output.doc_body}}
FormatMarkdown (Drive rendert Headings, Bullets, Quotes)
Tipp: Battle Cards funktionieren super als fortlaufende Sammlung. Lege einen Ordner Battle Cards an, sortiere nach "Zuletzt geändert" — neue Cards sind oben, alte historisierst du.

Test-Daten

Im Repo liegen 8 fiktive Sales-Call-Transkripte:

transcripts/fake_sales_calls/
├── 01-saas-won-discovery.txt
├── 02-manufacturing-lost-pricing.txt
├── 03-fintech-won-demo.txt
├── 04-retail-lost-integration.txt
├── 05-healthcare-open-followup.txt
├── 06-logistics-won-procurement.txt
├── 07-mediacorp-lost-changemgmt.txt
└── 08-energy-won-csuite.txt

Erweiterungen