Diese Übersicht zeigt, wie das Signalakquise-System gebaut ist: welche fünf Dienste wir selbst betreiben, welche 39 Anbieter angebunden sind, wie ein Unternehmen von der Marktkarte über die Einstufung und den zerfallenden Signalwert in die Anrufwarteschlange kommt — und an welcher Stelle ein Agent entscheidet statt einer Regel. Kein Verkaufsdokument. Der technische Ablauf, so wie er gebaut wird.
sae-orchestratorPython und FastAPI. Das Gehirn: Webhook-Annahme, Cron-Abfragen, Marktkarte, Einstufung, Anreicherung, Bewertung, Ausspielung, CRM.
Selbst gehostet. Die Klebeschicht: Annahme der Ereignisse und die letzte Meile in die Kanäle.
sae-dbPostgres, verwaltete Erweiterung, EU-Region. Zehn Tabellen: Sätze, Werte, Sperrlisten, Puffer.
sae-cacheRatenbegrenzung, laufender Dublettenschutz, Puffer für Wasserfall- und Anbieterantworten.
playbook-micrositeFastAPI, bereits live. Erzeugt die personalisierte Micro-Site samt Lead-Magnet unter /p/{slug}.
Fireflies · Interviews
handelsregister.ai
AI Ark
Apollo
Ocean.io
Cognism
North Data
Pappers
Serper
Outscraper
Amtliche Register
Leadinfo
Trigify
PredictLeads
TheirStack
Crustdata
Bombora
G2
Freckle
handelsregister.ai
Rodz · in Prüfung
Prospeo
Datagma
Findymail
Dropcontact
Enrow
MillionVerifier
Bouncer
Kaspr
Surfe
Twilio Lookup
Firecrawl
Serper
logo.dev
Bird · SMS, regional gesperrt
Aircall
JustCall
Orum
Anbieter offen · Auswahl steht aus
Salesforce
icp schreiben, vom Kunden freigeben lassen.
accounts schreiben. Bewusst mehrere Quellen, damit die Abdeckung nicht an einer Liste hängt.






icp laden → jedes Unternehmen auf vier Passungsdimensionen bewerten → über feste Schwellen in Stufe 1 bis 4 einsortieren → accounts.fit_tier schreiben und ins CRM schieben → Marktgröße nach Stufen getrennt berichten.

signals mit Gewicht und Zeitstempel schreiben → W4 und W6 einreihen.



contacts schreiben. Jeder Aufruf wird gegen provider_cache geprüft, bevor er kostet.





POST /generate → Zustand abfragen → unter /p/{slug} ablegen → assets schreiben.


signal_score = Σ(Gewicht × Aktualität) rechnen → gegen die Passungsstufe aus W2 und die Bekanntheit multiplizieren → Rang und Ansprachemodus über feste Bänder setzen → scores und queue schreiben.



optouts aktualisieren und die Sperrung überall durchreichen.
wahrgenommen | verschoben | ausgefallen zurückschreiben.

show_rate eine geführte Kennzahl.Der Fehler, den fast jede Akquise macht, steht am Anfang: Das Wunschkundenprofil wird behauptet, nicht abgeleitet. Hier ist es ein Ergebnis der Daten. Wir nehmen die letzten rund 50 gelieferten Abschlüsse, filtern auf die rund 20, die gewonnen und gut zu liefern waren, und arbeiten rückwärts heraus, was diese teilen. Erst danach wird kartiert, eingestuft und bewertet.
Die rund 20 Abschlüsse, die profitabel, geblieben und referenzierbar waren. Keine Wunschliste.
Firmendaten, Technikeinsatz, der Auslöser vor dem Kauf, die Rollen im Einkaufsgremium, das eine Schlüsselmerkmal.
Das Profil auf das vollständige, namentliche, dublettenbereinigte Unternehmensfeld ausgeweitet.
Jedes Unternehmen gegen das Profil bewertet. Sagt, wen anzurufen sich überhaupt lohnt.
Signalstärke mal Aktualität, dazu wie bekannt wir sind. Sagt, wann und wie angesprochen wird.
Fünf Schritte, davon zwei mit einem Halt. Schritt 03 wird beim Bauen gern übersprungen und ist der wichtigste: Wer die zwanzig gewonnenen Kunden nicht genauso anreichert, wie er später jedes Unternehmen im Markt anreichert, vergleicht ungleiche Sätze — und bekommt ein Profil, das sich am echten Feld nicht wiederfinden lässt.
CRM-Export der letzten rund 50 gelieferten Abschlüsse. Ein Abschluss, der noch in der Umsetzung steckt, sagt nichts über Passung.

Gewonnen und ausgeliefert und mindestens zwölf Monate geblieben und über der Deckungsbeitragsschwelle. Vier Bedingungen, alle hart.
→ rund 20 SätzeJeder der zwanzig wird nachträglich so angereichert, wie später jedes Unternehmen im Markt: Firmendaten, Technikeinsatz, Rollen. Sonst vergleicht man ungleiche Sätze.



Der Agent bekommt die zwanzig angereicherten Sätze plus die Interviewtranskripte und benennt das Gemeinsame — mit Beleg je Aussage.

Der Kunde geht die Matrix Zeile für Zeile durch und gibt sie frei. Erst danach wird kartiert.
→icp freigegebenDrei Spuren laufen parallel und speisen dieselbe Auswertung. Die Zahlen sind hart, die Sprache kommt aus den Gesprächen, das Material verhindert, dass wir etwas neu erfinden, das schon existiert. Keine der drei allein reicht: Das CRM sagt, wer gekauft hat, aber nie warum. Die Interviews sagen es — und liegen bei der Menge regelmäßig daneben.
Die letzten rund 50 gelieferten Abschlüsse, nicht die letzten 50 Abschlüsse. Ein Abschluss, der noch nicht ausgeliefert ist, sagt nichts über Passung.

Zwei bis vier Gespräche, je 60 bis 90 Minuten: Geschäftsführung oder Vertriebsleitung, die zwei besten Telefonierer, und jemand aus der Lieferung. Aufgezeichnet und transkribiert, damit die Formulierungen erhalten bleiben.

