
Wir alle kennen das: Es ist einfach lästig, jedes Mal neue CRM-Kontakte manuell anzulegen, sobald man eine E-Mail erhält.
Die gute Nachricht: Es geht auch anders – nämlich automatisch!
So habe ich’s gelöst
Mit n8n und der Launix-Komponente (n8n-nodes-launix
) habe ich einen Workflow gebaut, der genau das immer für mich erledigt:
- Eingehende E-Mail erkennen
n8n überwacht eingehende E-Mails und startet den Workflow beim Öffnen einer neuen Nachricht. - Kontakt intelligent erkennen oder erstellen
Mithilfe eines KI-Agenten (z. B. über$fromAI
) werden aus der E-Mail relevante Informationen wie Firmenname, E-Mail-Adresse, Mobilnummer oder Adresse extrahiert. Anschließend fragt der Workflow das CRM, ob der Kontakt bereits existiert – und erstellt ihn nur, wenn er noch nicht vorhanden ist. - Einfacher Aufbau mit
n8n-nodes-launix
Die Launix-Komponente vereint CRM-Aktionen wie „suchen“ und „erstellen“ in einem Node. Zum Beispiel wird zuerst ein “Kunde suchen”-Node ausgeführt, und nur wenn kein Treffer gefunden wird, folgt ein “Kunde erstellen”-Node – jeweils unter Nutzung der über$fromAI
gewonnenen Daten.
Warum das lohnt
- Automatisiert & intelligent – Kein manuelles Tippen mehr nötig.
- Reduziert Fehler – KI hilft beim sauberen Erfassen und Verarbeiten von E-Mail-Daten.
- Effizienter Workflow – n8n bietet eine visuelle, modulare Lösung, die sich flexibel erweitern lässt.
- Launix als starker Partner – Die Kombination aus maßgeschneidertem CRM (via Launix) und n8n-Automatisierung sorgt für eine reibungslose Integration und Skalierbarkeit.
Kurzfassung
Problem: Jede neue E-Mail manuell im CRM anlegen geht ins Geld – an Zeit.
Lösung: Ein n8n-Workflow mit n8n-nodes-launix
, der E-Mails intelligent analysiert und automatisch Kontakte sucht oder erstellt – ganz ohne manuelles Eingreifen.
Folgender Workflow aktualisiert die Daten im CRM, sobald man eine E-Mail öffnet:

