list_crm_leads
Listet CRM-Leads, neueste zuerst. Filterbar nach Phase, Herkunft und den Lead-Engine-Feldern Priorität, ballWith und Kategorie. Jeder Lead enthält zusätzlich die berechneten Felder category, dueAt und lastContactAt. Beim Filtern nach category durchsucht das Tool die 1.000 neuesten passenden Leads und kürzt danach auf limit. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „CRM“ aktiv.
- stage
- Optional · string · possible | lead | contacted | demo | proposal | invited | active | lost — Nur Leads in dieser Phase.
- source
- Optional · string · manual | referral | inbound | outbound | event — Herkunft des Leads: manual, referral, inbound, outbound oder event.
- priority
- Optional · string · A | B | C — Nur Leads mit dieser Lead-Engine-Priorität.
- ballWith
- Optional · string · us | other | none — Nur Leads, bei denen dieser Beteiligte am Zug ist: us (wir), other (Gegenseite) oder none (niemand).
- category
- Optional · string · absage | geparkt | signalabhaengig | ueberfaellig | termin_fix | heute_morgen | diese_woche | spaeter — Berechnete Follow-up-Kategorie: ueberfaellig (wir sind dran und die Frist ist verstrichen), heute_morgen, diese_woche, spaeter, termin_fix, signalabhaengig, geparkt oder absage.
- limit
- Optional · number — Maximale Anzahl Ergebnisse (Standard 50, höchstens 200).
get_crm_lead
Liefert einen CRM-Lead mit seinem Aktivitätsverlauf (neueste zuerst) und den berechneten Feldern category, dueAt und lastContactAt. Synchronisierte oder gesendete E-Mails erscheinen als Aktivitäten vom Typ email_inbound bzw. email_outbound – nur mit Betreff, Mail-Inhalte werden nie gespeichert. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „CRM“ aktiv.
- id
- Pflicht · string — ID des Leads.
create_crm_lead
Legt einen CRM-Lead an. Nur der Firmenname ist Pflicht. Ohne Angaben startet der Lead in Phase lead, Herkunft manual, Priorität B, ballWith us und Sprache de. Kontaktnamen kannst du als Freitext (contactName) oder getrennt als Vor- und Nachname senden. Mit consentBasis dokumentierst du die Rechtsgrundlage der Kontaktaufnahme samt Zeitpunkt. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „write“ oder höher, Modul „CRM“ aktiv.
- companyName
- Pflicht · string — Firmenname.
- contactName
- Optional · string — Voller Name als Freitext; wird ignoriert, sobald Vor- oder Nachname mitgesendet werden.
- contactSalutation
- Optional · string · herr | frau | divers — Anrede der Kontaktperson: herr, frau oder divers.
- contactFirstName
- Optional · string — Vorname der Kontaktperson. Hat Vorrang vor contactName.
- contactLastName
- Optional · string — Nachname der Kontaktperson. Hat Vorrang vor contactName.
- contactEmail
- Optional · string — E-Mail-Adresse der Kontaktperson.
- language
- Optional · string · de | en — Sprache der Einladungs- und Kunden-E-Mails an diesen Lead: de oder en (Standard: de).
- phone
- Optional · string — Telefonnummer.
- website
- Optional · string — Website-URL.
- stage
- Optional · string · possible | lead | contacted | demo | proposal | invited | active | lost — Anfangsphase. Standard: lead.
- source
- Optional · string · manual | referral | inbound | outbound | event — Herkunft des Leads. Standard: manual.
- estimatedRevenueMin
- Optional · number — Geschätzter Mindestumsatz des Leads.
- estimatedRevenueMax
- Optional · number — Geschätzter Höchstumsatz des Leads.
- notes
- Optional · string — Notizen als Freitext.
- tags
- Optional · string[] — Schlagwörter als Liste.
- ballWith
- Optional · string · us | other | none — Lead-Engine: wer den nächsten Schritt hat – us (wir), other (Gegenseite) oder none. Standard: us.
- waitingFor
- Optional · string · first_contact | docs_reply | demo_followup | offer_reply | order_form | promised_reply | fixed_meeting | own_step | signal — Lead-Engine: worauf der Ballhalter wartet (steuert die Fälligkeits- und Kategorielogik): first_contact (Erstkontakt), docs_reply (Antwort auf Unterlagen), demo_followup (Demo-Nachfassen), offer_reply (Antwort auf Angebot), order_form (Bestellformular), promised_reply (zugesagte Antwort), fixed_meeting (fixer Termin), own_step (eigener Schritt), signal (Signal).
- priority
- Optional · string · A | B | C — Lead-Engine-Priorität A, B oder C. Standard: B.
- nextStep
- Optional · string — Lead-Engine „Nächster Schritt“ – strukturierte Zeile, getrennt von Notizen und Verlauf.
- segment
- Optional · string — Lead-Engine-Segment (wird über die Segmentgruppen der Organisation gruppiert).
- consentBasis
- Optional · string · inquiry | existing_customer | consent | none — Rechtsgrundlage für die Kontaktaufnahme (TKG § 174): inquiry (Anfrage), existing_customer (Bestandskunde), consent (Einwilligung) oder none (keine dokumentiert). Kalte Outbound-Leads mit none erhalten keine E-Mail-Entwürfe.
- consentNote
- Optional · string — Nachweis zur Rechtsgrundlage, z. B. Datum und Kanal der Anfrage.
update_crm_lead
Ändert einen CRM-Lead; nur die übergebenen Felder werden angepasst (inklusive Lead-Engine-Feldern, Parken und Rechtsgrundlage). Wechselt die Phase auf active, wird zusätzlich die Aktivierungs-Automatisierung der Organisation ausgeführt (Lead→Kontakt-Übernahme/Onboarding). Vor- und Nachname und der abgeleitete Gesamtname bleiben synchron. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „write“ oder höher, Modul „CRM“ aktiv.
- id
- Pflicht · string — ID des Leads.
- companyName
- Optional · string — Firmenname.
- contactName
- Optional · string — Voller Name als Freitext; wird ignoriert, sobald Vor- oder Nachname mitgesendet werden.
- contactSalutation
- Optional · string · herr | frau | divers — Anrede der Kontaktperson: herr, frau oder divers.
- contactFirstName
- Optional · string — Vorname der Kontaktperson. Hat Vorrang vor contactName.
- contactLastName
- Optional · string — Nachname der Kontaktperson. Hat Vorrang vor contactName.
- contactEmail
- Optional · string — E-Mail-Adresse der Kontaktperson.
- language
- Optional · string · de | en — Sprache der Einladungs- und Kunden-E-Mails an diesen Lead: de oder en (Standard: de).
- stage
- Optional · string · possible | lead | contacted | demo | proposal | invited | active | lost — Neue Phase. Der Wechsel auf active löst die Aktivierungs-Automatisierung aus.
- estimatedRevenueMin
- Optional · number — Geschätzter Mindestumsatz des Leads.
- estimatedRevenueMax
- Optional · number — Geschätzter Höchstumsatz des Leads.
- notes
- Optional · string — Notizen als Freitext.
- followUpAt
- Optional · string — Zeitpunkt der Wiedervorlage (ISO 8601). Ein leerer Wert löscht ihn.
- followUpNote
- Optional · string — Notiz zur Wiedervorlage.
- tags
- Optional · string[] — Schlagwörter als Liste.
- ballWith
- Optional · string · us | other | none — Lead-Engine: wer den nächsten Schritt hat – us (wir), other (Gegenseite) oder none (niemand).
- waitingFor
- Optional · string · first_contact | docs_reply | demo_followup | offer_reply | order_form | promised_reply | fixed_meeting | own_step | signal — Lead-Engine: worauf der Ballhalter wartet (steuert die Fälligkeits- und Kategorielogik): first_contact (Erstkontakt), docs_reply (Antwort auf Unterlagen), demo_followup (Demo-Nachfassen), offer_reply (Antwort auf Angebot), order_form (Bestellformular), promised_reply (zugesagte Antwort), fixed_meeting (fixer Termin), own_step (eigener Schritt), signal (Signal).
- priority
- Optional · string · A | B | C — Neue Lead-Engine-Priorität A, B oder C.
- nextStep
- Optional · string — Lead-Engine „Nächster Schritt“ – strukturierte Zeile, getrennt von Notizen und Verlauf.
- noResponseAttempts
- Optional · number — Anzahl der Kontaktversuche ohne Reaktion.
- segment
- Optional · string — Lead-Engine-Segment (wird über die Segmentgruppen der Organisation gruppiert).
- parkedSignal
- Optional · string — Lead-Engine: parkt den Lead, bis dieses Signal eintritt (ein benanntes Ereignis aus der Signalliste der Organisation, nie ein Datum). Ein leerer String hebt das Parken auf.
- parkedSnapshot
- Optional · string — „Stand vor Parken“: Zustand des Leads beim Parken, damit er später wieder aufgenommen werden kann.
- consentBasis
- Optional · string · inquiry | existing_customer | consent | none — Rechtsgrundlage für die Kontaktaufnahme (TKG § 174): inquiry (Anfrage), existing_customer (Bestandskunde), consent (Einwilligung) oder none (keine dokumentiert). Kalte Outbound-Leads mit none erhalten keine E-Mail-Entwürfe.
- consentNote
- Optional · string — Nachweis zur Rechtsgrundlage, z. B. Datum und Kanal der Anfrage.
delete_crm_lead
Löscht einen CRM-Lead. Erfordert mindestens die Rolle Admin und einen Schlüssel mit delete-Scope. Voraussetzungen: Rolle Admin oder höher, Schlüssel-Scope „delete“ oder höher, Modul „CRM“ aktiv.
- id
- Pflicht · string — ID des Leads.
create_crm_activity
Protokolliert eine Aktivität an einem Lead. Die Typen email_inbound und email_outbound stehen für eine vom Lead empfangene bzw. an ihn gesendete Mail: Wie eine synchronisierte Mail aktualisieren sie auch die Lead-Engine-Felder (Ball, Warten auf, Kontaktversuche, automatisches Parken nach drei unbeantworteten Versuchen). Alle anderen Typen sind reine Verlaufseinträge. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „write“ oder höher, Modul „CRM“ aktiv.
- leadId
- Pflicht · string — ID des CRM-Leads.
- type
- Pflicht · string · note | call | email | email_inbound | email_outbound | meeting | stage_change — Art der Aktivität.
- content
- Pflicht · string — Inhalt bzw. Beschreibung der Aktivität.
- occurredAt
- Optional · string — Zeitpunkt des Ereignisses (ISO 8601, Standard: jetzt). Für bereits erfolgte Mails oder Anrufe; darf nicht in der Zukunft liegen (5 Minuten Toleranz).
get_crm_dashboard
Live-Dashboard der Lead-Engine: Kopfzahlen (aktive Pipeline, Gewinnrate, neue Leads), kumulativer Trichter mit Konversionsbewertung, Aufschlüsselung nach Segment und Herkunft, Follow-up-Hygiene (überfällig, heute fällig, eingeschlafen, Prio A, offene Entwürfe/Aufgaben, wegen fehlender Rechtsgrundlage blockierte Leads) und der organisationsweite Status der Postfach-Synchronisierung. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „CRM“ aktiv. Dieses Tool hat keine Parameter.
get_crm_weekly_briefing
Liefert wöchentliche Lead-Engine-Snapshots, neueste zuerst: KPI-Zahlen, die KI-geschriebenen Erkenntnisse (briefingMd) und die benannte Steuerungskennzahl (controlMetric). briefingMd ist KI-generiert (aiGenerated=true) und null, wenn die Erstellung in dieser Woche fehlschlug – die KPIs bleiben trotzdem gültig. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „CRM“ aktiv.
- weeks
- Optional · number · Standard: 1 — Wie viele Wochen zurück (1–12).
list_crm_email_drafts
Listet CRM-E-Mail-Entwürfe, neueste zuerst, optional für einen Lead. Standardmäßig nur offene Entwürfe. Jeder Eintrag enthält den Firmennamen des Leads. Als Mitglied siehst du nur Entwürfe zu Leads, die dir oder deinen Untergebenen zugewiesen sind, sowie nicht zugewiesene. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „CRM“ aktiv.
- leadId
- Optional · string — Nur Entwürfe zu diesem Lead.
- status
- Optional · string · open | sent | discarded · Standard: open — Nur Entwürfe mit diesem Status. Standard: open.
- limit
- Optional · number — Maximale Anzahl Ergebnisse (Standard 50, höchstens 200).
create_crm_email_draft
Speichert einen E-Mail-Entwurf zu einem Lead, den ein Mensch im CRM prüft und versendet – das Tool kann nicht senden. Der Text entsteht aus dem Produkt-Briefing-Artikel der Organisation in der Knowledgebase; Preise nur aus den konfigurierten Paketen, sonst der Platzhalter [PREIS], keine erfundenen Fakten. Die Sendebedingung („Senden ab sofort“, „Senden ab 28.09.“, „Senden, sobald …“) steht am Ende der Begründung. Der Entwurf wird als KI-generiert markiert. Blockiert wird ohne Produkt-Briefing, bei kalten Outbound-Leads ohne dokumentierte Rechtsgrundlage und bei Empfängern auf der Sperrliste. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „write“ oder höher, Modul „CRM“ aktiv.
- leadId
- Pflicht · string — ID des CRM-Leads.
- subject
- Pflicht · string — Betreff (max. 300 Zeichen).
- body
- Pflicht · string — Versandfertiger Klartext (max. 20.000 Zeichen) im Register des Kontakts (Sie/Du laut Lead).
- to
- Optional · string — Empfänger. Standard: die E-Mail-Adresse des Leads.
- cc
- Optional · string — CC-Empfänger – nur mit Begründung (Vermittler, Beteiligte mit unklarer Rolle).
- reasoning
- Optional · string — Begründung des Entwurfs: (1) Belege mit Zeitstempeln, (2) warum jetzt bzw. was sich seit einem früheren Entwurf geändert hat, (3) Warnhinweise, (4) Sendebedingung.
- sendCondition
- Optional · string · immediately | after_date | condition · Standard: immediately — Versandbedingung: immediately (sofort), after_date (ab einem Datum) oder condition (sobald eine Bedingung erfüllt ist). Standard: immediately.
- sendAfter
- Optional · string — Frühester Versandzeitpunkt (ISO 8601). Pflicht bei sendCondition after_date.
update_crm_email_draft
Bearbeitet einen offenen E-Mail-Entwurf (Betreff, Text, Empfänger, CC) oder verwirft ihn mit Begründung – etwa wenn neue Ereignisse ihn überholt haben; lege dann einen neuen an. Das Tool kann weder senden noch einen Entwurf als gesendet markieren: Das bleibt eine menschliche Aktion im CRM. Bereits gesendete oder verworfene Entwürfe sind nicht mehr änderbar. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „write“ oder höher, Modul „CRM“ aktiv.
- draftId
- Pflicht · string — ID des Entwurfs.
- subject
- Optional · string — Betreff (max. 300 Zeichen).
- body
- Optional · string — Neuer Text (max. 20.000 Zeichen).
- to
- Optional · string — Neuer Empfänger. Adressen auf der Sperrliste werden abgelehnt.
- cc
- Optional · string — CC-Empfänger – nur mit Begründung (Vermittler, Beteiligte mit unklarer Rolle).
- status
- Optional · string · discarded — Nur discarded ist erlaubt.
- discardReason
- Optional · string — Begründung fürs Verwerfen des Entwurfs, z. B. weil neue Ereignisse ihn überholt haben.
list_network_contacts
Listet Netzwerk-Kontakte der Organisation (Freelancer, Agenturen, Partner, Investoren …), neueste zuerst; filterbar nach Typ. Dieses Tool hat keinen Modul-Schalter. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, kein Modul-Schalter (immer verfügbar).
- type
- Optional · string — Nur Kontakte dieses Typs, z. B. freelancer, agency, partner.
- limit
- Optional · number — Maximale Anzahl Ergebnisse (Standard 50, höchstens 200).
get_network_contact
Liefert einen Netzwerk-Kontakt anhand seiner ID. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, kein Modul-Schalter (immer verfügbar).
- id
- Pflicht · string — ID des Kontakts.
search_network_contacts
Sucht Netzwerk-Kontakte per Teiltext in Name, Firma und Spezialisierung (ohne Beachtung der Groß-/Kleinschreibung). Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, kein Modul-Schalter (immer verfügbar).
- query
- Pflicht · string — Suchtext für Name, Firma oder Spezialisierung.
- limit
- Optional · number — Maximale Anzahl Ergebnisse (Standard 20, höchstens 50).
create_network_contact
Legt einen Netzwerk-Kontakt an. Nur der Name ist Pflicht; der Typ ist standardmäßig freelancer. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „write“ oder höher, kein Modul-Schalter (immer verfügbar).
- fullName
- Pflicht · string — Vollständiger Name des Kontakts.
- companyName
- Optional · string — Firma des Kontakts.
- specialization
- Optional · string — Spezialisierung bzw. Fachgebiet des Kontakts.
- phone
- Optional · string — Telefonnummer.
- Optional · string — E-Mail-Adresse.
- website
- Optional · string — Website-URL.
- location
- Optional · string — Ort bzw. Standort.
- linkedinUrl
- Optional · string — LinkedIn-Profil-URL.
- type
- Optional · string — Typ, z. B. freelancer, agency, partner, investor. Standard: freelancer.
- hourlyRate
- Optional · number — Stundensatz des Kontakts.
- notes
- Optional · string — Notizen als Freitext.
- tags
- Optional · string[] — Schlagwörter als Liste.
update_network_contact
Ändert einen Netzwerk-Kontakt; nur die übergebenen Felder werden angepasst. Website, Ort, LinkedIn-URL und Typ lassen sich über dieses Tool nicht ändern. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „write“ oder höher, kein Modul-Schalter (immer verfügbar).
- id
- Pflicht · string — ID des Kontakts.
- fullName
- Optional · string — Vollständiger Name des Kontakts.
- companyName
- Optional · string — Neue Firma.
- specialization
- Optional · string — Spezialisierung bzw. Fachgebiet des Kontakts.
- phone
- Optional · string — Telefonnummer.
- Optional · string — E-Mail-Adresse.
- notes
- Optional · string — Notizen als Freitext.
- tags
- Optional · string[] — Schlagwörter als Liste.
- hourlyRate
- Optional · number — Neuer Stundensatz.
delete_network_contact
Löscht einen Netzwerk-Kontakt. Erfordert mindestens die Rolle Admin und einen Schlüssel mit delete-Scope. Voraussetzungen: Rolle Admin oder höher, Schlüssel-Scope „delete“ oder höher, kein Modul-Schalter (immer verfügbar).
- id
- Pflicht · string — ID des Kontakts.
Häufige Stolperfallen
Kein Versand per MCP
E-Mail-Entwürfe werden von einem Menschen im CRM geprüft und gesendet. Es gibt kein Tool zum Senden oder zum Markieren als gesendet.
Rechtsgrundlage vor dem ersten Entwurf
Kalte Outbound-Leads brauchen eine dokumentierte consentBasis (TKG § 174), sonst wird kein Entwurf erstellt. Empfänger auf der Sperrliste werden abgelehnt.
Produkt-Briefing erforderlich
Ohne freigegebenes Produkt-Briefing in der Knowledgebase verweigert create_crm_email_draft den Entwurf.
Kategorie-Filter mit Obergrenze
list_crm_leads mit category durchsucht nur die 1.000 neuesten passenden Leads.
Phase active löst Automatik aus
update_crm_lead mit stage active startet die Aktivierungs-Automatisierung der Organisation.