Was der Kunde bereits hat, wird eingesammelt statt nachgebaut: Unternehmenspräsentation, Foliensätze, Fallstudien, vorhandene Leitfäden, Preisliste, Positionierung, die letzten zehn gewonnenen Angebote.
Der Rest ist Gesprächsführung. Diese sieben stellen wir in jedem Onboarding, weil jede davon eine Eingabe für die Matrix, den Leitfaden oder das Schlüsselmerkmal ist.
Der Agent bekommt zwanzig angereicherte Abschlüsse und die Transkripte und liefert ein festes Objekt zurück. Er rechnet nichts und empfiehlt nichts. Bemerkenswert an diesem Prompt sind zwei Regeln, die man beim ersten Bauen weglässt und danach schmerzhaft nachrüstet: die Abdeckungsschwelle und die Gegenprobe.
AUFTRAG
Du bekommst die Datensätze von rund 20 gewonnenen und gut gelieferten Kunden,
jeweils angereichert, dazu die Transkripte aus den Onboarding-Interviews. Du
benennst, was diese Kunden gemeinsam haben — und ausdrücklich auch, was sie
NICHT gemeinsam haben, obwohl man es vermuten würde.
Du erfindest keine Kategorie, die weniger als 12 der 20 Sätze abdeckt.
EINGABE
deals[] je Satz: Branche, Mitarbeiter, Umsatz, Region, Vertriebsmodell,
Technikeinsatz, Jahreswert, Vertriebszyklus, Lieferaufwand,
erster Kontaktpunkt, Verlängerung ja/nein
transkripte[] die Interviews, wörtlich
verloren[] optional Sätze, die im selben Zeitraum verloren gingen
REGELN
1. Abdeckung vor Eleganz. Eine Kategorie gilt nur, wenn sie mindestens
12 von 20 Sätzen trifft. Darunter ist sie eine Beobachtung, keine Regel,
und gehört nach beobachtungen, nicht ins Profil.
2. Jede Aussage mit Beleg. Nenne die deal_ids, auf denen sie beruht.
Ohne Beleg keine Aussage.
3. Die Gegenprobe gehört dazu. Wenn verloren[] geliefert wurde: Nenne
jede Dimension, die gewonnene und verlorene Sätze NICHT trennt. Wer nur die
Gewinner ansieht, hält den Durchschnitt für ein Muster.
4. Das Schlüsselmerkmal ist ein Merkmal, kein Wunsch. Es muss an einem
fremden Unternehmen von außen prüfbar sein — über die Website, die
Stellenanzeigen, den Technikeinsatz oder ein Register. Ist es das nicht,
liefere schluesselmerkmal_pruefbar: false mit Begründung.
5. Lieferaufwand zählt wie Umsatz. Wenn die teuren Sätze ein Merkmal
teilen, gehört dieses Merkmal als Ausschluss ins Profil, nicht als Passung.
6. Keine Ratschläge. Du beschreibst, was war. Du sagst nicht, wen man
ansprechen soll — das ergibt sich aus der Matrix und der Bewertung.
AUSGABE — ausschließlich dieses Objekt
{
"firmendaten": {
"branche": { "werte": ["Intralogistik","Fördertechnik","Sondermaschinenbau"], "abdeckung": "17/20", "belege": ["d-114","d-119","…"] },
"mitarbeiter": { "von": 80, "bis": 350, "abdeckung": "16/20", "belege": ["…"] },
"umsatz_mio": { "von": 15, "bis": 90, "abdeckung": "15/20", "belege": ["…"] },
"region": { "werte": ["DE","AT","CH"], "abdeckung": "20/20", "belege": ["…"] }
},
"technik_signal": {
"vorhanden": ["CRM"],
"fehlend": ["CPQ","Angebotskonfigurator"], # das Fehlen ist hier das Signal
"abdeckung": "14/20"
},
"rollen": [
{ "rolle": "fuersprecher", "titel": ["Leiter Vertrieb","Leitung Vertriebsinnendienst"], "abdeckung": "18/20" },
{ "rolle": "entscheider", "titel": ["Geschäftsführung","Kaufmännische Leitung"], "abdeckung": "20/20" },
{ "rolle": "blockierer", "titel": ["IT-Leitung"], "abdeckung": "9/20" }
],
"schluesselmerkmal": {
"text": "konfigurierbares Produkt mit einer Angebotsdauer über fünf Arbeitstage",
"pruefbar": true,
"pruefweg": "Website: Produktkonfigurator oder Anfrageformular mit Rückmeldefrist; ersatzweise Freckle-Agentenspalte",
"abdeckung": "13/20"
},
"ausschluss": [
{ "merkmal": "mehr als drei Werke mit eigener IT", "grund": "die vier teuersten Lieferungen teilten das", "belege": ["d-107","d-131","d-140","d-144"] }
],
"kaufausloeser": [
{ "text": "neue Vertriebsleitung eingestellt", "haeufigkeit": "9/20" },
{ "text": "Angebotsdurchlaufzeit intern eskaliert", "haeufigkeit": "6/20" }
],
"gewicht": { "firmendaten": 0.30, "technikeinsatz": 0.25, "rolle": 0.20, "schluesselmerkmal": 0.25 },
"beobachtungen": ["11/20 hatten einen Außendienst mit unter 8 Personen — zu dünn für eine Regel"],
"trennt_nicht": ["Umsatzwachstum","Gründungsjahr","Anzahl Standorte"]
}
trennt_nicht ist im Betrieb oft nützlicher als das Profil selbst: Es verhindert,
dass jemand eine Dimension in die Matrix schreibt, die nichts unterscheidet.Ein Blatt, zwei Achsen. Die erste Achse ist das Unternehmen: sieben Dimensionen, je Dimension eine Regel für Stufe 1 bis 4. Die zweite Achse ist das Einkaufsgremium: die Rollen, die wir in einem passenden Unternehmen ansprechen. Der Kunde gibt die Matrix frei, bevor irgendetwas kartiert wird — sie ist die Definition, die alles Nachgelagerte erbt. Das Beispiel unten ist ein Anbieter von Angebots- und Konfigurationssoftware für den Maschinen- und Anlagenbau.
| Dimension | Stufe 1 · Volltreffer | Stufe 2 · stark | Stufe 3 · angrenzend | Stufe 4 · Rand | Woher die Daten kommen |
|---|---|---|---|---|---|
| Branche | Intralogistik, Fördertechnik, Sondermaschinenbau | angrenzender Maschinenbau | allgemeiner Anlagenbau | sonstige Fertigung | North Data Pappers |
| Größe | 80 bis 350 Mitarbeiter | 50 bis 80 · 350 bis 600 | 30 bis 50 · 600 bis 1.000 | unter 30 · über 1.000 | North Data Apollo |
| Umsatz | 15 bis 90 Mio € | 8 bis 15 · 90 bis 150 | 4 bis 8 | unter 4 | North Data Pappers |
| Region | DACH | EU, deutschsprachig geführt | übrige EU | außerhalb der EU | Ocean.io Serper |
| Vertriebsmodell | Direktvertrieb mit Außendienst | direkt plus Handelsvertreter | überwiegend über den Handel | reiner Onlinevertrieb | Firecrawl AI Ark |
| Technikeinsatz | CRM vorhanden, kein Konfigurator | CRM vorhanden, Konfigurator veraltet | ERP ohne CRM | Konfigurator des Wettbewerbers frisch eingeführt | TheirStack |
| Schlüsselmerkmal | konfigurierbares Produkt, Angebotsdauer über 5 Tage | konfigurierbar, Dauer unbekannt | Katalogprodukt mit Varianten | Standardprodukt ab Lager | Freckle Firecrawl |
Ein passendes Unternehmen ist noch kein Gespräch. Die Matrix benennt deshalb drei Rollen und ihre Reihenfolge. Der Fürsprecher ist der Erstkontakt, nicht der Entscheider: Er hat das Problem, er kennt die Zahl, und er trägt die Sache intern weiter. Ein Anruf am Fürsprecher vorbei kostet in der Regel beide.
Gibt das Budget frei und unterschreibt. Wird über den Fürsprecher erreicht, nicht an ihm vorbei. Interessiert sich für die Zahl, nicht für die Funktion.



Hat das Problem täglich auf dem Tisch. Erkennt den Nutzen in zwei Minuten oder gar nicht. Er wird angerufen, er bekommt die Unterlage, er trägt sie weiter.



Sagt selten Ja, aber jederzeit Nein. Wird nicht kalt angesprochen — wir bereiten den Fürsprecher darauf vor, dass diese Fragen kommen, und liefern ihm die Antworten mit.

Der Markt ist hier kein Schätzwert und keine Branchenstatistik, sondern eine Datenbank mit Namen: jedes Unternehmen, das nach der Matrix passt, einzeln aufgeführt, entdublettet und angereichert. Das ist die Grundmenge, auf die anschließend alles andere schaut — die Einstufung ordnet sie, die Signal-Engine beobachtet sie, die Aktionsebene arbeitet sie ab.
Der Schritt, an dem die meisten Marktkarten scheitern, ist 04. Wer hier schon die weichen Kriterien anwendet — Technikeinsatz, Schlüsselmerkmal —, wirft Unternehmen weg, bevor sie bewertet wurden, und merkt es nie, weil sie im Feld gar nicht erst auftauchen. Hart filtern, weich einstufen.
Fünf bis acht Quellen parallel, nie eine. Amtliche Register liefern die Grundmenge, die Registernummer und — im deutschen Markt über handelsregister.ai — die Finanzkennzahlen; Anbieterdatenbanken die Breite, die Websuche das, was in keiner Datenbank steht.









Domain als Schlüssel normalisieren (Weiterleitungen auflösen, www und Länderendungen zusammenführen), Firmierung säubern, Größenbänder auf eine Skala bringen.
Innerhalb der Quellen über die Domain, quellenübergreifend zusätzlich über Registernummer und Anschrift. Danach gegen das CRM des Kunden: Bestandskunden, laufende Vorgänge und Sperrlisten fliegen raus.

Die harten Kriterien aus der Matrix: Branche, Größenband, Region. Weiche Kriterien werden hier nicht angewendet — die gehören in die Einstufung, sonst verliert man Unternehmen, bevor sie bewertet wurden.
→ das passende FeldDie echte Zahl, getrennt nach Quelle und später nach Stufe. Dazu die Abdeckungsprobe: Wie viele Unternehmen fand nur eine einzige Quelle?

