Verfassen von Antwortentwürfen in Gmail mit dem OpenAI Assistant

Experte

Dies ist ein AI-Bereich Automatisierungsworkflow mit 23 Nodes. Hauptsächlich werden Set, Code, Gmail, Limit, Markdown und andere Nodes verwendet, kombiniert mit KI-Technologie für intelligente Automatisierung. Antwortentwürfe in Gmail mit OpenAI Assistant verfassen

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "ad5b12df-3bdf-4672-99a7-0034664f29ef",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1180,
        120
      ],
      "parameters": {
        "color": 4,
        "width": 420.4803040774015,
        "height": 189.69151356225348,
        "content": "## Reply draft with OpenAI Assistant\nThis workflow automatically transfers content of incoming email messages with specific labels into OpenAI Assitant and returns reply draft. After draft is composed, trigger label is deleted from the thread.\n\n**Please remember to configure your OpenAI Assistant first.**"
      },
      "typeVersion": 1
    },
    {
      "id": "80a93a48-0576-4dfb-817a-34cbc215307a",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -740,
        120
      ],
      "parameters": {
        "width": 451.41125086385614,
        "height": 313.3056033573073,
        "content": "### Schedule trigger and get emails\nRun the workflow in equal intervals and check for threads with specific labels (trigger labels)."
      },
      "typeVersion": 1
    },
    {
      "id": "0dba2603-8012-47d1-8c60-4068924b74cd",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1180,
        340
      ],
      "parameters": {
        "color": 3,
        "width": 421.0932411886662,
        "height": 257.42916378714597,
        "content": "## ⚠️ Note\n\n1. Complete video guide for this workflow is available [on my YouTube](https://youtu.be/a8Dhj3Zh9vQ). \n2. Remember to add your credentials and configure nodes (covered in the video guide).\n3. If you like this workflow, please subscribe to [my YouTube channel](https://www.youtube.com/@workfloows) and/or [my newsletter](https://workfloows.com/).\n\n**Thank you for your support!**"
      },
      "typeVersion": 1
    },
    {
      "id": "4eb67d90-b834-48f6-8d8a-ed0a9d8321fd",
      "name": "Haftnotiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        520,
        120
      ],
      "parameters": {
        "width": 381.6458068293894,
        "height": 313.7892229150129,
        "content": "### Generate reply\nTransfer email content to OpenAI Assitant and return AI-generated reply.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fdb6e16b-5f42-4872-bf63-b18a14220cdf",
      "name": "Haftnotiz5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1160,
        120
      ],
      "parameters": {
        "width": 219.88389496558554,
        "height": 314.75072291501283,
        "content": "### Create HTML message\nConvert incoming Markdown from OpenAI Assistant into HTML content."
      },
      "typeVersion": 1
    },
    {
      "id": "111e4276-7f63-4b11-92be-fd9de7e23f05",
      "name": "Haftnotiz7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1400,
        120
      ],
      "parameters": {
        "width": 461.3148409669012,
        "height": 314.75072291501283,
        "content": "### Build and encode message\nCreate raw message in RFC standard and encode it into base64 string (please see [Gmail API reference](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/create) for more details)."
      },
      "typeVersion": 1
    },
    {
      "id": "0d377266-7fa2-43c4-9259-e8611d52df41",
      "name": "Haftnotiz8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1880,
        120
      ],
      "parameters": {
        "width": 219.88389496558554,
        "height": 314.75072291501283,
        "content": "### Insert reply draft\nAdd reply draft from OpenAI Assistant to specific Gmail thread."
      },
      "typeVersion": 1
    },
    {
      "id": "c743486b-82e0-42f4-bd41-fad6115ac520",
      "name": "Haftnotiz9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2120,
        120
      ],
      "parameters": {
        "width": 219.88389496558554,
        "height": 314.75072291501283,
        "content": "### Remove label\nDelete trigger label from the Gmail thread."
      },
      "typeVersion": 1
    },
    {
      "id": "dfe99c2e-a8e6-48de-a11d-54adaf98a7fe",
      "name": "Haftnotiz10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 219.88389496558554,
        "height": 314.75072291501283,
        "content": "### Return message content\nRetrieve content of the last message in the thread."
      },
      "typeVersion": 1
    },
    {
      "id": "6f228048-4067-494a-af44-080237c2555c",
      "name": "Haftnotiz11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        340
      ],
      "parameters": {
        "width": 470.88389496558545,
        "height": 314.75072291501283,
        "content": "### Get last message from thread\nReturn all messages for a single thread and pass for further processing only the last one."
      },
      "typeVersion": 1
    },
    {
      "id": "bea0ea14-6198-4022-8ddc-a0c9f895d46e",
      "name": "KI-Label von E-Mail entfernen",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2180,
        260
      ],
      "webhookId": "f19c59fe-49bd-4661-aff3-a50e43e5964a",
      "parameters": {
        "resource": "thread",
        "threadId": "={{ $('Map fields for further processing').item.json[\"threadId\"] }}",
        "operation": "removeLabels"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "Sf5Gfl9NiFTNXFWb",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "dc9b5760-1669-4f29-b28d-73cd417775b4",
      "name": "E-Mail-Entwurf zum Thread hinzufügen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1940,
        260
      ],
      "parameters": {
        "url": "https://www.googleapis.com/gmail/v1/users/me/drafts",
        "method": "POST",
        "options": {},
        "jsonBody": "={\"message\":{\"raw\":\"{{ $json.encoded }}\", \"threadId\": \"{{ $('Map fields for further processing').item.json[\"threadId\"] }}\"}}",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "dbbb607b-701f-49cd-b872-96522abde5b7",
      "name": "Raw in Base64 konvertieren",
      "type": "n8n-nodes-base.code",
      "position": [
        1680,
        260
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const encoded = Buffer.from($json.raw).toString('base64');\n\nreturn { encoded };"
      },
      "typeVersion": 2
    },
    {
      "id": "9114d833-1c6a-47f1-bc8d-12fb8e17218e",
      "name": "E-Mail-Raw erstellen",
      "type": "n8n-nodes-base.set",
      "position": [
        1480,
        260
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6b6ece46-aeef-4ae5-9a0d-f472e7ced464",
              "name": "raw",
              "type": "string",
              "value": "=To: {{ $json.to }}\nSubject: {{ $json.subject }}\nContent-Type: text/html; charset=\"utf-8\"\n\n{{ $json.response }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "67c1b6ca-d419-45a9-a1d5-2a6ac157454f",
      "name": "Antwort in HTML konvertieren",
      "type": "n8n-nodes-base.markdown",
      "position": [
        1220,
        260
      ],
      "parameters": {
        "mode": "markdownToHtml",
        "options": {},
        "markdown": "={{ $json.response }}"
      },
      "typeVersion": 1
    },
    {
      "id": "97be72d7-20dd-4829-bf1c-f738fb6a8a21",
      "name": "Felder für Weiterverarbeitung zuordnen",
      "type": "n8n-nodes-base.set",
      "position": [
        980,
        260
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d5022255-06d2-4322-b51e-ae80b7f6eef6",
              "name": "response",
              "type": "string",
              "value": "={{ $json.output }}"
            },
            {
              "id": "f729def0-3905-4c7d-ad1d-86ef7b001e9c",
              "name": "threadId",
              "type": "string",
              "value": "={{ $('Get single message content').item.json[\"threadId\"] }}"
            },
            {
              "id": "3ef18ad8-7328-4b97-bd6d-9d395a3c4a48",
              "name": "to",
              "type": "string",
              "value": "={{ $('Get single message content').item.json[\"from\"][\"text\"] }}"
            },
            {
              "id": "b013770d-fce2-4030-b372-8d94f04b51e9",
              "name": "subject",
              "type": "string",
              "value": "={{ $('Get single message content').item.json[\"subject\"] }}"
            },
            {
              "id": "69cc71b6-614d-4528-a598-69fbde1b5fd9",
              "name": "messageId",
              "type": "string",
              "value": "={{ $('Get threads with specific labels').item.json[\"id\"] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "545a4296-5307-42ee-8935-2886338e2518",
      "name": "OpenAI Assistant befragen",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        580,
        260
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "prompt": "define",
        "options": {},
        "resource": "assistant",
        "assistantId": {
          "__rl": true,
          "mode": "list",
          "value": "asst_s32wsRpwU1HbLt40wRhghB6Y",
          "cachedResultName": "Eva"
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "8gccIjcuf3gvaoEr",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "4f326fec-e4bb-42dc-9f26-4a3d8ce86f24",
      "name": "Einzelnen Nachrichteninhalt abrufen",
      "type": "n8n-nodes-base.gmail",
      "position": [
        60,
        120
      ],
      "webhookId": "1ddb410c-fcdd-4230-967a-cf7844727877",
      "parameters": {
        "messageId": "={{ $json.id }}",
        "operation": "get"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "Sf5Gfl9NiFTNXFWb",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "faeb879f-db00-47b7-8995-9fb9025079cf",
      "name": "Letzte Nachricht im Thread zurückgeben",
      "type": "n8n-nodes-base.limit",
      "position": [
        280,
        460
      ],
      "parameters": {
        "keep": "lastItems"
      },
      "typeVersion": 1
    },
    {
      "id": "8085cb54-3c85-4450-9e42-825a9d467d6b",
      "name": "Thread-Nachrichten abrufen",
      "type": "n8n-nodes-base.gmail",
      "position": [
        60,
        460
      ],
      "webhookId": "d53aee55-4233-42e3-b0b7-2b4521956013",
      "parameters": {
        "options": {},
        "resource": "thread",
        "threadId": "={{ $json.id }}",
        "operation": "get"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "Sf5Gfl9NiFTNXFWb",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "8a3c1885-8a05-4357-85ea-03cb9e8b24fa",
      "name": "Threads durchlaufen",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -200,
        260
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "74197fae-823e-47bc-a1c9-b2fbe90b1171",
      "name": "Threads mit spezifischen Labels abrufen",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -460,
        260
      ],
      "webhookId": "6b7faf91-cc60-482c-b661-dbd702cba2cc",
      "parameters": {
        "filters": {
          "labelIds": []
        },
        "resource": "thread"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "Sf5Gfl9NiFTNXFWb",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "a3360f69-b8e6-4ef8-933a-352243ab9125",
      "name": "Zeitgesteuerter Auslöser (1 Min.)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -680,
        260
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 1
            }
          ]
        }
      },
      "typeVersion": 1.2
    }
  ],
  "pinData": {},
  "connections": {
    "9114d833-1c6a-47f1-bc8d-12fb8e17218e": {
      "main": [
        [
          {
            "node": "dbbb607b-701f-49cd-b872-96522abde5b7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8a3c1885-8a05-4357-85ea-03cb9e8b24fa": {
      "main": [
        [
          {
            "node": "4f326fec-e4bb-42dc-9f26-4a3d8ce86f24",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "8085cb54-3c85-4450-9e42-825a9d467d6b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8085cb54-3c85-4450-9e42-825a9d467d6b": {
      "main": [
        [
          {
            "node": "faeb879f-db00-47b7-8995-9fb9025079cf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "545a4296-5307-42ee-8935-2886338e2518": {
      "main": [
        [
          {
            "node": "97be72d7-20dd-4829-bf1c-f738fb6a8a21",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dbbb607b-701f-49cd-b872-96522abde5b7": {
      "main": [
        [
          {
            "node": "dc9b5760-1669-4f29-b28d-73cd417775b4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "67c1b6ca-d419-45a9-a1d5-2a6ac157454f": {
      "main": [
        [
          {
            "node": "9114d833-1c6a-47f1-bc8d-12fb8e17218e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a3360f69-b8e6-4ef8-933a-352243ab9125": {
      "main": [
        [
          {
            "node": "74197fae-823e-47bc-a1c9-b2fbe90b1171",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dc9b5760-1669-4f29-b28d-73cd417775b4": {
      "main": [
        [
          {
            "node": "bea0ea14-6198-4022-8ddc-a0c9f895d46e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4f326fec-e4bb-42dc-9f26-4a3d8ce86f24": {
      "main": [
        [
          {
            "node": "545a4296-5307-42ee-8935-2886338e2518",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "faeb879f-db00-47b7-8995-9fb9025079cf": {
      "main": [
        [
          {
            "node": "8a3c1885-8a05-4357-85ea-03cb9e8b24fa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "74197fae-823e-47bc-a1c9-b2fbe90b1171": {
      "main": [
        [
          {
            "node": "8a3c1885-8a05-4357-85ea-03cb9e8b24fa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "97be72d7-20dd-4829-bf1c-f738fb6a8a21": {
      "main": [
        [
          {
            "node": "67c1b6ca-d419-45a9-a1d5-2a6ac157454f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Künstliche Intelligenz

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes23
Kategorie1
Node-Typen10
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor

I make videos about workflow automation and other cool things.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34