Hier das Toolset fürs Launix CRM:
{
"nodes": [
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "if you detect a company name, search for it in the customer database and get the ID",
"table": {
"__rl": true,
"value": "Kunde",
"mode": "list",
"cachedResultName": "Kunde (kunde)"
},
"operation": "list",
"filterparams": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_and_Sort_Parameters', `a json object like {\"search_kunde_name\": search-string}`, 'json') }}"
},
"type": "n8n-nodes-launix.launixNodeTool",
"typeVersion": 1,
"position": [
432,
208
],
"id": "441bc72e-ae09-4f73-acb5-90b6de96f085",
"name": "Kunde suchen",
"credentials": {
"launixCredentialsApi": {
"id": "fANjqclTNPzXaxH2",
"name": "Launix Credentials account"
}
}
},
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "if you searched in the customer database and didnt find the customer, create it!",
"table": {
"__rl": true,
"value": "Kunde",
"mode": "list",
"cachedResultName": "Kunde (kunde)"
},
"operation": "create",
"columns": {
"mappingMode": "defineBelow",
"value": {
"name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Firmenname__name_', ``, 'string') }}",
"land": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Land__land_', ``, 'string') }}",
"website": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Homepage__website_', ``, 'string') }}",
"mobil": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Mobil__mobil_', ``, 'string') }}",
"email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('E-Mail__email_', ``, 'string') }}",
"plz": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('PLZ__plz_', ``, 'string') }}",
"ort": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Ort__ort_', ``, 'string') }}",
"info": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Info__info_', ``, 'string') }}",
"strasse": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Stra_e_und_Hausnummer__strasse_', ``, 'string') }}"
},
"matchingColumns": [],
"schema": [
{
"id": "crm_wsk",
"displayName": "Umsatz-Wahrscheinlichkeit (crm_wsk)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "crm_umsatz",
"displayName": "Erwarteter Umsatz (crm_umsatz)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "crm_start",
"displayName": "Umsatz Datum (crm_start)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "potenzial",
"displayName": "Potenzial (potenzial)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "adblock",
"displayName": "Werbesperre (adblock)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "quelle",
"displayName": "Quelle (quelle)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "emailBh",
"displayName": "E-Mail Buchhaltung (emailBh)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "kategorie",
"displayName": "Branche/Kategorie (kategorie)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "ma",
"displayName": "Anzahl Mitarbeiter (ma)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "adresse",
"displayName": "Rechnungsadresse (adresse)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "info",
"displayName": "Info (info)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "anrede",
"displayName": "Anrede (anrede)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "gruss",
"displayName": "Grußformel (gruss)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "wiedervorlage",
"displayName": "Wiedervorlage (wiedervorlage)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "nextMitarbeiter",
"displayName": "Nächste Bearbeitung durch (nextMitarbeiter)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "standort",
"displayName": "Standort (standort)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "ustid",
"displayName": "Ust-Id-Nr (ustid)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "plz",
"displayName": "PLZ (plz)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "ort",
"displayName": "Ort (ort)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "iban",
"displayName": "IBAN (iban)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "bic",
"displayName": "BIC (bic)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "name",
"displayName": "Firmenname (name)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "name2",
"displayName": "Firmenbezeichnung Zusatz (name2)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "strasse",
"displayName": "Straße und Hausnummer (strasse)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "azusatz",
"displayName": "Adresszusatz (azusatz)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "land",
"displayName": "Land (land)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "tel",
"displayName": "Telefon (tel)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "mobil",
"displayName": "Mobil (mobil)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "fax",
"displayName": "Fax (fax)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "email",
"displayName": "E-Mail (email)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "website",
"displayName": "Homepage (website)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "beschreibung",
"displayName": "Beschreibung (beschreibung)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "creation",
"displayName": "Erstelldatum (creation)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "mahnstufe",
"displayName": "Zahlungsart (mahnstufe)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "provisionAmount",
"displayName": "Vermittlungsprovision (provisionAmount)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "provisionReceiver",
"displayName": "Vermittlungsprovision (provisionReceiver)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "sinceSEPA",
"displayName": "Datum des SEPA-Lastschriteinzugs (sinceSEPA)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"type": "n8n-nodes-launix.launixNodeTool",
"typeVersion": 1,
"position": [
704,
192
],
"id": "769a06a2-74a4-4a99-9f6b-9ddb48dbcc40",
"name": "Kunde anlegen",
"credentials": {
"launixCredentialsApi": {
"id": "fANjqclTNPzXaxH2",
"name": "Launix Credentials account"
}
}
},
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "if you got the company id and detect a person, check if it is in the database either by querying the email or list all contacts.\n\nYou can also search for the email directly and find out the kunde-ID this way (.firma)",
"table": {
"__rl": true,
"value": "KundeKontakt",
"mode": "list",
"cachedResultName": "Kontakt (kundeKontakt)"
},
"operation": "list",
"filterparams": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_and_Sort_Parameters', `a json object like {\"search_kundeKontakt_email\": search-string, \"filter_kundeKontakt_firma\": kunde-id} - both fields are optional`, 'json') }}"
},
"type": "n8n-nodes-launix.launixNodeTool",
"typeVersion": 1,
"position": [
464,
464
],
"id": "92e2d199-cf2d-4622-8e36-82fdd756940d",
"name": "Kontakte suchen",
"credentials": {
"launixCredentialsApi": {
"id": "fANjqclTNPzXaxH2",
"name": "Launix CRM"
}
}
},
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "if you got the company id but the contact does not yet exist",
"table": {
"__rl": true,
"value": "KundeKontakt",
"mode": "list",
"cachedResultName": "Kontakt (kundeKontakt)"
},
"operation": "create",
"columns": {
"mappingMode": "defineBelow",
"value": {
"firma": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Kunde__firma_', `kunde-ID`, 'string') }}",
"vname": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Vorname__vname_', ``, 'string') }}",
"nname": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Nachname__nname_', ``, 'string') }}",
"position": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Position_in_der_Firma__position_', ``, 'string') }}",
"anrede": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Anrede__anrede_', ``, 'string') }}",
"email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('E-Mail-Adresse__email_', ``, 'string') }}",
"tel": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Telefon__tel_', ``, 'string') }}",
"mobil": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Mobil__mobil_', ``, 'string') }}"
},
"matchingColumns": [],
"schema": [
{
"id": "firma",
"displayName": "Kunde (firma)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "anrede",
"displayName": "Anrede (anrede)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "vname",
"displayName": "Vorname (vname)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "nname",
"displayName": "Nachname (nname)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "position",
"displayName": "Position in der Firma (position)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "gebDate",
"displayName": "Geburtsdatum (gebDate)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "email",
"displayName": "E-Mail-Adresse (email)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "tel",
"displayName": "Telefon (tel)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "mobil",
"displayName": "Mobil (mobil)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "fax",
"displayName": "Fax (fax)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"type": "n8n-nodes-launix.launixNodeTool",
"typeVersion": 1,
"position": [
608,
464
],
"id": "d8da8dce-1462-4d67-8813-55db92192042",
"name": "Kontakt anlegen",
"credentials": {
"launixCredentialsApi": {
"id": "fANjqclTNPzXaxH2",
"name": "Launix CRM"
}
}
},
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "if you got the contact id but some data is missing, you can update it",
"table": {
"__rl": true,
"value": "KundeKontakt",
"mode": "list",
"cachedResultName": "Kontakt (kundeKontakt)"
},
"operation": "edit",
"id": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Dataset_ID', `kundeKontakt-ID`, 'string') }}",
"columns": {
"mappingMode": "defineBelow",
"value": {
"vname": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Vorname__vname_', ``, 'string') }}",
"nname": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Nachname__nname_', ``, 'string') }}",
"position": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Position_in_der_Firma__position_', ``, 'string') }}",
"email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('E-Mail-Adresse__email_', ``, 'string') }}",
"tel": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Telefon__tel_', ``, 'string') }}",
"mobil": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Mobil__mobil_', ``, 'string') }}"
},
"matchingColumns": [],
"schema": [
{
"id": "firma",
"displayName": "Kunde (firma)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "anrede",
"displayName": "Anrede (anrede)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "vname",
"displayName": "Vorname (vname)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "nname",
"displayName": "Nachname (nname)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "position",
"displayName": "Position in der Firma (position)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "gebDate",
"displayName": "Geburtsdatum (gebDate)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
},
{
"id": "email",
"displayName": "E-Mail-Adresse (email)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "tel",
"displayName": "Telefon (tel)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "mobil",
"displayName": "Mobil (mobil)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": false
},
{
"id": "fax",
"displayName": "Fax (fax)",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": false,
"removed": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"type": "n8n-nodes-launix.launixNodeTool",
"typeVersion": 1,
"position": [
784,
464
],
"id": "64c489fb-003b-41e0-b23d-111d2e318b45",
"name": "Kontakt aktualisieren",
"credentials": {
"launixCredentialsApi": {
"id": "fANjqclTNPzXaxH2",
"name": "Launix CRM"
}
}
}
],
"connections": {
"Kunde suchen": {
"ai_tool": [
[]
]
},
"Kunde anlegen": {
"ai_tool": [
[]
]
},
"Kontakte suchen": {
"ai_tool": [
[]
]
},
"Kontakt anlegen": {
"ai_tool": [
[]
]
},
"Kontakt aktualisieren": {
"ai_tool": [
[]
]
}
},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "deca74e39400ce1378d3a90272c58ff5295e4f61fee8a0488f636230422ecdc2"
}
}
Comments are closed