accountsEs gibt keine Quelle, die den deutschen Mittelstand vollständig abdeckt. Deshalb laufen mehrere parallel, und deshalb steht in der Marktkarte je Unternehmen, welche Quelle es gefunden hat. Unternehmen, die nur eine einzige Quelle kennt, sind der interessanteste Teil des Feldes: Sie fehlen im Markt der Wettbewerber.
| Quelle | Wofür sie die beste ist | Wo sie ausfällt | Abdeckung DACH | |
|---|---|---|---|---|
![]() | handelsregister.ai | Der deutsche Einstieg. Das Handelsregister samt Bundesanzeiger als Schnittstelle: amtliche Grundmenge, filterbar nach Ort und Umkreis, Rechtsform, Branchenschlüssel, Größe und Finanzkennzahlen — Umsatz, Jahresüberschuss, EBIT, Bilanzsumme, Eigenkapitalquote. Dazu Geschäftsführung, Gesellschafter und Registerereignisse mit Datum | nur Deutschland; keine Technikdaten, keine Mobilnummern; kleine Gesellschaften legen nach § 326 HGB keine GuV offen, dort fehlen Umsatz und EBIT | vollständig (DE) |
| Amtliche Register | Grundmenge, Rechtsform, Registernummer, Sitz — die einzige Quelle, die vollständig ist. Außerhalb DE über Companies House und Pappers | keine Technikdaten, keine Rollen, träge Aktualität | vollständig | |
![]() | North Data | Bilanzkennzahlen, Verflechtungen, Geschäftsführerwechsel — die Zweitquelle neben handelsregister.ai | nur was im Bundesanzeiger steht; kleine GmbHs veröffentlichen wenig | hoch |
![]() | Apollo | Breite bei Rollen und Kontakten, günstig je Satz | im deutschen Mittelstand dünn und oft veraltet | mittel |
![]() | Cognism | Europäische Abdeckung, geprüfte Mobilnummern, DSGVO-Ursprung | teuer je Treffer — bleibt Stufe 1 und 2 vorbehalten | hoch |
![]() | Ocean.io | Ähnlichkeitssuche: „finde Unternehmen wie diese zwanzig“ | findet Ähnliches, nicht Vollständiges — nie als einzige Quelle | mittel |
![]() | AI Ark | Suche über eine Beschreibung statt über Filter — für Nischen ohne Branchenschlüssel | Ergebnisse müssen gegengeprüft werden | mittel |
![]() | Serper · Outscraper | Websuche und Kartensuche: lokale Anbieter, die in keiner Datenbank stehen | unstrukturiert, muss vereinheitlicht werden | ergänzend |
![]() | TheirStack · BuiltWith | Technikeinsatz — die Dimension, die die Matrix am stärksten trennt | erkennt nur, was im Web sichtbar ist; interne Systeme bleiben unsichtbar | gut bei Web |
Anreichern ist kein Vorgang, sondern eine Liste. Jedes Feld hat eine Quelle, eine Reihenfolge und eine Prüfung — und eine Stufe, ab der es überhaupt gefüllt wird. Die teuren Felder unten stehen für Stufe 3 und 4 gar nicht erst zur Verfügung.
| Feld | Wer es liefert | Wie geprüft wird | ab Stufe |
|---|---|---|---|
| domain | North Data Serper | Weiterleitung aufgelöst, erreichbar, kein Parkplatz | alle |
| registernummer · rechtsform | handelsregister.ai Pappers | amtlich: Gericht, Registertyp, Nummer. Format je Land, gegen Firmierung gegengeprüft | alle |
| mitarbeiter · umsatz · ebit | handelsregister.ai North Data Apollo | aus dem Jahresabschluss mit Jahr und Quelle; bei Abweichung über 30 % gilt das Register. Ohne offengelegte GuV bleibt die Schätzung, das Feld trägt die Herkunft | alle |
| geschaeftsfuehrung | handelsregister.ai | Name, Rolle, Amtszeit und Vertretungsregelung aus dem Register — die Leitungsebene des Einkaufsgremiums, belegt statt geraten | alle |
| gesellschafter · eigentuemer | handelsregister.ai | Gesellschafterliste mit Anteilen und Stichtag, dazu die wirtschaftlich Berechtigten. Vom Anbieter als Beta gekennzeichnet — nie alleinige Grundlage für eine Behauptung | 1 und 2 |
| technik | TheirStack | Fund mit Datum; ein Fund älter als 180 Tage gilt als unsicher | alle |
| rollen | Apollo AI Ark Surfe | Titel gegen icp.rollen gemappt, nicht wörtlich verglichen | 1 bis 3 |
Prospeo Datagma Findymail Dropcontact | Wasserfall, Abbruch bei Erfolg, danach Zustellbarkeitsprüfung | 1 bis 3 | |
| email_status | MillionVerifier Bouncer | zustellbar · Sammelpostfach · Risiko — nur „zustellbar“ wird angeschrieben | 1 bis 3 |
| telefon | Datagma Kaspr Cognism | Wasserfall; Cognism erst, wenn die günstigen leer bleiben | 1 und 2 |
| leitungstyp | Twilio Lookup | mobil · fest · VoIP — nur mobil geht in die Anrufwarteschlange | 1 und 2 |
| gesperrt | Cognismoptouts | gegen die eigene Sperrliste und nationale Register, vor jedem Wählen | alle |
| schluesselmerkmal | Freckle Firecrawl | Beleg-URL und wörtliches Zitat sind Pflicht, sonst „unbekannt“ | 1 und 2 |
Fünf Finder, danach eine Prüfung. Die Prüfung ist nicht optional — eine ungeprüfte Adresse kostet Zustellbarkeit, und die ist die teuerste Währung im Aufbau.
Prospeo
Datagma
Findymail
Dropcontact
Enrow
MillionVerifier
Bouncerfür jeden anbieter in wasserfall_email: wenn cache.treffer(anbieter, anfrage_hash):→ aus dem Puffer, kostet nichtswenn stufe > anbieter.max_stufe:→ überspringen (Kostengrenze, § 05)antwort = anbieter.suche(person, domain) wenn antwort.gefunden und pruefung(antwort) == "zustellbar": contacts.schreiben(antwort); abbrechen→ Abbruch bei Erfolgsonst: markiere kontakt als "ohne E-Mail", Anruf läuft trotzdem
Ein getrennter Stapel. Cognism steht am teuren Ende und bleibt deshalb Stufe 1 und 2 vorbehalten. Twilio Lookup ist keine Quelle, sondern die Validierung: Es sagt, ob eine Nummer überhaupt eine Mobilnummer ist.
Datagma
Prospeo
Kaspr
Cognism
Twilio Lookupprovider_cache,
dieselbe Anfrage kostet nie zweimal. Drittens die Stufengrenze: Teure Anbieter sind für Stufe 3
und 4 gar nicht erst freigeschaltet, bis ein Signal es rechtfertigt.Am Ende steht eine Zahl: 4.812 passende Unternehmen im Rechenbeispiel. Sie wird immer nach Stufen aufgeteilt berichtet, nie als eine Zahl, denn die Aufteilung ist die eigentliche Aussage. Zwei Dinge sagt diese Zahl ausdrücklich nicht, und beides gehört beim Bericht dazu: Sie sagt nicht, wie viele davon erreichbar sind — das entscheidet die Anreicherung, und die Trefferquote liegt bei Mobilnummern im deutschen Mittelstand deutlich unter der bei E-Mail-Adressen. Und sie sagt nicht, wie viele davon diese Woche kaufbereit sind — das ist die Aufgabe der Signal-Engine, und die Antwort darauf liegt regelmäßig bei ein bis drei Prozent des Feldes.
Jedes Unternehmen der Marktkarte wird auf vier Dimensionen bewertet, je Kunde
gewichtet aus dem icp-Profil.
Der Agent vergibt je Dimension 0 bis 3 mit Beleg, die Schwelle darüber ist fest verdrahtet
(der Prompt steht weiter unten in diesem Abschnitt). Die Stufe ist danach nicht nur eine Sortierung, sondern der
Kostenhebel des gesamten Programms: Sie steuert, welche Anbieter für dieses Unternehmen
überhaupt aufgerufen werden dürfen.
| Dimension | Quelle | Was 3 Punkte bedeutet | Gewicht (Beispiel) |
|---|---|---|---|
| Firmendaten | W1-Daten, amtliche Register, North Data | Branche, Größenband, Umsatz und Region liegen alle im Profil | 30 % |
| Technikeinsatz | TheirStack, BuiltWith | Setzt (oder vermisst) genau die Werkzeuge, die das Problem bedeuten | 25 % |
| Rolle vorhanden | Apollo, AI Ark, Surfe | Die Einkaufsrolle existiert im Unternehmen namentlich, nicht nur theoretisch | 20 % |
| Schlüsselmerkmal | die eine bestimmende Kennzahl aus W0 | Das Merkmal, das nur die besten gelieferten Kunden hatten, ist nachweisbar da | 25 % |
Der Agent liefert je Dimension 0 bis 3 oder „u“ für unbekannt. Der Code
normalisiert auf 0 bis 1, gewichtet mit den Werten aus icp.gewicht, summiert und
vergleicht gegen drei feste Schwellen. Kein Modell im Pfad, damit die Stufe reproduzierbar
bleibt — dieselben Eingaben ergeben immer dieselbe Stufe.
Kettler Fördertechnik GmbH · acc_04182
Ein „u“ und ein Zweier
schluesselmerkmal in accounts.unsicherheit. Bei der nächsten Auffrischung fragt die Freckle-Agentenspalte genau dieses Feld nach — und das Unternehmen kann ohne neue Bewertung auf Stufe 1 springen.Ein Unternehmen mit zwei oder mehr „u“ wird nie höher als Stufe 3 eingeordnet, egal wie gut die übrigen Punkte sind. Fehlende Daten sind kein Beleg für Passung.
financial_kpi bei handelsregister.ai, mit Jahr
und Quelle, dazu Umsatz, Jahresüberschuss und EBIT. Das ist der Unterschied zwischen ungefähr
50 bis 200 und einer Zahl, die im Gespräch trägt. Die Grenze gehört mitgenannt: kleine
Kapitalgesellschaften dürfen nach § 326 HGB verkürzt offenlegen — dort steht eine Bilanz, aber
keine Gewinn- und Verlustrechnung. Für sie bleibt die Schätzung, das Feld trägt dann die
Herkunft, und im Zweifel steht dort „u“ statt einer erfundenen Zahl.AUFTRAG
Du bewertest ein Unternehmen gegen ein Wunschkundenprofil. Du vergibst je Dimension
0 bis 3 Punkte und begründest jede Vergabe mit einem Beleg aus den Eingabedaten.
Du berechnest KEINE Gesamtpunktzahl und du vergibst KEINE Stufe. Das macht der
aufrufende Code. Deine Aufgabe endet bei den vier Punktwerten.
EINGABE
icp das Wunschkundenprofil (aus W0, vom Kunden freigegeben)
account die Unternehmensdaten aus der Marktkarte (W1)
technik erkannter Technikeinsatz (TheirStack, BuiltWith)
rollen im Unternehmen gefundene Positionen (Apollo, AI Ark, Surfe)
PUNKTESKALA, für jede der vier Dimensionen gleich
3 trifft vollständig zu, im Beleg ausdrücklich nachweisbar
2 trifft überwiegend zu, ein Kriterium liegt außerhalb des Profils
1 trifft am Rand zu, mehr Abweichung als Übereinstimmung
0 trifft nicht zu
u unbekannt — die Eingabedaten sagen dazu nichts
DIE VIER DIMENSIONEN
firmendaten Branche, Größenband, Umsatz, Region gegen icp.firmendaten
technikeinsatz Vorhandensein ODER Fehlen der Werkzeuge aus icp.technik_signal
rolle existiert die Einkaufsrolle aus icp.rollen namentlich im Unternehmen
schluesselmerkmal das eine Merkmal aus icp.schluesselmerkmal, wörtlich geprüft
REGELN
1. „u“ statt raten. Wenn die Eingabe zu einer Dimension nichts hergibt, ist die
Antwort „u“. Eine geratene 2 ist schlimmer als ein ehrliches „u“, weil der Code
„u“ als fehlend behandeln kann, eine falsche 2 aber nicht.
2. Jeder Punktwert braucht einen Beleg als wörtliches Zitat aus der Eingabe
samt Feldnamen. Kein Beleg, kein Punktwert.
3. Fehlen ist ein gültiges Signal. Wenn das Profil sagt, dass das Fehlen eines
Werkzeugs für Passung spricht, dann ist genau dieses Fehlen 3 Punkte wert.
4. Keine Rückschlüsse aus dem Namen des Unternehmens, aus der Rechtsform oder
aus der Endung der Domain. Nur aus den gelieferten Feldern.
5. Keine Empfehlung. Du sagst nicht, ob angerufen werden soll. Das entscheidet
die Bewertung in W6 mit Daten, die du gar nicht siehst.
AUSGABE — ausschließlich dieses Objekt, kein Fließtext davor oder danach
{
"account_id": "acc_04182",
"dimensionen": {
"firmendaten": { "punkte": 3, "beleg": "account.branche='Fördertechnik', account.mitarbeiter=180 — icp.firmendaten nennt Intralogistik 50–500" },
"technikeinsatz": { "punkte": 2, "beleg": "technik.erkannt enthält 'Salesforce', nicht aber das in icp.technik_signal geforderte CPQ" },
"rolle": { "punkte": 3, "beleg": "rollen[2].titel='Leiter Vertrieb', entspricht icp.rollen[0]" },
"schluesselmerkmal": { "punkte": "u", "beleg": "keine Angabe zur Ersatzteilquote in den Eingabefeldern" }
},
"unsicherheit": ["schluesselmerkmal"]
}
gewichtete_summe = Σ(punkte/3 × icp.gewicht[dimension]),
„u“ zählt als 0 und wird zusätzlich in accounts.unsicherheit
vermerkt. Schwellen: ab 0,85 → Stufe 1 · ab 0,65 → Stufe 2 · ab 0,40 → Stufe 3 · darunter Stufe 4.
Ein Unternehmen mit zwei oder mehr „u“ wird nie höher als Stufe 3 eingeordnet, egal wie gut die
übrigen Punkte sind — fehlende Daten sind kein Beleg für Passung.Passt auf jeder Dimension. Volles System, teure Anreicherung freigeschaltet, für Einzelbetreuung geeignet.
Ein weicher Fehltreffer. Volles System, normale Anreicherung, Cognism noch freigeschaltet.
Teilweise Passung. Wird nur bearbeitet, wenn ein starkes Signal anschlägt. Günstiges Ende der Wasserfälle.
Pflege oder Unterdrückung, außer ein eigenes Signal hoher Kaufbereitschaft schlägt an.
Die Stufe ist keine Sortierung, sondern ein Ausgabenschalter. Sie entscheidet, welche Anbieter für ein Unternehmen überhaupt aufgerufen werden dürfen, wie tief angereichert wird und welche Ansprache möglich ist. Das ist der Grund, warum die Einstufung vor der Anreicherung steht und nicht danach.
| Stufe | Anreicherung | Teure Anbieter | Unterlage | Ansprache | Kosten je Unternehmen |
|---|---|---|---|---|---|
| Stufe 1 | voll: Rollen, E-Mail, Mobil, Schlüsselmerkmal | freigeschaltet | eigens recherchiert | alle Modi, Anruf mit Vorrang | hoch |
| Stufe 2 | voll, ohne die tiefe Merkmalsprüfung | freigeschaltet | aus der Fertigungsstrecke | alle Modi | mittel |
| Stufe 3 | E-Mail und Rollen, kein Mobil | gesperrt | Standardfassung | nur bei starkem Signal | niedrig |
| Stufe 4 | nur Firmendaten | gesperrt | keine | Pflege, außer ein eigenes Signal hoher Kaufbereitschaft | nahe null |
Eine Signal-Engine ist kein Datenanbieter und keine Liste. Sie ist ein Dienst mit drei Aufgaben, der ununterbrochen auf ein festes Unternehmensfeld schaut: Sie beobachtet definierte Ereignisse an genau diesen Unternehmen, sie ordnet jedes eintreffende Ereignis einem Satz der Marktkarte zu, und sie bewertet es so, dass daraus eine Reihenfolge entsteht. Fällt eine der drei Aufgaben aus, bleibt ein Werkzeug übrig, das Benachrichtigungen verschickt — und Benachrichtigungen sind keine Pipeline.
Zehn eingeschaltete Signale an einem festen Feld. Nicht „alle Finanzierungsrunden“, sondern die der 4.812 Unternehmen, die passen.
Ereignis auf Unternehmen auflösen, über Domain, LinkedIn-Kennung oder Registernummer. Was sich nicht zuordnen lässt, wird verworfen, nicht geraten.
Gewicht mal Aktualität, gegen Stufe und Bekanntheit multipliziert. Aus einem Ereignis wird eine Zahl, aus Zahlen eine Reihenfolge.
Kein Bericht, kein Alarm: eine sortierte Liste mit Anlass, Zeitstempel und Ansprachemodus, die sich stündlich umsortiert.
queueKeine Datenbank, kein CRM, kein Versandwerkzeug. Sie kauft die Beobachtung ein und besitzt nur die Zuordnung und die Bewertung.
Je Signal ein Anbieter, je Anbieter ein Modus. Push, wo die Schnittstelle es hergibt; sonst eine geplante Abfrage im Takt, der zum Signal passt.








