Files
MaxKupper 64c804cac3 Readme.md aktualisiert
Hedgedoc markdown hinzugefügt
2025-10-31 13:10:07 +01:00

728 lines
23 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Hier finden sie die Dokumentation zum aufsetzen von ihrem eigenen n8n als auch dem Workflow:
https://hedgedoc.karlkuebelschule.de/j2cr9Z8SSMKfDKq1J4pZNQ
---
tags: N8N, Datenschutz, LF10
---
<style>
h1, h2, h3, h4, h5, h6 {
border-bottom: none !important;
}
</style>
# N8N Datenschutprüfer in einem Formular
## Inhalt
- [Docker aufsetzen](#docker-aufsetzen)
- [N8N aufsetzen](#n8n-aufsetzen)
- [SQL Datenbank aufsetzen](#sql-datenbank-aufsetzen)
- [N8N mit der Datenbank verbinden](#n8n-mit-der-datenbank-verbinden)
- [N8N Neuer Workflow erstellen](#n8n-neuer-workflow-erstellen)
- [Nodes erstellen](#nodes-einfuegen)
- [Formular erstellen](#formular-erstellen)
- [Datenbank-Anbindung hinzufügen](#datenbank-anbindung-hinzufügen)
- [Daten aus der Datenbank holen](#daten-aus-der-datenbank-holen)
- [E-Mails versenden](#e-mails-versenden)
- [Antworten anzeigen](#antworten-anzeigen)
- [Import Beispiel](#import-beispiel)
- [Anhang](#anhang)
---
<h2 id="docker-aufsetzen">Docker aufsetzen</h2>
1. Gehen Sie auf die Docker Webseite https://www.docker.com/
2. Docker Konto erstellen.
3. Docker Downloaden.
4. Docker Installieren und einrichten.
<h2 id="n8n-aufsetzen">N8N aufsetzen</h2>
1. Öffnen sie die powershell/cmd
2. Kopieren sie diesen Code in powershell/cmd und führen sie ihn aus
- Zum Kopieren
```
docker run -e N8N_BASIC_AUTH_ACTIVE=true -e N8N_BASIC_AUTH_USER=admin -e N8N_BASIC_AUTH_PASSWORD=supersecret -e N8N_HOST=0.0.0.0 --name n8n-container -p 5678:5678 -d n8nio/n8n
```
- Zum Veranschaulichen
```
docker run -e N8N_BASIC_AUTH_ACTIVE=true
-e N8N_BASIC_AUTH_USER=admin
-e N8N_BASIC_AUTH_PASSWORD=supersecret
-e N8N_HOST=0.0.0.0
--name n8n-container
-p 5678:5678
-d n8nio/n8n
```
3. Jetzt haben sie ein Container mit N8N angelegt.
4. Sie über localhost und dem Port darauf zugreifen. -> http://localhost:5678
5. Melden sie sich mit ihren Daten die im Code sind an.
<h2 id="sql-datenbank-aufsetzen">MSSQL Datenbank aufsetzen</h2>
1. Öffnen sie die cmd/powershell
2. Kopieren sie diesen Code in cmd/powershell und führen sie ihn aus.
- Zum Kopieren
```
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrong!Passw0rd" -p 1433:1433 --name my-mssql-container -d mcr.microsoft.com/mssql/server:2022-latest
```
- Zum Veranschaulichen
```
docker run
-e "ACCEPT_EULA=Y"
-e "SA_PASSWORD=YourStrong!Passw0rd"
-p 1433:1433
--name my-mssql-container
-d mcr.microsoft.com/mssql/server:2022-latest
```
3. Jetzt haben sie ein Container mit einer Datenbank angelegt.
4. Laden sie sich MSSQL herunter und Instalieren sie es.
https://learn.microsoft.com/de-de/ssms/install/install
<h2 id="sql-datenbank-aufsetzen">Auf Datenbank einrichten</h2>
1. Starten sie SQL Server Management Studio
2. Erstellen sie eine neue Verbindung
3. Der Port / Passwort sind die, die Sie bei der einrichtung der Datenbank angegeben haben.
4. **Server Name** = localhost,1433
5. **Authentication** = "SQL Server-Authentifizierung"
6. **Username** = "sa"
7. **Password** = "YourStrong!Passw0rd"
8. **Trust Server Certificate** Checkbox auswählen.
9. Erstellen Sie eine "**neue Abfrage**".
10. Schauen Sie im Anhang 1. "**Datenbank erstellen**".
11. Fügen sie den Code ein und führen sie ihn mit **F5** aus.
12. Damit wurde eine Datenbank namens **N8N** erstellt.
13. Kopieren Sie sich den Zweiten Code im Anhang 2. "**Tabelle erstellen**", fügen ihn ein und Führen Sie ihn aus.
14. Aktualisieren sie die Datenbank Verbindung.
<h2 id="n8n-mit-der-datenbank-verbinden">N8N mit der Datenbank verbinden</h2>
1. Öffnen sie Powershell
2. Erstellen Sie ein Netzwerk in Docker mit
``docker network create my-network``
4. Verbinden sie jetzt beide Container.
``docker network connect my-network my-mssql-container``
``docker network connect my-network n8n-container``
5. Um die Verbindung zu testen führen sie den unteren Code aus
``docker exec -it n8n-container ping my-mssql-container``
<h2 id="n8n-neuer-workflow-erstellen">N8N Neuer Workflow erstellen</h2>
1. Melden Sie sich in N8N an.
2. Oben links, rechts neben dem N8N-Logo, finden Sie ein **+**-Zeichen.
3. Klicken Sie auf den **+**-Button nun sollte ein Dropdown mit „Workflow“ erscheinen.
4. Klicken Sie auf **Workflow**, um Ihr neues Board zu erstellen.
<h2 id="nodes-einfuegen">Nodes einfügen</h2>
1. Klicken sie oben Rechts auf **+** um das Node fenster zu öffnen.
2. Dort können sie eine Vielzahl von Nodes benutzen
<h2 id="formular-erstellen">Formular erstellen</h2>
1. On Form Submission erstellen. Dies ist unser Einstiegspunkt für den Workflow.
2. Titel, Beschreibungen und Felder erstellen
3. Bei "Form URLs" sehen sie die URL zum testen als auch die spätere Production URL unter der das Formular erreichbar ist
4. In einem folgendem Code-Block Eingabedaten als JSON weiter geben an DB
<h2 id="datenbank-anbindung-hinzufügen">Datenbank-Anbindung hinzufügen</h2>
1. Fügen sie die Node "Microsoft SQL" ein.
2. Doppelklick auf die Node und bei "Credential to connect with" auf den Stift um eine Verbindung zu bearbeiten.
3. Geben sie jetzt die gleichen Werte an wie bei der Datenbank verbindung.
4. **Server** = "my-mssql-container"
5. **Database** = "N8N" <- ihre Datenbank die sie Benutzen wollen
6. **User** = "sa"
7. **Password** = "YourStrong!Passw0rd"
8. **Port** = 1433
9. Führen sie Eine Test verbindung durch
<h2 id="daten-aus-der-datenbank-holen">Daten aus der Datenbank holen</h2>
1. In der Node "**Microsoft SQL**" können sie unten im Query Feld diese Abfrage einfügen.
``SELECT Anwendung, Farbe From Valide Where Anwendung Like '%{{ $json.AnwendungsName }}%'``
2. Damit bekommen sie von der Datenbank 2 Werte zurück **Anwendungs namen** und die **Farbe**.
<h2 id="antworten-anzeigen">Antworten anzeigen</h2>
1. Resultierende Daten aus Datenbank mit Switch auswerten, nach Farbe
2. In einzelnen Codeblöcken, für jeden case, zusammenbauen was angezeigt werden soll und was mit E-Mail versand wird
3. Form Node hinzufügen. Type = Form Ending
4. Hier entsprechend anzeigen was wir in den Codeblöcken gebaut haben
<h2 id="e-mails-versenden">E-Mails versenden</h2>
1. Send E-Mail Node hinzufügen
2. Credentials erstellen mit welchen E-Mail versendet wird. User, Passwort, Host und Port (Port ist standardmäßig 465)
4. Empfänger/Sender angeben, (Empfänger E-Mail aus vorherigen Nodes)
5. HTML als E-Mail Format auswählen und dort gewünschten HTML Code platzieren, den wir vorher in den Codeblöcken nach dem switch erstellt haben
<h2 id="import-beispiel">Import Beispiel</h2>
1. Nehmen Sie sich den Code vom Anhang 3. "Import Beispiel"
2. Fügen Sie den Code in einen Editor und Speichern Sie ihn mit der Endung .json
3. Öffnen Sie in einem neuen Workflow
4. Klicken Sie oben rechts auf die drei Punkte und wählen sie den Punkt Import File.
5. Wählen Sie ihre json Datei und jetzt sollten Sie den Workflow haben.
<h2 id="anhang">Anhang</h2>
<h3>Anhang 1: Datenbank erstellen</h3>
```
USE [master]
GO
/****** Object: Database [N8N] Script Date: 31.10.2025 12:14:56 ******/
CREATE DATABASE [N8N]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'N8N', FILENAME = N'/var/opt/mssql/data/N8N.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'N8N_log', FILENAME = N'/var/opt/mssql/data/N8N_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [N8N].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [N8N] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [N8N] SET ANSI_NULLS OFF
GO
ALTER DATABASE [N8N] SET ANSI_PADDING OFF
GO
ALTER DATABASE [N8N] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [N8N] SET ARITHABORT OFF
GO
ALTER DATABASE [N8N] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [N8N] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [N8N] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [N8N] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [N8N] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [N8N] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [N8N] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [N8N] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [N8N] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [N8N] SET ENABLE_BROKER
GO
ALTER DATABASE [N8N] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [N8N] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [N8N] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [N8N] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [N8N] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [N8N] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [N8N] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [N8N] SET RECOVERY FULL
GO
ALTER DATABASE [N8N] SET MULTI_USER
GO
ALTER DATABASE [N8N] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [N8N] SET DB_CHAINING OFF
GO
ALTER DATABASE [N8N] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [N8N] SET TARGET_RECOVERY_TIME = 60 SECONDS
GO
ALTER DATABASE [N8N] SET DELAYED_DURABILITY = DISABLED
GO
ALTER DATABASE [N8N] SET ACCELERATED_DATABASE_RECOVERY = OFF
GO
ALTER DATABASE [N8N] SET QUERY_STORE = OFF
GO
ALTER DATABASE [N8N] SET READ_WRITE
GO
```
<h3>Anhang 2: Tabelle erstellen</h3>
```
USE [N8N]
GO
/****** Object: Table [dbo].[Valide] Script Date: 31.10.2025 12:13:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Valide](
[N8N_ID] [int] IDENTITY(1,1) NOT NULL,
[Email] [nvarchar](150) NOT NULL,
[Anwendung] [nvarchar](150) NOT NULL,
[URLAnwendung] [nvarchar](150) NOT NULL,
[Farbe] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_Valide] PRIMARY KEY CLUSTERED
(
[N8N_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Valide] ADD CONSTRAINT [DF_Valide_Email] DEFAULT ('') FOR [Email]
GO
ALTER TABLE [dbo].[Valide] ADD CONSTRAINT [DF_Valide_Anwendung] DEFAULT ('') FOR [Anwendung]
GO
ALTER TABLE [dbo].[Valide] ADD CONSTRAINT [DF_Valide_URLAnwendung] DEFAULT ('') FOR [URLAnwendung]
GO
ALTER TABLE [dbo].[Valide] ADD CONSTRAINT [DF_Valide_Farbe] DEFAULT ('') FOR [Farbe]
GO
```
<h3>Beispiel JSON Projekt Datenschutz </h3>
```
{
"name": "My workflow",
"nodes": [
{
"parameters": {
"formTitle": "Check URL",
"formFields": {
"values": [
{
"fieldType": "html",
"html": "<div style=\"margin-bottom: 15px;\">\n <p style=\"margin-bottom: 10px;\">\n Der Anwendungsname ist der offizielle Name der Software. Sie finden ihn in der Regel in der Anwendung selbst, z.B. unter „Hilfe → Info“, „Über…“ oder im Startbildschirm.\n </p>\n <label for=\"email\"></label><br>\n <input type=\"email\" id=\"email\" name=\"email\" style=\"margin-top: 5px; padding: 5px; width: 100%;\">\n</div>\n"
},
{
"fieldLabel": "E-Mail",
"fieldType": "email",
"requiredField": true
},
{
"fieldLabel": "Name der Anwendung:",
"requiredField": true
},
{
"fieldLabel": "Version:"
}
]
},
"options": {
"buttonLabel": "Anwendung prüfen",
"respondWithOptions": {
"values": {
"formSubmittedText": "Email wird Versendet!"
}
}
}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.2,
"position": [
-336,
-192
],
"id": "e11312df-26ab-40f5-879b-5c2c2b498a44",
"name": "On form submission",
"webhookId": "698b2338-d434-4db5-a064-2da34809c491"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "86b379e5-5ff1-4c49-9620-c03d2023d8cd",
"name": "Email",
"value": "={{ $json['E-Mail'] }}",
"type": "string"
},
{
"id": "70edd998-30cf-47c0-b1f1-702249bf8ee1",
"name": "AnwendungsName",
"value": "={{ $json['Name der Anwendung:'] }}",
"type": "string"
},
{
"id": "1d5eae01-b8bf-4a1b-a6e0-3caa00650731",
"name": "Version",
"value": "={{ $json['Version:'] }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
-112,
-192
],
"id": "3b6db320-c332-45cb-a694-d839f8f3a4f4",
"name": "Edit Fields"
},
{
"parameters": {
"operation": "executeQuery",
"query": "SELECT Anwendung, Farbe From Valide Where Anwendung Like '%{{ $json.AnwendungsName }}%'"
},
"type": "n8n-nodes-base.microsoftSql",
"typeVersion": 1.1,
"position": [
96,
-192
],
"id": "ceec887d-88da-42c9-947d-3225ef4c761c",
"name": "Microsoft SQL1",
"credentials": {
"microsoftSql": {
"id": "djdfLzBSpOyGbd5J",
"name": "Microsoft SQL account"
}
}
},
{
"parameters": {
"fromEmail": "testschulen8n@gmail.com",
"toEmail": "={{ $('On form submission').item.json['E-Mail'] }}",
"subject": "Datenschutz Prüfung",
"html": "={{ $json.html }}",
"options": {}
},
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2.1,
"position": [
1088,
-160
],
"id": "ccb3f806-3c1c-407d-b60c-e2f14dfe7deb",
"name": "Send email",
"webhookId": "24c30897-71b1-46b6-a704-ef008f4277aa",
"credentials": {
"smtp": {
"id": "QV9RLh6CctQW2oah",
"name": "SMTP account"
}
}
},
{
"parameters": {
"jsCode": "return [\n {\n json: {\n html: `\n \n<!DOCTYPE html>\n<html lang=\"de\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Einfach Ampel</title>\n</head>\n<body>\n \n <div style=\"width: 100px; background-color: #333; padding: 20px; border-radius: 20px; display: flex; flex-direction: column; gap: 15px;\">\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: black; margin: 0 auto;\"></div>\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: yellow; margin: 0 auto;\"></div>\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: black; margin: 0 auto;\"></div>\n \n </div>\n \n <!-- URL -->\n<p>URL: <a href=\"${$json.URLAnwendung}\" target=\"_blank\">Hier klicken</a></p>\n\n\n <!-- Weitere Infos -->\n <p>Info 1: Gelb, es gibt zwar noch kritische Punkte, die Aufmerksamkeit erfordern</p>\n\n</body>\n</html>\n \n `\n }\n }\n];\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
704,
-192
],
"id": "223639a8-af29-4bf6-951b-19257b8fdf0f",
"name": "Code2"
},
{
"parameters": {
"jsCode": "return [\n {\n json: {\n html: `\n<!DOCTYPE html>\n<html lang=\"de\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Einfach Ampel</title>\n</head>\n<body>\n \n <div style=\"width: 100px; background-color: #333; padding: 20px; border-radius: 20px; display: flex; flex-direction: column; gap: 15px;\">\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: red; margin: 0 auto;\"></div>\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: black; margin: 0 auto;\"></div>\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: black; margin: 0 auto;\"></div>\n \n </div>\n <!-- URL -->\n<p>URL: <a href=\"${$json.URLAnwendung}\" target=\"_blank\">Hier klicken</a></p>\n\n <!-- Weitere Infos -->\n <p>Info 1: Rot, die Datenschutzbestimmungen wurden aufgrund von Problemen nicht akzeptiert</p>\n\n</body>\n</html>\n `\n }\n }\n];\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
704,
-336
],
"id": "8409a40b-605b-4823-b690-829ac0ad837a",
"name": "Code3"
},
{
"parameters": {
"jsCode": "return [\n {\n json: {\n html: `\n<!DOCTYPE html>\n<html lang=\"de\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Einfach Ampel</title>\n</head>\n<body>\n \n <div style=\"width: 100px; background-color: #333; padding: 20px; border-radius: 20px; display: flex; flex-direction: column; gap: 15px;\">\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: black; margin: 0 auto;\"></div>\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: black; margin: 0 auto;\"></div>\n \n <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: green; margin: 0 auto;\"></div>\n \n </div>\n \n <!-- URL -->\n<p>URL: <a href=\"${$json.URLAnwendung}\" target=\"_blank\">Hier klicken</a></p>\n\n <!-- Weitere Infos -->\n <p>Info 1: Grün, alle Datenschutzanforderungen sind erfüllt und keine Probleme bestehen.</</p>\n\n</body>\n</html>\n `\n }\n }\n];\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
704,
-32
],
"id": "fe73c875-2da6-4398-b9e7-ab1ffd9c7d04",
"name": "Code4"
},
{
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"leftValue": "={{ $json.Farbe }}",
"rightValue": "green",
"operator": {
"type": "string",
"operation": "equals"
},
"id": "e407db7e-c62f-446f-b050-a2da0cf47164"
}
],
"combinator": "and"
}
},
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "bec012ef-ea1f-4eb7-86fc-cb0bd6c24ae3",
"leftValue": "={{ $json.Farbe }}",
"rightValue": "yellow",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
],
"combinator": "and"
}
},
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "57bf0a44-0930-4ec4-bb7e-46ac02c8472f",
"leftValue": "={{ $json.Farbe }}",
"rightValue": "red",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
],
"combinator": "and"
}
},
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "eed6d263-ae94-48ce-a996-bece887855c8",
"leftValue": "={{ $json.Farbe }}",
"rightValue": "unbekannt",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
],
"combinator": "and"
}
}
]
},
"options": {}
},
"type": "n8n-nodes-base.switch",
"typeVersion": 3.2,
"position": [
368,
-224
],
"id": "3b48bcf7-dd8c-4328-8417-408b8c43d3b3",
"name": "Switch"
}
],
"pinData": {},
"connections": {
"On form submission": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Microsoft SQL1",
"type": "main",
"index": 0
}
]
]
},
"Microsoft SQL1": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "Code4",
"type": "main",
"index": 0
}
],
[
{
"node": "Code2",
"type": "main",
"index": 0
}
],
[
{
"node": "Code3",
"type": "main",
"index": 0
}
],
[]
]
},
"Code3": {
"main": [
[
{
"node": "Send email",
"type": "main",
"index": 0
}
]
]
},
"Code2": {
"main": [
[
{
"node": "Send email",
"type": "main",
"index": 0
}
]
]
},
"Code4": {
"main": [
[
{
"node": "Send email",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "cefe6a6c-40e1-4f1e-bc94-4821c80410bb",
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "b7269067285ce522731ca81186ba09707a0ea125a4dea42e18c518a85012a790"
},
"id": "uBtwr3o5oN3RflKc",
"tags": []
}
```