Prozessautomatisierung und CRM

Dynamics 365 mit n8n verbinden – so holst du echten Nutzen aus deinem CRM

Warum der native Connector nicht reicht – und wie ein einfacher Workflow die Lücke schließt

Dein CRM ist voll mit Kundendaten. Kontakte, Jobtitel, Abteilungen, Beziehungshistorien – alles drin. Aber wenn du schnell wissen willst, wen du für ein neues Thema ansprechen sollst, öffnest du es, klickst dich durch Filter, exportierst vielleicht nach Excel und denkst dann selbst nach.

Das muss nicht so sein. Mit n8n lässt sich Dynamics 365 direkt anbinden – und du kannst deine Kundendaten endlich gezielt und automatisiert nutzen. Genau das haben wir in einem Kundenprojekt umgesetzt. Hier ist, was wir dabei gelernt haben.

Das Problem: CRM-Daten liegen brach

Dynamics 365 ist ein mächtiges System. Aber die meisten Unternehmen nutzen es vor allem als digitales Adressbuch. Die Daten sind da – aber sie arbeiten nicht für dich.

Kommt dir das bekannt vor? Du willst alle Entscheider im Bereich Sales ansprechen, die du schon kennst. Oder alle IT-Leiter bei Kunden aus einer bestimmten Branche. Im CRM gibt es dafür Filter. Aber die Ergebnisse manuell aufzubereiten, weiterzuverarbeiten oder in einen Workflow zu integrieren – das ist aufwendig.

Die Lösung: eine direkte Schnittstelle zwischen Dynamics 365 und n8n. Damit bindest du CRM-Daten in automatisierte Prozesse ein – ohne manuelle Exporte, ohne Umwege.

Was du über die Dynamics-API wissen musst

Bevor wir zum Workflow kommen, ein kurzer Exkurs. Dynamics 365 basiert auf Dataverse – Microsofts Datenbankschicht für Business-Anwendungen. Und Dataverse hat eine eigene REST-API. Das Wichtige: Diese API spricht OData – eine eigene Abfragesprache, die Microsoft in vielen Produkten einsetzt. Sie ist mächtig, aber etwas gewöhnungsbedürftig. Eine Abfrage sieht zum Beispiel so aus:

GET /api/data/v9.2/contacts
?$filter=contains(fullname,’Müller‘)
&$select=fullname,emailaddress1,jobtitle
&$top=10

Das Gute: Du musst das nicht von Hand tippen. n8n übernimmt den technischen Teil – du definierst nur, was du abfragen willst.

Der native n8n Node – gut, aber begrenzt

n8n hat einen eingebauten Dynamics-Connector. Der erledigt einfache Aufgaben. Aber er hat eine Einschränkung, die viele überrascht: Er unterstützt nur Accounts (also Firmendatensätze) – keine Contacts (Personenkontakte). Wenn dein Vertrieb aber mit Ansprechpartnern arbeitet – und das tut er in der Regel –, kommst du mit dem nativen Node nicht weit. Die Lösung ist ein direkter HTTP Request Node, der die Dataverse API anspricht. Das klingt aufwendiger als es ist. Du richtest einmal die OAuth2-Authentifizierung ein, und danach läuft alles automatisch.

So baust du den Workflow auf

Der Workflow besteht aus vier Teilen – überschaubar und erweiterbar.

  1. Trigger: Ein Webhook empfängt die Suchanfrage. Das kann eine manuelle Eingabe sein, ein anderer Workflow oder – besonders spannend – ein KI-Agent.
  2. Filter aufbauen: Ein Code-Node übersetzt die Eingaben in eine OData-Abfrage. Hier passiert die eigentliche Logik: Welche Abteilung? Welche Hierarchieebene? Welche Beziehungstiefe?
  3. API-Abfrage: Der HTTP Request Node fragt die Dynamics-API ab – mit OAuth2-Authentifizierung über deine Azure App-Registrierung.
  4. Ergebnis aufbereiten: Die Rohdaten werden in ein lesbares Format gebracht. Felder wie Jobtitel, Abteilung und Kontaktdaten landen sauber strukturiert als JSON.

Das Ergebnis: Du bekommst in Sekunden eine gefilterte Kontaktliste – direkt aus deinem CRM, ohne einen Browser zu öffnen.

Die versteckten Hürden – was niemand vorher sagt

Option Sets sind keine normalen Felder

Dynamics 365 nutzt für Dropdown-Felder sogenannte Option Sets. Was du in der Oberfläche als „Vorstand“ oder „Sales“ siehst, ist in der Datenbank eine Zahl – zum Beispiel 10000000 oder 100000002.
Das bedeutet: Wenn du nach Abteilungen filtern willst, musst du die internen Zahlenwerte kennen. Die findest du über die Metadata-API oder im Power Apps Maker Portal. Einmal dokumentiert, sind sie aber stabil – und du kannst sie direkt im Workflow hinterlegen.

Die Region muss passen

Dynamics 365 läuft in verschiedenen geografischen Regionen. Europäische Instanzen haben die Domain .crm4.dynamics.com. In n8n musst du bei der Credential-Einrichtung die richtige Region wählen – sonst schlägt die Authentifizierung fehl, obwohl alles andere stimmt.

Der Input-Pfad ist entscheidend

Wenn der Webhook Daten empfängt, liegen sie in einem body-Objekt. Im Code-Node musst du explizit auf $input.first().json.body zugreifen – nicht direkt auf $input.first().json. Klingt nach einem Detail, ist aber der häufigste Fehler beim ersten Aufbau.

Was wir dabei gelernt haben

Drei Dinge, die wir von Anfang an hätten wissen wollen:

Datenpflege zuerst.

Der beste Workflow nützt nichts, wenn die CRM-Daten unvollständig sind. Fehlende Abteilungsangaben, nicht gepflegte Hierarchieebenen, leere Firmenfelder – das alles macht die Suche unzuverlässig. Vor der technischen Anbindung lohnt sich eine ehrliche Bestandsaufnahme der Datenqualität.

Klein starten.

Nicht alle 4.000 Kontakte laden und dann filtern – das ist zu langsam und zu teuer. Besser: zuerst filtern, dann laden. Konkrete Suchparameter ergeben konkrete Ergebnisse – und das geht schnell.

MCP macht den Unterschied.

Wenn der Workflow als MCP-Tool für einen KI-Agenten verfügbar ist, wird aus einer technischen Integration ein echter Arbeitsassistent. Du fragst, er sucht – ohne dass du selbst einen Filter anfassen musst.

Fazit

Dynamics 365 und n8n lassen sich sauber verbinden – auch ohne den nativen Connector. Ein HTTP Request Node, eine Azure App-Registrierung und ein bisschen OData-Logik reichen aus, um aus deinem CRM einen aktiven Teil deiner Prozesse zu machen.

Der Aufwand für den ersten Aufbau beträgt ein paar Stunden. Der Nutzen: Du kannst ab sofort gezielt auf deine Kundendaten zugreifen – automatisiert, gefiltert, direkt im Workflow.

Du nutzt Dynamics 365 und fragst dich, wie du mehr daraus machen kannst? Lass uns kurz sprechen – das erste Gespräch ist kostenlos.

Jetzt Kontakt aufnehmen

Privacy Preference Center