Ein Endpunkt je Anbieter, Signatur geprüft, Nutzlast roh gesichert. Die Annahme antwortet sofort und arbeitet asynchron weiter — ein langsamer Wasserfall darf keinen Webhook blockieren.

Auflösung über Domain, dann LinkedIn-Kennung, dann Registernummer. Kein Treffer in der Marktkarte heißt: verwerfen. Nicht heißt es, ein neues Unternehmen anzulegen.

account_idEin dedupe_key aus Unternehmen, Signaltyp und Stundenfenster. Vier Seitenaufrufe in zehn Minuten sind ein Signal, nicht vier.

Gewicht aus dem Katalog, zwei Zeitstempel getrennt geführt: wann es geschah und wann wir davon erfuhren. Der Zerfall rechnet auf dem ersten.
→signalsNeuberechnung des Werts für dieses Unternehmen, Rang und Modus gesetzt, Anreicherung angestoßen, falls die Stufe sie erlaubt.

queue| Signal | Anbieter | Modus | Takt | Zuordnung über | |
|---|---|---|---|---|---|
![]() | Website-Besuch · Kaufseite · Wiederkehrer | Leadinfo | Webhook | Echtzeit | Domain |
![]() | Beitragsreaktion · Themennennung | Trigify | Webhook | Echtzeit | LinkedIn-Kennung |
| Unterlage heruntergeladen | Formular / CRM | Webhook | Echtzeit | E-Mail-Domain | |
| E-Mail-Reaktion | Lemlist | Webhook | Echtzeit | Kontakt-ID | |
![]() | Fürsprecher gewechselt · Personalsprung | Crustdata | Webhook | Echtzeit | LinkedIn-Kennung |
![]() | Finanzierung · Neuer Entscheider · Fusion · Markteinführung · Beförderung | PredictLeads | Abfrage | stündlich bis täglich | Domain |
![]() | Stellenausschreibung · Technik eingeführt · Werbung aktiv | TheirStack | Abfrage | täglich | Domain |
| Technik abgeschafft · Wettbewerberkunde | BuiltWith | Abfrage | wöchentlich | Domain | |
![]() | Kategorie-Recherche | Bombora | Abfrage | wöchentlich | Domain |
![]() | Bewertungsportal aktiv | G2 | Abfrage | täglich | Domain |
![]() | Eigenes Merkmal verändert | Freckle | Abfrage Webhook raus | täglich bis wöchentlich | Domain |
![]() | Gesellschafterwechsel · Registeränderung · Jahresabschluss | handelsregister.ai | Abfrage | wöchentlich · Stufe 1 und 2 täglich | Registernummer |
Jedes Ereignis wird bei der Annahme auf denselben Satz normalisiert, bevor es die Datenbank sieht. Der Zeitstempel ist dabei kein Beiwerk: Er trägt später den Zerfallsfaktor (§ 07) und im Streitfall den Nachweis des zeitlich nahen Anlasses.
{
"company": { "name": "Kettler Fördertechnik GmbH",
"domain": "kettler-foerdertechnik.de",
"country": "DE", "employees": 180 },
"visit": { "url": "/preise", "pages": 4, "duration_s": 214,
"referrer": "google.com", "returning": true },
"timestamp": "2026-07-28T08:41:07Z"
}
signal_idsig_01K3QW7M4Zaccount_idacc_04182# über Domain zugeordnet, nicht über Person type kaufseite_besucht source leadinfo weight 40 # aus der Gewichtstabelle, § 06 occurred_at 2026-07-28T08:41:07Z received_at 2026-07-28T08:41:09Z payload {"url":"/preise","pages":4,"duration_s":214,"returning":true} dedupe_keyacc_04182:kaufseite_besucht:2026-07-28T08# Stundenfenster person_data false # EU-Regel: Webbesuch löst nur das Unternehmen auf
person_data ist die Stelle,
an der man das prüfen kann.Aus diesem Katalog werden je Kunde so viele Signale eingeschaltet, wie für rund 300 erreichte Personen pro Woche nötig sind, höchstens zehn, priorisiert nach Menge. Zwei bis drei mit hoher Kaufbereitschaft werden als vorrangige Auslöser markiert und überholen die Warteschlange. Das Gewicht unten ist der Ausgangswert; er wird je Kunde an tatsächlichen Antwort- und Terminquoten nachgestellt.
| Signal | Quelle | Kaufbereitschaft | Gewicht |
|---|---|---|---|
| Gruppe 1 · eigene Signale · Vorrang, treiben die Bekanntheit | |||
| Kaufseite besucht | Leadinfo | gehobene Hand | 40 |
| Unterlage heruntergeladen | Formular | gehobene Hand | 38 |
| E-Mail-Reaktion | gehobene Hand | 36 | |
| Website-Besuch | Leadinfo | gehobene Hand | 30 |
| Beitragsreaktion | Trigify | gehobene Hand | 26 |
| Wiederkehrer | Leadinfo | Passung und Bewegung | 22 |
| Themennennung | Trigify | Passung und Bewegung | 18 |
| Gruppe 2 · fremde Signale · Menge | |||
| Gesellschafterwechsel | handelsregister.ai | Passung und Bewegung | 28 |
| Fürsprecher gewechselt | Crustdata | Passung und Bewegung | 28 |
| Frische Finanzierung | PredictLeads | Passung und Bewegung | 26 |
| Neuer Entscheider eingestellt | PredictLeads | Passung und Bewegung | 24 |
| Registeränderung | handelsregister.ai | Passung und Bewegung | 22 |
| Kategorie-Recherche | Bombora | Passung und Bewegung | 22 |
| Bewertungsportal aktiv | G2 | Passung und Bewegung | 22 |
| Technik abgeschafft | Passung und Bewegung | 20 | |
| Wettbewerberkunde | Passung und Bewegung | 20 | |
| Stellenausschreibung | TheirStack | Passung und Bewegung | 18 |
| Technik eingeführt | TheirStack | Passung und Bewegung | 16 |
| Fusion oder Übernahme | PredictLeads handelsregister.ai | Passung und Bewegung | 16 |
| Markteinführung | PredictLeads | Passung und Bewegung | 14 |
| Personalsprung | Crustdata | Passung und Bewegung | 12 |
| Jahresabschluss veröffentlicht | handelsregister.ai | nur Passung | 10 |
| Werbung aktiv | Werbebibliotheken | nur Passung | 8 |
| Beförderung | PredictLeads | nur Passung | 6 |
Gruppe 3 kauft man nicht ein. Ein Merkmal wird in normalem Deutsch als Frage gestellt und über einen Wasserfall aus über vierzig Anbietern samt Websuche aufgelöst; der Vergleich zum Vorlauf macht daraus ein Signal.
SPALTENNAME iso_9001_seit_letztem_lauf
TAKT wöchentlich, montags 06:00 MESZ
EINGABE {{account.name}}, {{account.domain}}, {{account.land}}
FRAGE (in normalem Deutsch, so wie Freckle sie erwartet)
Hat dieses Unternehmen eine gültige Zertifizierung nach ISO 9001? Wenn ja: seit
wann, durch welche Zertifizierungsstelle, und wo ist das öffentlich einsehbar?
ERLAUBTE QUELLEN
· die Unternehmenswebsite, ausdrücklich die Seiten zu Qualität, Zertifikaten,
Unternehmen, Impressum und der Download-Bereich
· öffentliche Verzeichnisse der Zertifizierungsstellen (DQS, TÜV, DEKRA, DNV)
· Pressemitteilungen und Fachpresse mit Datum
NICHT erlaubt: Stellenanzeigen, Bewertungsportale, Verzeichniseinträge Dritter
ohne Primärquelle, und jede Aussage ohne auffindbare Adresse.
AUSGABE
status eines von: vorhanden · nicht_vorhanden · unbekannt
seit Datum (JJJJ-MM) oder leer
stelle Name der Zertifizierungsstelle oder leer
beleg_url die Adresse, an der es steht — Pflicht bei status=vorhanden
beleg_zitat der Satz von dieser Seite, wörtlich, höchstens 200 Zeichen
geprueft_am Zeitstempel des Laufs
REGELN
1. „unbekannt“ ist eine richtige Antwort. Nicht auffindbar heißt nicht
„nicht vorhanden“. Beides getrennt halten, sonst erzeugt der Abgleich beim
nächsten Lauf ein Signal, das es nie gab.
2. Kein Beleg, kein „vorhanden“. Ohne beleg_url gilt der Status als unbekannt,
auch wenn die Quelle plausibel klingt.
3. Kein Rückschluss aus Branche oder Größe. Dass Unternehmen dieser Art
üblicherweise zertifiziert sind, ist kein Befund über dieses Unternehmen.
4. Nur Unternehmensdaten. Keine Namen, keine E-Mail-Adressen, keine
Rufnummern von Personen in die Ausgabe. Die Verarbeitung bei Freckle liegt
nicht in der EU — dorthin gehen nur Firmendaten.
WAS DARAUS EIN SIGNAL MACHT (im Orchestrator, nicht bei Freckle)
vorher = letzter Lauf, nachher = dieser Lauf
wenn vorher.status == "nicht_vorhanden" und nachher.status == "vorhanden":
signals.schreiben(type="zertifizierung_erlangt",
weight=15, occurred_at=nachher.seit,
payload={beleg_url, beleg_zitat})
wenn vorher.status == "unbekannt": → kein Signal, nur Erstbefüllung
Passung zum Profil aus den gewonnenen Abschlüssen. Wird nur bei einer Auffrischung neu gerechnet.
träge UhrSignalgewicht mal Aktualität, summiert über alle aktiven Signale. Ein heißes Signal von vor einer Stunde schlägt ein stärkeres von letzter Woche.
schnelle UhrAngesammelte eigene Kontaktpunkte in den letzten 30 Tagen. Warme Unternehmen bekommen einen leichteren Einstieg, kalte den vollen Zusammenhang.
mitlaufendKettler Fördertechnik GmbH · acc_04182 · Stand 18.08.2026, 09:12
Grenzen an der Kapazität des Telefonteams gesetzt, nicht am Gefühl
Die Bandgrenzen sind eine Kapazitätsentscheidung: Wie viele Einzelbetreuungen schafft das Team pro Woche? Die Gewichtstabelle wird an einer aussagekräftigen Menge validiert — rund 250 Ansprechpartner — bevor man ihr traut, und danach an tatsächlichen Antwort- und Terminquoten nachgestellt.
Ein eintreffendes Ereignis erzeugt nicht automatisch eine Zeile in der Warteschlange. Zwischen Annahme und Aktion stehen fünf Bedingungen, und alle fünf müssen zutreffen. Die Reihenfolge ist so gewählt, dass die billigste Prüfung zuerst läuft.
| Bedingung | Was passiert, wenn sie nicht zutrifft | |
|---|---|---|
| 1 | Das Ereignis ließ sich einem Unternehmen der Marktkarte zuordnen | verworfen und gezählt. Eine steigende Verwerfungsquote heißt: Die Marktkarte ist veraltet. |
| 2 | Es ist kein Duplikat im Stundenfenster | Zeitstempel des bestehenden Signals wird aufgefrischt, keine neue Zeile. |
| 3 | Weder Unternehmen noch Person stehen auf der Sperrliste | Ereignis wird gespeichert, aber nie in die Warteschlange gestellt. Sperrung schlägt jedes Signal. |
| 4 | Der neu berechnete Wert liegt über der Feuerschwelle | Das Signal bleibt im Bestand und zählt weiter, löst aber allein keine Ansprache aus. |
| 5 | Es liegt ein erreichbarer Ansprechpartner vor — oder die Stufe erlaubt, ihn jetzt zu beschaffen | Anreicherung wird angestoßen; die Zeile wartet, bis geprüfte Kontaktdaten vorliegen, höchstens 24 Stunden. |
| Rang | Unternehmen | Anlass | Zeitstempel | Stufe | Wert | Modus | Zuständig |
|---|---|---|---|---|---|---|---|
| 01 | Kettler Fördertechnik GmbH | kaufseite_besucht | 09:12 · vor 31 min | 2 | 42,6 | Einzelbetreuung | Telefonie A |
| 02 | Brenner Logistik SE | unterlage_geladen | 08:54 · vor 49 min | 1 | 41,4 | Einzelbetreuung | Telefonie A |
| 03 | Wiegand Kunststofftechnik GmbH & Co. KG | fuersprecher_gewechselt | 07:20 · vor 2 h | 1 | 28,0 | Halbautomatisch | Abfolge 4 |
| 04 | Sanitärtechnik Rehberg GmbH | e_mail_reaktion | gestern 16:31 | 2 | 24,8 | Halbautomatisch | Telefonie B |
| 05 | Nordmann Verpackungssysteme AG | technik_abgeschafft | gestern 09:05 | 2 | 17,6 | Halbautomatisch | Abfolge 4 |
| 06 | Haffner Antriebstechnik GmbH | stellenausschreibung | 26.07. · vor 2 Tg | 3 | 9,4 | Automatisiert | Abfolge 1 |
| 07 | Lohmeyer Werkzeugbau GmbH | kategorie_recherche | 26.07. · vor 2 Tg | 3 | 7,7 | Automatisiert | Abfolge 1 |
Das Zeitfenster ist der eigentliche Wirkmechanismus. Nicht, dass wir anrufen — sondern dass der Ansprechpartner die Unterlage schon gesehen hat, wenn das Telefon klingelt. Die Zeiten unten gelten für die Einzelbetreuung; halbautomatisch läuft dieselbe Abfolge mit weiteren Abständen, automatisiert ohne LinkedIn und ohne Vorrang beim Anruf.
Webhook oder Abfrage liefert das Ereignis. Zuordnung, Entdublettung, Gewicht, Wert — die fünf Bedingungen aus Teil IV werden geprüft. Bis hierher vergehen Sekunden.

