DBA GmbH Wappen
DBA GmbH
Pipedrive · Automatisierung

Konzept · Machbarkeit

Automatisierte Zusammenführung doppelter Deals

Wie sich der heute manuelle Prozess (Anleitung „Doppelte Deals in Pipedrive zusammenführen") über die Pipedrive-API automatisieren lässt – inklusive Auswahllogik, Schutzmechanismen und offener Punkte.

Kurz: Ja, machbar. Pipedrive bietet einen offiziellen Merge-Endpoint für Deals (PUT /v1/deals/{id}/merge). Damit lässt sich exakt der manuelle Ablauf nachbauen: Kandidaten finden → den zu behaltenden Deal bestimmen → die Dubletten hineinmergen → Archiv nachziehen. Wichtig ist ein Vorschau-/Testlauf-Modus, weil ein Merge in Pipedrive nicht rückgängig gemacht werden kann.

1. Ausgangslage (heute manuell)

Laut Anleitung wird pro Person am Ende nur ein Deal behalten. Ein gespeicherter Filter „Zusammenführen" grenzt die Kandidaten ein, dann wird jeder Fall von Hand über E-Mail gesucht und zusammengeführt. Die im Filter hinterlegten Bedingungen:

BedingungWert
Pipelineist WhatsApp
Arbeitssuchend gemeldetist Ja
IHK Sachkundeprüfung §34aist Nein
Statusist Offen
Deal erstelltist diesen Monat
Kontakt · Offene Deals> 1

Der manuelle Aufwand skaliert schlecht: Eine Person kann 2 bis 50 offene Deals haben, und der Vorgang muss je Person mehrfach wiederholt werden. Genau das übernimmt die Automation.

2. Machbarkeit – die API-Bausteine

ZweckEndpoint
Kandidaten laden (Filter nachbilden)GET /v1/deals?filter_id=… oder GET /v2/deals?status=open&pipeline_id=… + Custom-Feld-Bedingungen
Personen / E-Mail je DealGET /v1/persons/{id} (E-Mail = eindeutiger Schlüssel)
Zwei Deals zusammenführenPUT /v1/deals/{id}/merge · Body { "merge_with_id": <behalten> }
Archiv nachziehenDeal-Status/is_archived prüfen und ggf. dearchivieren

Beim Merge wird der Deal {id} in merge_with_id hineingeführt; merge_with_id ist also der Gewinner. Aktivitäten, Notizen und Historie der Dublette wandern mit.

3. So würde die Automation ablaufen

01
Kandidaten
Offene Deals laden, die den Filter erfüllen; nach E-Mail der Person gruppieren.
02
Gruppen > 1
Nur Personen mit mehr als einem offenen Deal behalten. Verlorene/gelöschte Deals ausschließen.
03
Gewinner wählen
Pro Gruppe genau einen Deal als „behalten" bestimmen (Regel siehe Abschnitt 4).
04
Mergen
Alle übrigen Deals der Gruppe per API in den Gewinner mergen (Schleife bei 2–50 Deals).
05
Archiv & Log
Gewinner bei Bedarf dearchivieren; jede Aktion protokollieren.
# Pseudocode – Kern der Automation
kandidaten = lade_offene_deals(filter=ZUSAMMENFUEHREN)      # API
gruppen    = gruppiere_nach(email_der_person)               # eindeutiger Schlüssel

for email, deals in gruppen:
    deals = [d for d in deals if d.status == "open"]   # verlorene raus
    if len(deals) <= 1: continue
    gewinner  = waehle_gewinner(deals)                       # Regel Abschnitt 4
    dubletten = [d for d in deals if d.id != gewinner.id]

    for dub in dubletten:
        if DRY_RUN:
            report.add(email, behalten=gewinner.id, merge=dub.id)   # nur Vorschau
        else:
            merge_deals(dub.id, merge_with_id=gewinner.id)   # PUT …/merge  (irreversibel!)
            log(email, behalten=gewinner.id, gemergt=dub.id)
    dearchiviere_wenn_noetig(gewinner.id)

4. Regel: Welcher Deal bleibt?

Direkt aus der Anleitung übernommen und als eindeutige Priorität kodiert (erste zutreffende Regel gewinnt):

Hinweis aus der Anleitung: Partner wie Worklane / Ritter von Gral vermeiden Dubletten teils selbst – die Regel prüft trotzdem immer, welcher Deal der aktuellste/zugeordnete ist.

5. Schutzmechanismen (Pflicht)

Merge ist unwiderruflich
Ein zusammengeführter Deal lässt sich in Pipedrive nicht wiederherstellen. Deshalb startet die Automation ausschließlich im Vorschau-Modus und wird erst nach Freigabe „scharf" geschaltet.

Vor dem Scharfschalten

  • Dry-Run-Report: zeigt je Fall „behalten / mergen" – zur Kontrolle, ohne etwas zu ändern.
  • Nur bei eindeutiger E-Mail gruppieren (keine Namens-Treffer).
  • Ausschlüsse respektieren (verloren/gelöscht/andere Pipelines).

Im Betrieb

  • Vollständiges Log jeder Zusammenführung (Gewinner + gemergte IDs) für Nachvollziehbarkeit.
  • Rate-Limit & Retries gegen API-Limits; robuste Fehlerbehandlung.
  • Stufenweise erst kleine Chargen, dann automatischer Lauf.

6. Betrieb – wo läuft das?

OptionPasst, weilEmpfehlung
n8n (n8n.dba.rocks)bereits vorhanden; visuell, mit Zeitplan & Loggingbevorzugt
Python-Skript + Zeitplan (z. B. GitHub Actions)volle Kontrolle über Auswahl-Logik & ReportAlternative
Nur on-demand (manuell angestoßen)maximale Kontrolle für den Startfür Phase 1

Taktung wie im Filter: „Deal erstellt = diesen Monat" – ein täglicher oder stündlicher Lauf hält die Dubletten laufend klein. Jeder Lauf erzeugt einen kurzen Report (wie viele Gruppen, wie viele Merges).

7. Offene Punkte vor dem Bau

8. Empfehlung / nächste Schritte

  1. Phase 1 – Vorschau: Ich baue den Kandidaten- und Auswahl-Teil und liefere einen Dry-Run-Report (HTML/CSV): „Diese Gruppen, dieser Deal bleibt, diese werden gemergt." Es wird noch nichts verändert.
  2. Phase 2 – kontrolliert scharf: Nach deiner Freigabe die Merges für eine kleine Charge ausführen, Ergebnis prüfen.
  3. Phase 3 – Automatik: In n8n als geplanten Lauf mit Report je Durchlauf produktiv setzen.

So bleibt der unwiderrufliche Schritt (der Merge) bis zuletzt unter menschlicher Kontrolle, während der aufwändige Teil (Suchen, Gruppieren, Regel anwenden) sofort automatisiert ist.