Track demo bookings with Google Calendar to Meta Conversions API integration
Who is this workflow for?
If you're using Meta Ads to generate new leads to your sales pipeline, this workflow is for you! 🙌🏻
What this workflow does
- Triggers every time you have a new calendar event on a chosen Google Acount
- Filter only events with the same name of your "Schedule a demo" event
- Formats and send event to Meta Conversion API
What events can I send?
Any event you'd like! It's preconfigured with the "Schedule" event, but you can change to "Purchase", "InitiateCheckout", "Lead" and custom events.
Setup Guide
- Connect Google OAuth2 to n8n
- Get your PIXEL ID and Access Token from Meta
- Set your configuration node with Pixel ID, Access Token, source_url and event_name
Requirements
- Meta Access Token + Pixel ID (via Meta Conversion API): Documentation
- Google Access (via OAuth2): Documentation
This free template was created by pdf noodle.
Feel free to contact us via the founder Linkedin, if you have any questions! 👋🏻
n8n Workflow: Track Demo Bookings with Google Calendar to Meta Conversions API Integration
This n8n workflow is designed to automate the process of tracking demo bookings made via Google Calendar and sending these events to the Meta Conversions API for enhanced ad campaign optimization. It acts as a bridge, ensuring that every confirmed demo booking directly contributes to your Meta ad performance metrics.
What it does
This workflow simplifies the process of sending Google Calendar events as conversion events to Meta, specifically for demo bookings.
- Monitors Google Calendar for Events: The workflow starts by listening for new or updated events in a specified Google Calendar.
- Filters for "Demo Booked" Events: It then checks if the event's summary (title) contains the phrase "Demo Booked". Only events matching this criterion proceed.
- Prepares Data for Meta Conversions API: For qualifying events, it extracts relevant information such as the event ID, start time, and a unique user identifier (e.g., email hash).
- Generates User Email Hash: It hashes the attendee's email address using SHA256, a requirement for sending PII (Personally Identifiable Information) to Meta Conversions API securely.
- Sends Conversion Event to Meta: Finally, it constructs and sends an HTTP POST request to the Meta Conversions API, reporting a "Schedule" event with the prepared data, including the hashed email, event time, and a unique event ID.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running instance of n8n.
- Google Calendar Account: An active Google Calendar account where demo bookings are scheduled.
- Google Calendar Credential in n8n: OAuth 2.0 credentials configured in n8n to access your Google Calendar.
- Meta Conversions API Access: Access to the Meta Conversions API, including:
- A Facebook Pixel ID (or Meta Pixel ID).
- A Meta Access Token (generated from your Facebook Business Manager).
- Basic understanding of n8n: Familiarity with configuring nodes and credentials.
Setup/Usage
- Import the Workflow:
- Download the provided JSON file.
- In your n8n instance, click "Workflows" in the left sidebar.
- Click "New" and then "Import from JSON".
- Paste the JSON content or upload the file.
- Configure Google Calendar Trigger:
- Locate the "Google Calendar Trigger" node.
- Credentials: Select or create your Google Calendar OAuth2 credentials.
- Calendar ID: Specify the Google Calendar ID you want to monitor for demo bookings.
- Watch Events: Ensure it's set to watch for "New or Updated" events.
- Configure the "If" Node:
- The "If" node is pre-configured to check for "Demo Booked" in the event summary. You can adjust this condition if your booking titles differ (e.g.,
{{ $json.summary.includes("My Demo") }}).
- The "If" node is pre-configured to check for "Demo Booked" in the event summary. You can adjust this condition if your booking titles differ (e.g.,
- Configure the "Edit Fields" Node:
- This node extracts and renames data. Ensure the expressions correctly map to your Google Calendar event data if your event structure varies significantly.
- Configure the "Crypto" Node:
- This node hashes the email address. Ensure the input for hashing correctly points to the attendee's email address from the Google Calendar event data (e.g.,
{{ $json.attendees[0].email }}).
- This node hashes the email address. Ensure the input for hashing correctly points to the attendee's email address from the Google Calendar event data (e.g.,
- Configure the "HTTP Request" Node (Meta Conversions API):
- Method:
POST - URL:
https://graph.facebook.com/v18.0/<YOUR_PIXEL_ID>/events?access_token=<YOUR_ACCESS_TOKEN>- Replace
<YOUR_PIXEL_ID>with your actual Facebook Pixel ID. - Replace
<YOUR_ACCESS_TOKEN>with your Meta Conversions API access token.
- Replace
- Body Parameters:
- Ensure the JSON body correctly maps the hashed email, event time, and event ID to the Meta Conversions API requirements for a "Schedule" event.
- Method:
- Activate the Workflow:
- Once all credentials and configurations are set, click the "Activate" toggle in the top right corner of the n8n editor to start the workflow.
Now, whenever a new or updated event containing "Demo Booked" in its summary is detected in your specified Google Calendar, this workflow will automatically send a "Schedule" conversion event to your Meta Conversions API.
Related Templates
Automated YouTube video uploads with 12h interval scheduling in JST
This workflow automates a batch upload of multiple videos to YouTube, spacing each upload 12 hours apart in Japan Standard Time (UTC+9) and automatically adding them to a playlist. ⚙️ Workflow Logic Manual Trigger — Starts the workflow manually. List Video Files — Uses a shell command to find all .mp4 files under the specified directory (/opt/downloads/单词卡/A1-A2). Sort and Generate Items — Sorts videos by day number (dayXX) extracted from filenames and assigns a sequential order value. Calculate Publish Schedule (+12h Interval) — Computes the next rounded JST hour plus a configurable buffer (default 30 min). Staggers each video’s scheduled time by order × 12 hours. Converts JST back to UTC for YouTube’s publishAt field. Split in Batches (1 per video) — Iterates over each video item. Read Video File — Loads the corresponding video from disk. Upload to YouTube (Scheduled) — Uploads the video privately with the computed publishAtUtc. Add to Playlist — Adds the newly uploaded video to the target playlist. 🕒 Highlights Timezone-safe: Pure UTC ↔ JST conversion avoids double-offset errors. Sequential scheduling: Ensures each upload is 12 hours apart to prevent clustering. Customizable: Change SPANHOURS, BUFFERMIN, or directory paths easily. Retry-ready: Each upload and playlist step has retry logic to handle transient errors. 💡 Typical Use Cases Multi-part educational video series (e.g., A1–A2 English learning). Regular content release cadence without manual scheduling. Automated YouTube publishing pipelines for pre-produced content. --- Author: Zane Category: Automation / YouTube / Scheduler Timezone: JST (UTC+09:00)
Detect holiday conflicts & suggest meeting reschedules with Google Calendar and Slack
Who’s it for Remote and distributed teams that schedule across time zones and want to avoid meetings landing on public holidays—PMs, CS/AM teams, and ops leads who own cross-regional calendars. What it does / How it works The workflow checks next week’s Google Calendar events, compares event dates against public holidays for selected country codes, and produces a single Slack digest with any conflicts plus suggested alternative dates. Core steps: Workflow Configuration (Set) → Fetch Public Holidays (via a public holiday API such as Calendarific/Nager.Date) → Get Next Week Calendar Events (Google Calendar) → Detect Holiday Conflicts (compare dates) → Generate Reschedule Suggestions (find nearest business day that isn’t a holiday/weekend) → Format Slack Digest → Post Slack Digest. How to set up Open Workflow Configuration (Set) and edit: countryCodes, calendarId, slackChannel, nextWeekStart, nextWeekEnd. Connect your own Google Calendar and Slack credentials in n8n (no hardcoded keys). (Optional) Adjust the Trigger to run daily or only on Mondays. Requirements n8n (Cloud or self-hosted) Google Calendar read access to the target calendar Slack app with permission to post to the chosen channel A public-holiday API (no secrets needed for Nager.Date; Calendarific requires an API key) How to customize the workflow Time window: Change nextWeekStart/End to scan a different period. Holiday sources: Add or swap APIs; merge multiple regions. Suggestion logic: Tweak the look-ahead window or rules (e.g., skip Fridays). Output: Post per-calendar messages, DM owners, or create tentative reschedule events automatically.
Automate event RSVPs with email validation & badge generation using VerifiEmail & HTMLCssToImage
Validated RSVP Confirmation with Automated Badge Generation Overview: This comprehensive workflow automates the entire event RSVP process from form submission to attendee confirmation, including real-time email validation and personalized digital badge generation. ✨ KEY FEATURES: • Real-time Email Validation - Verify attendee emails using VerifiEmail API to prevent fake registrations • Automated Badge Generation - Create beautiful, personalized event badges with attendee details • Smart Email Routing - Send confirmation emails with badges for valid emails, rejection notices for invalid ones • Comprehensive Logging - Track all RSVPs (both valid and invalid) in Google Sheets for analytics • Dual Path Logic - Handle valid and invalid submissions differently with conditional branching • Anti-Fraud Protection - Detect disposable emails and invalid domains automatically 🔧 WORKFLOW COMPONENTS: Webhook Trigger - Receives RSVP submissions Email Validation - Verifies email authenticity using VerifiEmail API Conditional Logic - Separates valid from invalid submissions Badge Creator - Generates HTML-based personalized event badges Image Converter - Converts HTML badges to shareable PNG images using HTMLCssToImage Email Sender - Delivers confirmation with badge or rejection notice via Gmail Data Logger - Records all attempts in Google Sheets for tracking and analytics 🎯 PERFECT FOR: • Conference organizers managing hundreds of RSVPs • Corporate event planners requiring verified attendee lists • Webinar hosts preventing fake registrations • Workshop coordinators issuing digital badges • Community event managers tracking attendance 💡 BENEFITS: • Reduces manual verification time by 95% • Eliminates fake email registrations • Creates professional branded badges automatically • Provides real-time RSVP tracking and analytics • Improves attendee experience with instant confirmations • Maintains clean, verified contact lists 🛠️ REQUIRED SERVICES: • n8n (cloud or self-hosted) • VerifiEmail API (https://verifi.email) • HTMLCssToImage API (https://htmlcsstoimg.com) • Gmail account (OAuth2) • Google Sheets 📈 USE CASE SCENARIO: When someone submits your event RSVP form, this workflow instantly validates their email, generates a personalized badge with their details, and emails them a confirmation—all within seconds. Invalid emails receive a helpful rejection notice, and every submission is logged for your records. No manual work required! 🎨 BADGE CUSTOMIZATION: The workflow includes a fully customizable HTML badge template featuring: • Gradient background with modern design • Attendee name, designation, and organization • Event name and date • Email address and validation timestamp • Google Fonts (Poppins) for professional typography 📊 ANALYTICS INCLUDED: Track metrics like: • Total RSVPs received • Valid vs invalid email ratio • Event-wise registration breakdown • Temporal patterns • Organization/company distribution ⚡ PERFORMANCE: • Processing time: ~3-5 seconds per RSVP • Scales to handle 100+ concurrent submissions • Email delivery within 10 seconds • Real-time Google Sheets updates 🔄 EASY SETUP: Import the workflow JSON Configure your credentials (detailed instructions included) Create your form with required fields (name, email, event, designation, organization) Connect the webhook Activate and start receiving validated RSVPs! 🎓 LEARNING VALUE: This workflow demonstrates: • Webhook integration patterns • API authentication methods • Conditional workflow branching • HTML-to-image conversion • Email automation best practices • Data logging strategies • Error handling techniques ---