Beide Wasserfälle laufen, aber nur so weit, wie die Stufe es erlaubt. Kein geprüfter Kontakt, keine Zeile: Die Warteschlange wartet höchstens 24 Stunden auf eine zustellbare Adresse und eine gültige Mobilnummer.






Die Micro-Site wird gebaut: Recherche, Zusammenhang zum Signal, Entwurf, Rendern, Ablegen unter /p/{slug}. Bei Einzelbetreuung wird sie vor dem Versand gesichtet — das ist der einzige menschliche Halt in der Strecke.




Über eine der zehn aufgewärmten Adressen, Vorlage nach Modus, Link auf die Micro-Site. Der Betreff nimmt den Anlass auf, nicht das Produkt: Das Signal ist der Grund, warum diese Nachricht heute kommt und nicht letzte Woche.
Optional und nur, wenn der Kunde die Ebene will. Aus einem der beiden Profile, ohne Nachricht im ersten Schritt. Zweck ist allein die Wiedererkennung des Namens im Anruf.
Der Telefonierer sieht Anlass, Zeitstempel, Unterlagen-Link und die Leitfadenvariante zum Signaltyp. Vor dem Wählen läuft die Sperrprüfung erneut. Der Einstieg nimmt Bezug auf die Unterlage, nicht auf die E-Mail.

