Dynamisches Senden von Abwesenheits-/Urlaubsnachrichten

Fortgeschritten

Dies ist ein Personal Productivity-Bereich Automatisierungsworkflow mit 14 Nodes. Hauptsächlich werden If, Code, Gmail, GmailTrigger, GoogleCalendar und andere Nodes verwendet. Dynamische Sende-Urlaubs-/Abwesenheitsnachrichten mit Gmail und Google Calendar

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
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": "d6e2f2f655b1125bbcac14a4cac6d2e46c7a150e927f85fc96fdca1a6dc39e0e",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "6f15bcff-5358-4f9a-914d-dfd1e87c6e6f",
      "name": "Rückkehrdatum ins Büro ermitteln",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        860,
        0
      ],
      "parameters": {
        "limit": 1,
        "options": {
          "orderBy": "startTime"
        },
        "timeMax": "={{ $now.plus({ week: 2 }) }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "d1ba7566bd33c38760d89364501c748a2c0d75f9bdca2b77e1565b7a93fe146a@group.calendar.google.com",
          "cachedResultName": "General Manager"
        },
        "operation": "getAll"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "hpuoiTdX3AdioCk5",
          "name": "Rosh's Personal Calendar Account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "f922f416-5c9e-4053-8612-30d0aa5f92b2",
      "name": "Rückkehrdatum übersichtlich formatieren",
      "type": "n8n-nodes-base.code",
      "position": [
        1120,
        0
      ],
      "parameters": {
        "jsCode": "const dateTime = $input.first().json.start.dateTime;\nconst timeZone = $input.first().json.start.timeZone;\n\nconst date = new Date(dateTime);\n\nconst returnDate = new Intl.DateTimeFormat(undefined, {\n  timeZone,\n  weekday: 'long',\n  year: 'numeric',\n  month: 'long',\n  day: 'numeric'\n}).format(date);\n\nreturn [{ json: { returnDate } }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "4585b157-5413-40a6-b661-5836aa1c5717",
      "name": "Abwesenheitsnachricht senden",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1380,
        0
      ],
      "webhookId": "ecf81e7d-0ed2-425b-9219-42e25657353d",
      "parameters": {
        "sendTo": "={{ $('Receive an Email in Gmail').item.json.From }}",
        "message": "=Hello, \n\nThanks for your message!\n\nI am currently out of the office, and I will be returning on {{ $json.returnDate }}.\n\nBest, \n[User Name]",
        "options": {
          "appendAttribution": true
        },
        "subject": "Out of Office / Vacation Responder",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "x5LsvRUYpInxYmcG",
          "name": "Rosh's Personal Email"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "2a758f6b-981b-42e8-8b6d-65c28d67d3af",
      "name": "E-Mail in Gmail empfangen",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        80,
        0
      ],
      "parameters": {
        "filters": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "x5LsvRUYpInxYmcG",
          "name": "Rosh's Personal Email"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8b0b39a3-2109-4d3f-adb9-016b3aac1712",
      "name": "Kalender auf bevorstehende Arbeitstermine prüfen",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        360,
        0
      ],
      "parameters": {
        "limit": 1,
        "options": {
          "orderBy": "startTime"
        },
        "timeMax": "={{ $now.plus(1, 'days').format('yyyy-MM-dd') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "d1ba7566bd33c38760d89364501c748a2c0d75f9bdca2b77e1565b7a93fe146a@group.calendar.google.com",
          "cachedResultName": "General Manager"
        },
        "operation": "getAll"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "hpuoiTdX3AdioCk5",
          "name": "Rosh's Personal Calendar Account"
        }
      },
      "executeOnce": true,
      "typeVersion": 1.3,
      "alwaysOutputData": true
    },
    {
      "id": "747f8201-60ce-401d-83da-ab2d8867dbca",
      "name": "Heutige bevorstehende Termine?",
      "type": "n8n-nodes-base.if",
      "position": [
        600,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5b1567fc-439c-4924-9290-0bcbb0be9b06",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.summary }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "26b69ab5-7004-4c1c-b6bd-8d332ed26a34",
      "name": "Notiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -600,
        -380
      ],
      "parameters": {
        "width": 580,
        "height": 580,
        "content": "## What it Does\nAutomatically checks your Google Calendar to determine if you're officially off work for the rest of today. If so, it auto-sends a personalized out‑of‑office reply via Gmail, telling senders when you’ll be back, based on your next calendar event within the next 2 weeks.\n\n## Prerequisites\nTo use this template, you'll need:\n- Gmail credentials (for the trigger and reply nodes)\n- Google Calendar credentials (for both calendar checks)\n- A dedicated work calendar selected in the Calendar nodes\n\n\n## Why It's Useful\nIdeal for freelancers, consultants, or remote workers who don’t follow a strict 9–5, yet want automated responses aligned with their actual availability, not a static setting. It’s dynamic, real-time, and easy to tweak.\n\n## Classification\nUse Case: Calendar-driven out-of-office automation\n\nRecommended audience: Business professionals, freelancers, remote employees\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "74fbf32d-f2a9-4d14-a810-2be2c89160f8",
      "name": "Notiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        -380
      ],
      "parameters": {
        "width": 760,
        "height": 200,
        "content": "\n## User Setup Instructions\n- Gmail Trigger: Connect your Gmail account and add any desired filters (labels, senders).\n- Google Calendar Nodes: Connect your calendar account and select your “work” calendar in both nodes.\n- Function Node: No changes needed unless you prefer a different date format.\n- Gmail Send Node: Edit the message template and toggle attribution as desired."
      },
      "typeVersion": 1
    },
    {
      "id": "32209323-40fd-47a7-9fb0-2d44b19c87ed",
      "name": "Notiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        -160
      ],
      "parameters": {
        "color": 5,
        "height": 360,
        "content": "## Gmail Trigger\n- Monitors incoming emails every minute\n- Can be filtered (e.g., labels or VIP senders)"
      },
      "typeVersion": 1
    },
    {
      "id": "4d571591-139a-41cf-96da-9fb92e27e2a1",
      "name": "Notiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        -160
      ],
      "parameters": {
        "color": 5,
        "width": 500,
        "height": 360,
        "content": "## Calendar Check #1\n- Inspects if any events remain today"
      },
      "typeVersion": 1
    },
    {
      "id": "222fbee1-ea2f-4399-a3ab-7146997d8033",
      "name": "Notiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -160
      ],
      "parameters": {
        "color": 5,
        "height": 360,
        "content": "## Calendar Check #2\n- If no remaining events, scans next 14 days for the next event"
      },
      "typeVersion": 1
    },
    {
      "id": "aae2c7e1-cc62-45cd-9fcc-46b03b6bdd7f",
      "name": "Notiz5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1060,
        -160
      ],
      "parameters": {
        "color": 5,
        "height": 360,
        "content": "## Function Node\n- Formats the return date as Weekday, Month D, YYYY (e.g., “Thursday, July 24, 2025”)"
      },
      "typeVersion": 1
    },
    {
      "id": "62c57e58-5f16-48e7-a532-d8b387a8f045",
      "name": "Notiz6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1320,
        -160
      ],
      "parameters": {
        "color": 5,
        "height": 360,
        "content": "## Gmail Send\n- Sends a customized out‑of‑office email, using the formatted date\n- Optionally includes n8n attribution (editable)"
      },
      "typeVersion": 1
    },
    {
      "id": "90c00754-61da-4326-90a0-ca90e6f6c483",
      "name": "Notiz7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        220
      ],
      "parameters": {
        "width": 760,
        "content": "\n## Customization Options\n- Edit the final email content and tone in the Send node\n- Adjust calendar lookahead in Calendar Check #2 (default is 14 days)\n- Add Gmail filters to restrict auto-replies (e.g. only specific senders or labels)"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "f922f416-5c9e-4053-8612-30d0aa5f92b2": {
      "main": [
        [
          {
            "node": "4585b157-5413-40a6-b661-5836aa1c5717",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2a758f6b-981b-42e8-8b6d-65c28d67d3af": {
      "main": [
        [
          {
            "node": "8b0b39a3-2109-4d3f-adb9-016b3aac1712",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "747f8201-60ce-401d-83da-ab2d8867dbca": {
      "main": [
        [],
        [
          {
            "node": "6f15bcff-5358-4f9a-914d-dfd1e87c6e6f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6f15bcff-5358-4f9a-914d-dfd1e87c6e6f": {
      "main": [
        [
          {
            "node": "f922f416-5c9e-4053-8612-30d0aa5f92b2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8b0b39a3-2109-4d3f-adb9-016b3aac1712": {
      "main": [
        [
          {
            "node": "747f8201-60ce-401d-83da-ab2d8867dbca",
            "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?

Fortgeschritten - Persönliche Produktivität

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
Fortgeschritten
Anzahl der Nodes14
Kategorie1
Node-Typen6
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34