AutomationFlowsEmail & Gmail › Schedule Demo with Gmail and Google Calendar

Schedule Demo with Gmail and Google Calendar

Original n8n title: Frostrek Schedule Demo (fixed)

Frostrek Schedule Demo (Fixed). Uses gmail, googleCalendar. Webhook trigger; 4 nodes.

Webhook trigger★★☆☆☆ complexity4 nodesGmailGoogle Calendar
Email & Gmail Trigger: Webhook Nodes: 4 Complexity: ★★☆☆☆ Added:

This workflow follows the Gmail → Google Calendar recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Frostrek Schedule Demo (Fixed)",
  "nodes": [
    {
      "parameters": {
        "sendTo": "={{ $('Webhook1').item.json.body.email }}",
        "subject": "\u2705 Demo Scheduled \u2013 Google Meet Link Inside",
        "message": "=<h3>Hi{{ $('Webhook1').item.json.body.name }} ,</h3>\n<p>Your demo has been successfully scheduled.</p>\n<p>\n  <b>\ud83d\uddd3 Date:</b>{{ $('Webhook1').item.json.body.date }} <br>\n  <b>\u23f0 Time:</b> {{ $('Webhook1').item.json.body.time }}\n</p>\n<p>\n  <b>\ud83d\udd17 <a href=\"{{ $json.hangoutLink }}\">Click here to join the Google Meet</a></b>\n</p>\n<p>Looking forward to speaking with you!</p>\n<p>\u2013 Team Frostrek</p>",
        "options": {}
      },
      "name": "Gmail - Client",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2,
      "position": [
        400,
        32
      ],
      "id": "332be9b7-658c-4756-a023-b12a2436f219",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sendTo": "contact@frostrek.com",
        "subject": "\ud83d\udce2 New Demo Scheduled",
        "message": "=A new demo has been scheduled.\n\nName: {{ $('Webhook1').item.json.body.name }}\nEmail: {{ $('Webhook1').item.json.body.email }}\nDate: {{ $('Webhook1').item.json.body.date }}\nTime: {{ $('Webhook1').item.json.body.time }}\n\nMeet Link:\n{{$node[\"Google Calendar1\"].json[\"conferenceData\"][\"entryPoints\"][0][\"uri\"]}}",
        "options": {}
      },
      "name": "Gmail - Internal Notify",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2,
      "position": [
        400,
        240
      ],
      "id": "dbeffa20-4105-429f-878b-29a6dc41491c",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "schedule-demo",
        "options": {}
      },
      "name": "Webhook1",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        -96,
        112
      ],
      "id": "65721682-c500-42c4-8ffe-cc2d1e41397c"
    },
    {
      "parameters": {
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "primary"
        },
        "start": "={{$json.body.date}}T{{$json.body.time}}",
        "end": "={{$json.body.date}}T{{$json.body.endTime}}",
        "additionalFields": {
          "attendees": [
            "={{ $json.body.email }}, contact@frostrek.com"
          ],
          "conferenceDataUi": {
            "conferenceDataValues": {
              "conferenceSolution": "hangoutsMeet"
            }
          },
          "description": "=Demo meeting with {{ $json.body.name }}|Client Email:{{ $json.body.email }} Notes: {{ $json.body.notes }}",
          "summary": "=Frostrek Demo \u2013 {{ $json.body.name }}"
        }
      },
      "name": "Google Calendar1",
      "type": "n8n-nodes-base.googleCalendar",
      "typeVersion": 1,
      "position": [
        160,
        112
      ],
      "id": "379c0190-814f-4987-9933-e502cebbcfeb",
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Webhook1": {
      "main": [
        [
          {
            "node": "Google Calendar1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Calendar1": {
      "main": [
        [
          {
            "node": "Gmail - Client",
            "type": "main",
            "index": 0
          },
          {
            "node": "Gmail - Internal Notify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "availableInMCP": false,
    "timeSavedMode": "fixed",
    "callerPolicy": "workflowsFromSameOwner",
    "executionTimeout": -1
  },
  "versionId": "2472fc2b-cd97-4b14-92d5-73b52d8cc805",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "cC90Ea4YIRDO4nAILvxat",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Frostrek Schedule Demo (Fixed). Uses gmail, googleCalendar. Webhook trigger; 4 nodes.

Source: https://github.com/dhruvsharmadrsh/Frostrek_Web/blob/cb7c37615811ac8fb891862ed734926ee8977106/workflows/schedule_demo.json — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

Complete Calendly automation that handles confirmations, cancellations and reschedules in a single workflow. WHAT IT DOES:

Google Sheets, Google Calendar, Slack +1
Email & Gmail

Automate legal appointment booking end-to-end. Clients request a slot via webhook, Google Calendar checks availability, Stripe collects payment, and a confirmed calendar event is created automatically

Google Calendar, Gmail, HTTP Request +2
Email & Gmail

Automate your GoHighLevel (GHL) client onboarding process from the moment a deal is marked as “Won.” This workflow seamlessly generates client folders in Google Drive, duplicates contract and kickoff

Google Drive, Slack, Gmail +2
Email & Gmail

Tg Leaves Webhook. Uses notion, googleCalendar, gmail. Webhook trigger; 21 nodes.

Notion, Google Calendar, Gmail
Email & Gmail

Automate clinic appointment booking end to end. Patients submit a request via webhook, the workflow generates a unique Booking ID, routes online consultations to Google Meet and offline ones to the cl

Google Calendar, Gmail, Twilio