Erreicht, nicht erreicht, Termin, Absage, Widerspruch. Alles fließt ins CRM und in optouts. Ein Termin wird in den Kalender des Vertriebsmitarbeiters geschrieben, samt Anlass und Unterlagen-Link.

Ein Kontaktpunkt, mehr nicht. Danach fällt das Unternehmen zurück in den Bestand und wartet auf das nächste Signal — der Aktualitätsfaktor ist bis dahin auf 0,35 gefallen und trägt keine zweite Ansprache.
Ein vereinbarter Termin ist noch kein wahrgenommener. Ab der Zusage läuft eine eigene Strecke bis zum Gespräch: Bestätigung, Ressource, Fallstudie, Erinnerung. Sie ist abrechnungsrelevant, weil nur ein stattgefundener Termin abgerechnet wird.


Die Unterlage ist der Grund, warum die Ansprache trägt. Sie ist je Kunde eigens entworfen — ein Vertriebsfahrplan, eine Analyse des Ist-Zustands, ein kleiner Prüfbericht, ein Rechner — und wird dann je Unternehmen gefüllt. Im laufenden Betrieb ist das eine Fertigungsstrecke am Signal-Feed, kein Einzelstück.
Website, Produktseiten, Karriereseite und der Zusammenhang hinter dem Signal werden ausgelesen und in verwertbaren Text gewandelt.


Was zeigt das Signal über dieses Unternehmen? Eine Stellenanzeige für Vertriebsinnendienst und ein fehlender Konfigurator ergeben zusammen eine Aussage, einzeln nicht.
Der Agent füllt die kundeneigene Vorlage: Zahlen aus den ausgelesenen Daten, Beispiele aus der Branche, der Anlass benannt. Kein Verkaufstext, sondern etwas, das ohne Gespräch Wert hat.
POST /generate an den Micro-Site-Dienst, Logo über logo.dev, Zustand abfragen, bis die Seite steht.


Unter /p/{slug} live, Adresse in assets und an der Warteschlangenzeile. Aufrufe werden gezählt — ein Aufruf ist selbst wieder ein Signal.





Der Anruf endet mit einem Termin, und damit endet die bisherige Strecke — aber nicht die Leistung. Zwischen Zusage und Gespräch liegen je nach Kalenderlage drei bis zehn Tage, in denen der Anlass verblasst, ein Projekt dazwischenkommt und die Einladung im Postfach verschwindet. Weil nur ein stattgefundener Termin abgerechnet wird, ist diese Strecke nicht Kür, sondern der Teil des Systems, an dem die Marge hängt.
Unmittelbar nach der Zusage, ausgelöst vom Termin-Ereignis im Kalender. Datum, Uhrzeit, Dauer, Teilnehmer, Zugangslink — dazu der Anlass in zwei Sätzen, damit der Eintrag im Kalender später selbst erklärt, worum es geht.

Ein bis zwei Tage später. Die Unterlage aus der Ansprache oder eine passende zweite. Sie hält den Grund für das Gespräch am Leben, ohne etwas zu verlangen.

Etwa zwei Tage vor dem Termin. Auswahl nach Branche und Größe des Ansprechpartners. Beantwortet die Eignungsfrage vor dem Gespräch, sodass der Termin eine Stufe weiter oben startet.

Am Vortag und noch einmal kurz vorher. Kurz, sachlich, mit Zugangslink und einfacher Möglichkeit zu verschieben. Ein verschobener Termin ist deutlich besser als ein leerer Stuhl.

Wahrgenommen, verschoben oder ausgefallen fließt zurück ins CRM und in den Wochenbericht. Der Anteil wahrgenommener Termine wird je Woche und je Signaltyp geführt.

Aus dem Modus fällt alles Weitere. W7 routet die Zeile in genau eine der drei Behandlungen, und die unterscheiden sich nicht im Kanal, sondern in der Tiefe der Personalisierung und der Reihenfolge. Der Anruf steht in allen dreien — er ist im deutschen Markt der einzige Kanal, der die Kaltansprache trägt.
Ein Sprachmodell ist gut darin, ein Muster zu benennen, eine Seite zu lesen und einen Zusammenhang in Worte zu fassen. Es ist schlecht darin, reproduzierbar zu rechnen. Deshalb verläuft die Grenze so: der Agent bewertet und formuliert, der Code rechnet und routet. Die gesamte Bewertung — Gewicht, Aktualität, Stufe, Bekanntheit, Rang, Modus — ist gewöhnliche Arithmetik in Python. Sie ist damit nachvollziehbar, wiederholbar und im Streitfall vorzeigbar, und das ist keine Kür: Die Beweislast für den zum Anruf berechtigenden Anlass liegt bei uns.
| Schritt | Art | Was tatsächlich passiert | Warum so |
|---|---|---|---|
| W0 · Muster aus Abschlüssen | Agent | Liest 20 Abschlüsse samt Notizen und benennt das Gemeinsame, inklusive des einen Schlüsselmerkmals. | Mustererkennung über unstrukturierten Text. Genau das, wofür ein Modell taugt. Ergebnis geht in die Abnahme. |
| W1 · Vereinheitlichen, entdubletten | Code | Domain-Normalisierung, Abgleich gegen das CRM, Filterregeln auf Firmendaten. | Reine Mengenarbeit. Ein Modell wäre hier teurer, langsamer und weniger verlässlich. |
| W2 · Einstufung | Agent Code | Der Agent vergibt je Dimension 0 bis 3 mit Beleg. Die Schwelle, die daraus Stufe 1 bis 4 macht, ist fest verdrahtet. | Der Bewertungsschritt braucht Urteil, der Einordnungsschritt braucht Konstanz. Getrennt sind beide prüfbar. |
| W3 · Zuordnung zum Unternehmen | Code | Auflösung über Domain, LinkedIn-Kennung und Registernummer, in dieser Reihenfolge. | Eine falsch zugeordnete Person ist ein Datenschutzvorfall, keine Ungenauigkeit. |
| W4 · Wasserfall | Code | Feste Reihenfolge, Abbruch bei Erfolg, Stufenbegrenzung, Pufferprüfung vor jedem Aufruf. | Jeder Aufruf kostet Geld. Die Reihenfolge ist eine Kostenentscheidung, keine Einschätzung. |
| W5 · Unterlage bauen | Agent | Liest die ausgelesene Seite und den Signalzusammenhang, schreibt die personalisierte Unterlage. | Sprache und Zusammenhang. Das Ergebnis ist Inhalt, keine Zahl, und wird vor dem Versand gesichtet. |
| W6 · Bewertung und Rang | Nur Code | Summe, Zerfallsfaktor, drei Multiplikationen, ein Bandvergleich. Kein Modell im Pfad. | Muss reproduzierbar und im Nachhinein erklärbar sein. Ein Modell im Rangpfad macht die Warteschlange unprüfbar. |
| W7 · Routing / Texte | Code Agent | Das Routing nach Modus ist Code. Der Text innerhalb eines Modus wird nach Modus unterschiedlich tief personalisiert. | Wer welchen Kontaktpunkt bekommt, ist Regel. Wie er klingt, ist Sprache. |
| W8 · CRM und Sperrlisten | Code | Schreiben, Zurücklesen, Widersprüche durchreichen. | Ein Widerspruch darf nie von einer Einschätzung abhängen. |
occurred_at und
received_at werden getrennt
geführt. Ein Anbieter meldet ein Ereignis oft Stunden später; der Zerfall muss auf dem Zeitpunkt
des Ereignisses rechnen, der Nachweis auf beiden. Zweitens:
quelle_je_feld hält fest,
welcher Anbieter welchen Wert geliefert hat. Ohne das ist nach drei Monaten nicht mehr zu klären,
warum eine Nummer falsch war — und welcher Anbieter aus dem Wasserfall fliegen sollte.| Anbieter | Wofür | Anbindung | Umgebungsvariable | Klasse | |
|---|---|---|---|---|---|
| Markt · W1 | |||||
![]() | handelsregister.ai | Das deutsche Handelsregister samt Bundesanzeiger als Schnittstelle. Grundmenge filterbar nach Ort, Umkreis, Rechtsform, Branchenschlüssel, Größe und Finanzkennzahlen (Umsatz, Jahresüberschuss, EBIT, Bilanzsumme, Eigenkapitalquote). Betrieben von der Fusionbase GmbH, München | REST | HANDELSREGISTER_AI_API_KEY | $ bis $$ |
| Amtliche Register | Handelsregister, Unternehmensregister, Companies House — die Grundmenge und die Registernummer | REST | — | frei | |
![]() | Pappers | Französische Firmendaten samt Bilanz | REST | PAPPERS_API_KEY | $ |
![]() | North Data | Deutsche Firmen- und Verflechtungsdaten, Bilanzkennzahlen | REST | NORTHDATA_API_KEY | $$ |
![]() | AI Ark | Unternehmenssuche über Beschreibung statt über Filter | REST · MCP | AIARK_API_KEY | $ |
![]() | Apollo | Firmendaten und Rollen in der Breite | REST | APOLLO_API_KEY | $ bis $$ |
![]() | Ocean.io | Ähnlichkeitssuche vom Wunschkunden aus | REST | OCEANIO_API_KEY | $$ |
![]() | Cognism | Europäische Abdeckung, Mobilnummern, DSGVO-Ursprung | REST | COGNISM_API_KEY | $$$ |
![]() | Serper | Websuche und Kartensuche, günstig und schnell | REST | SERPER_API_KEY | $ |
![]() | Outscraper | Schweres Auslesen, das wir nicht selbst bauen | REST | OUTSCRAPER_API_KEY | $ |
| Signale · W3 | |||||
![]() | Leadinfo | Website-Besuche, auf Unternehmensebene aufgelöst | Webhook | LEADINFO_WEBHOOK_SECRET | $$ |
![]() | Trigify | Reaktionen und Themennennungen auf LinkedIn | Webhook | TRIGIFY_API_KEY | $$ |
![]() | PredictLeads | Finanzierung, Einstellungen, Fusionen, Markteinführungen | Cron | PREDICTLEADS_API_KEY | $ bis $$ |
![]() | TheirStack | Stellenausschreibungen, Technikeinführung, aktive Werbung | Cron | THEIRSTACK_API_KEY | $ |
![]() | Crustdata | Personalbewegungen, Fürsprecherwechsel, Personalsprung | Webhook | CRUSTDATA_API_KEY | $$ |
| BuiltWith | Technik abgeschafft, Wettbewerberkunde | Cron | BUILTWITH_API_KEY | $$ | |
| Crunchbase | Finanzierungsrunden, Zweitquelle | REST | CRUNCHBASE_API_KEY | $$ bis $$$ | |
| Harmonic | Wachstums- und Finanzierungssignale, Zweitquelle | REST | HARMONIC_API_KEY | $$ bis $$$ | |
![]() | Bombora | Kategorie-Recherche über ein Verlagsnetz | Cron | BOMBORA_API_KEY | $$$ |
![]() | G2 | Aktivität auf dem Bewertungsportal, Wettbewerbsvergleiche | Cron | G2_API_KEY | $$$ |
![]() | Freckle | Eigene und seltene Merkmale, Erkennungsebene für Gruppe 3 | Cron · Webhook | FRECKLE_API_KEY | $ bis $$ |
![]() | handelsregister.ai | Gesellschafterwechsel, Registeränderung, veröffentlichter Jahresabschluss. Dazu die Insolvenzbekanntmachung als Ausschluss und die Gegenprüfung von Fusionen. Kein Webhook, deshalb geplante Abfrage | REST | HANDELSREGISTER_AI_API_KEY | $ bis $$ |
![]() | Rodz in Prüfung | Rund 108 Signale mit eingebauter Bewertung. Entscheidung: die Methode übernehmen, das Werkzeug bei einem frühen Kunden erproben | REST · Webhook | RODZ_API_KEY | $$ |
| Anreicherung · W4 | |||||
![]() | Prospeo | E-Mail und Telefon, erste Stufe beider Wasserfälle | REST | PROSPEO_API_KEY | $ |
![]() | Datagma | E-Mail und Telefon, erste Stufe beider Wasserfälle | REST | DATAGMA_API_KEY | $ |
![]() | Findymail | E-Mail, zweite Stufe, geprüfte Ausgabe | REST | FINDYMAIL_API_KEY | $$ |
![]() | Dropcontact | E-Mail, DSGVO-Ursprung, ohne eigene Datenbank | REST | DROPCONTACT_API_KEY | $ |
![]() | Enrow | E-Mail, vierte Stufe | REST | ENROW_API_KEY | $ bis $$ |
| Hunter | E-Mail, vierte Stufe, Musterableitung je Domain | REST | HUNTER_API_KEY | $ bis $$ | |
![]() | MillionVerifier | Zustellbarkeitsprüfung, Standardweg | REST | MILLIONVERIFIER_API_KEY | $ |
![]() | Bouncer | Zustellbarkeitsprüfung für Sammelpostfächer und EU-Fälle | REST | BOUNCER_API_KEY | $ bis $$ |
![]() | Kaspr | Telefon, zweite Stufe, europäische Abdeckung | REST | KASPR_API_KEY | $ bis $$ |
![]() | Surfe | Rollen- und Kontaktauflösung am CRM | REST | SURFE_API_KEY | $$ |
![]() | Twilio Lookup | Validierung: Leitungstyp, Netzbetreiber, Land — keine Quelle | REST | TWILIO_AUTH_TOKEN | $ |
| Unterlage · W5 | |||||
| Anthropic | Die Agentenschritte: W0-Muster, W2-Bewertung, W5-Unterlage, W7-Texte | REST | ANTHROPIC_API_KEY | $$ | |
![]() | Firecrawl | Seiten auslesen und in verwertbaren Text wandeln | REST | FIRECRAWL_API_KEY | $ |
![]() | logo.dev | Firmenlogos für die Micro-Site | REST | LOGODEV_API_KEY | frei bis $ |
| Aktion · W7 und W8 | |||||
| Lemlist | E-Mail- und LinkedIn-Abfolgen, Reaktionen zurück per Webhook | REST · Webhook | LEMLIST_API_KEY | $$ | |
![]() | Bird | SMS. In Deutschland für die Kaltansprache gesperrt | REST | BIRD_API_KEY | $ |
| Telefonie offen | Wählsystem, Aufzeichnung, Gesprächsprotokoll. Auswahl steht aus: Aircall, JustCall, Orum | REST · Webhook | — | offen | |
| CRM des Kunden | Der eine Datensatz. HubSpot, Salesforce, Pipedrive oder Attio, je nach Kunde | REST · Webhook | CRM_API_KEY | $$ | |
| Onboarding und Zusammenarbeit · W0 und Betrieb | |||||
![]() | Fireflies | Die Onboarding-Interviews aufzeichnen und transkribieren, damit die Formulierungen des Kunden erhalten bleiben | REST | FIREFLIES_API_KEY | $ |
| Notion | Der Materialordner aus der Übergabe: Präsentationen, Fallstudien, Leitfäden, gewonnene Angebote | REST | NOTION_API_KEY | $ | |
| Slack | Der gemeinsame Kanal mit dem Kunden, plus die Betriebsmeldungen aus den Strecken | Webhook | SLACK_WEBHOOK_URL | frei bis $ | |
search-organizations kostet 1 Guthaben und
baut die Marktkarte; fetch-organization 5 als Grundpreis, jedes Merkmal kommt
dazu — publications 1, financial_kpi 1, related_persons 2,
profit_and_loss_account 3, shareholders 5,
insolvency_publications 5, ubos 10,
mergers_and_acquisitions 20; fetch-person 15;
fetch-document 15 für Gesellschafterliste und Gesellschaftsvertrag als PDF.
Merkmale ohne Daten kosten nichts, und jede Antwort nennt in
meta.request_credit_cost, was tatsächlich berechnet wurde. Daraus folgt die Regel
im Takt: erst publications für 1 Guthaben, und nur wenn dort eine Eintragung mit
neuem Datum steht, die teuren Merkmale nachladen.
Zwei Wochen Aufbau, in der dritten geht der erste Anruf raus. Zwei Stationen liegen außerhalb dieser Rechnung und deshalb ganz oben: Das Aufwärmen der Versanddomains braucht zwei bis drei Wochen und lässt sich durch nichts beschleunigen, und die Materialübergabe liegt beim Kunden. Alles andere hängt an unserer Reihenfolge.
Railway-Projekt in der EU-Region, Postgres und Redis als verwaltete Erweiterungen, n8n selbst gehostet, Gerüst des Orchestrators als FastAPI-Dienst, Schlüsseltresor angelegt. Anbieterzugänge werden gelegt und je Schlüssel einmal gegen die Schnittstelle geprüft, damit später kein Lauf an einer toten Berechtigung hängt.





Fünf Domains, zehn Postfächer, zwei je Domain. SPF, DKIM und DMARC gesetzt, danach beginnt das Aufwärmen. Diese Station steht an Tag 1, obwohl sie erst in Woche 3 gebraucht wird: Das Aufwärmen dauert zwei bis drei Wochen und ist der einzige Schritt im ganzen Bau, den man nicht beschleunigen kann. Wer hier zwei Wochen später anfängt, verschiebt den ersten Versand um zwei Wochen.
Zwei bis vier Gespräche, je 60 bis 90 Minuten: Geschäftsführung oder Vertriebsleitung, die zwei besten Telefonierer, jemand aus der Lieferung. Die sieben Fragen aus Teil I. Aufgezeichnet und transkribiert, damit die Formulierungen erhalten bleiben und nicht in einer Zusammenfassung verschwinden.

Unternehmenspräsentation, Foliensätze, Fallstudien, vorhandene Leitfäden, Preisliste, Positionierung und die letzten zehn gewonnenen Angebote. Das ist die einzige Station, die beim Kunden liegt, und die einzige, die den Bau aufhalten kann.
CRM-Export der letzten rund 50 gelieferten Abschlüsse, Filter auf die rund 20, die gewonnen, ausgeliefert, mindestens zwölf Monate geblieben und über der Deckungsbeitragsschwelle waren. Der Agent arbeitet das gemeinsame Muster heraus: Firmendaten, Technikeinsatz, Auslöser vor dem Kauf, Rollen, das eine Schlüsselmerkmal. Jede Aussage mit Beleg aus den Daten.

closed_won gefüllt, Musterentwurf steht.Sieben Dimensionen mit Stufenregeln 1 bis 4, das Einkaufsgremium mit drei Rollen, das Schlüsselmerkmal, die Gewichte je Dimension. Der Kunde gibt frei, bevor irgendetwas kartiert wird. Das ist der wichtigste Abnahmepunkt im ganzen Bau: Alles Nachgelagerte — Marktkarte, Einstufung, Kosten, Rangfolge — erbt diese Definition. Eine Änderung hier nach Station 09 bedeutet, den Markt neu einzustufen.
icp freigegeben, Gewichte gesetzt, Stufenschwellen verdrahtet.Einstieg, Nutzenargumentation, Einwandbehandlung, die Terminfrage — gebaut aus den Transkripten und dem Material, nicht aus einer Vorlage. Dazu die E-Mail-Vorlagen, die den Lead-Magneten und die Nachfassschritte tragen, in drei Personalisierungstiefen, passend zu den drei Ansprachemodi aus § 08.
Die zehn Tabellen angelegt. Im CRM des Kunden werden die Felder ergänzt, die er später braucht: Passungsstufe, Anlass, Zeitstempel des Anlasses, Rang, Ansprachemodus, Unterlagen-Link. Der Rückschreibeweg wird in beide Richtungen getestet, bevor Daten fließen.



Rohmenge aus mehreren Quellen: amtliche Register für die Grundmenge, die Registernummer und — im deutschen Markt über handelsregister.ai — die Finanzkennzahlen aus dem Jahresabschluss, Anbieterdatenbanken für Breite und Rollen, Websuche für das, was in keiner Datenbank steht. Vereinheitlicht, über die Domain entdublettet, gegen das CRM abgeglichen, damit kein Bestandskunde und kein laufender Vorgang angerufen wird.









Jedes Unternehmen auf den vier Passungsdimensionen bewertet, je Dimension 0 bis 3 mit Beleg, danach über feste Schwellen in Stufe 1 bis 4. Die Marktgröße wird nach Stufen getrennt berichtet, nie als eine Zahl. Ab hier steuert die Stufe, welche Anbieter für ein Unternehmen überhaupt aufgerufen werden dürfen.


Beide Stapel verdrahtet: fünf Finder plus Prüfung für die E-Mail, drei Finder plus Validierung und Sperrprüfung für das Telefon. Abbruch bei Erfolg, Puffer scharf, Stufengrenzen gesetzt — die teuren Anbieter sind für Stufe 3 und 4 gar nicht erst freigeschaltet.










Aus den 24 Signalen werden die eingeschaltet, die zusammen rund 300 erreichte Personen pro Woche ergeben, höchstens zehn, priorisiert nach Menge. Zwei bis drei mit hoher Kaufbereitschaft werden als Vorrang markiert. Webhooks zuerst, weil sie schneller und billiger sind; die geplanten Abfragen danach, je Signal im passenden Takt.








signals.Gewichte aus dem Katalog, Zerfallskurve, Stufenfaktoren, Bekanntheitsfaktor. Die Bandgrenzen werden an der Kapazität des Telefonteams gesetzt, nicht am Gefühl: Wie viele Einzelbetreuungen schafft das Team pro Woche? Diese Zahl bestimmt die Schwelle, ab der ein Eintrag persönlich behandelt wird.


Die Unterlagenart wird je Kunde festgelegt — Fahrplan, Analyse des Ist-Zustands, kleiner Prüfbericht, Rechner, zugeschnittener Plan. Danach hängt die Fertigungsstrecke am Signal-Feed: recherchieren, bauen, unter /p/{slug} ablegen. Halbautomatisch, nicht Einzelstück je Unternehmen.




Abfolgen in Lemlist je Ansprachemodus, mit eingesetztem Unterlagen-Link. Optional die LinkedIn-Anfrage aus einem der beiden Profile. Anrufaufgabe in die Telefonie und ins CRM. Die Kontaktpunkte werden so getaktet, dass sie nah beieinander landen — die Unterlage ist im Postfach, wenn das Telefon klingelt. SMS bleibt für Deutschland gesperrt.

Wählsystem eingerichtet, Aufzeichnung und Gesprächsprotokoll, Leitfaden und Varianten je Signaltyp geladen, Telefonierer auf Produkt und Einwandliste eingewiesen. Die Anbieterauswahl steht noch aus.



Termine werden in die Kalender der Vertriebsmitarbeiter geschrieben, Antworten, Ergebnisse und Widersprüche zurückgeholt, optouts in alle Kanäle durchgereicht. Ab hier muss der Kunde nichts mehr tun, außer zum Gespräch zu erscheinen.

Vier Nachrichten zwischen Zusage und Gespräch: Terminbestätigung (sofort, mit dem Anlass in zwei Sätzen), Ressource (T + 1 bis 2 Tage), Fallstudie (Termin − 2 Tage, ausgewählt nach Branche und Größe), Erinnerung (Vortag und kurz davor, mit Verschiebe-Link). Ausgelöst vom Termin-Ereignis, gebaut in der Kalendersoftware des Kunden, in seiner vorhandenen E-Mail- oder CRM-Software oder in unserer Zustellung. Die vier Texte entstehen aus den Onboarding-Materialien, wie der Leitfaden. Zurückgeschrieben wird wahrgenommen, verschoben oder ausgefallen.


Die Gewichtstabelle ist ein Ausgangswert, keine Wahrheit. Sie wird an einer aussagekräftigen Menge validiert — rund 250 Ansprechpartnern — und danach gegen die tatsächlichen Antwort-, Erreich- und Terminquoten nachgestellt. Signale, die nichts erklären, werden abgeschaltet und machen Platz für andere.

Überwachung der Strecken und Anbieter, wöchentliche Auswertung, ein Strategiegespräch, feste Ansprechpartner, gemeinsamer Kanal. Dazu die Läufe, die niemand sieht: Sperrlisten, Widersprüche, Kostenkontrolle je Stufe, Neuanreicherung der trägen Felder, Auffrischung der Marktkarte.

Wenn Sie bis hierher gelesen haben, wissen Sie mehr über dieses System als die meisten Anbieter über ihr eigenes. Die Frage, die dieses Dokument nicht beantworten kann, ist die einzige, auf die es ankommt: wie viele Unternehmen in Deutschland passen auf Ihr Profil, und bei wie vielen davon liegt gerade ein Anlass an? Das rechnen wir im Erstgespräch aus. Sie gehen mit dieser Zahl heraus, auch wenn wir nicht zusammenarbeiten.