🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Cal.com to Beehiiv, subscribers logged in Sheets

Lisa Granqvist Partner Workflow Automation Expert

You get a new Cal.com booking, you’re happy… and then the admin starts. Copy the attendee email, paste it into your newsletter tool, update your spreadsheet, then remind yourself to follow up later.

This Cal.com Beehiiv automation hits solo consultants first because you’re the “ops team.” But marketing managers building a list from calls, and agency owners juggling multiple client pipelines feel the same drag. The outcome is simple: every booking becomes a Beehiiv subscriber, a clean Google Sheets row, and a Telegram ping so nothing slips.

Below you’ll see exactly what the workflow does, what you need to run it, and the practical tweaks that make it fit your process.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Cal.com to Beehiiv, subscribers logged in Sheets

The Problem: Bookings Create Busywork (and Missed Follow Ups)

Cal.com does its job. It gets meetings on the calendar. The problem starts right after the booking confirmation, when you need that attendee info to land in three different places that don’t talk to each other. So you do it manually. You tell yourself you’ll “add them to the newsletter later,” then later turns into next week, and the warm lead cools off. Even worse, your spreadsheet becomes a half-updated mess where you can’t trust what’s current, which makes reporting and follow ups feel oddly stressful.

It adds up fast. Here’s where the process usually breaks down.

  • You end up copying emails from booking notifications and pasting them into Beehiiv one-by-one.
  • Sheets gets updated “when you have a minute,” which means your log is always behind reality.
  • Some attendees never get a follow-up because the booking lived in Cal.com, not in your day-to-day system.
  • Small formatting mistakes (name fields, duplicates, wrong meeting type) quietly ruin segmentation later.

The Solution: Turn Every Booking Into a Subscriber + Log + Alert

This workflow connects Cal.com to the tools you already rely on after the meeting gets booked. When a new Cal.com booking comes in, n8n grabs the attendee details, separates participants if there are multiple guests, and maps the fields into a consistent structure. Then it appends a new row in Google Sheets, so you always have a clean running log of who booked, when, and how to reach them. After that, it creates (or attempts to create) a Beehiiv subscriber using an HTTP request with your Beehiiv API key. Finally, it sends you a Telegram message so you see the new booking immediately without living in your inbox.

The workflow starts with a Cal.com webhook trigger. From there, it standardizes the attendee data and writes it to Google Sheets. Once the log is saved, it pushes the same person into Beehiiv and pings your Telegram channel with the booking details.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you book 15 intro calls in a week. Manually, adding each attendee to Beehiiv (about 5 minutes) plus updating a Google Sheet (another 5 minutes) is roughly 10 minutes per booking, or about 2.5 hours weekly. With this workflow, the “work” is basically just the booking itself, then you wait a minute for the automation to run and check the Telegram ping. You get those 2+ hours back, and the log is done without you touching it.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Cal.com to send new booking webhooks
  • Google Sheets to store a booking/subscriber log
  • Beehiiv API key + publication ID (get them from Beehiiv settings/API)
  • Telegram bot token + chat ID (from BotFather and your channel info)

Skill level: Beginner. You’ll mostly be connecting accounts and pasting a few keys and IDs into the right fields.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

New booking comes in. Cal.com fires a webhook when someone schedules, which triggers the workflow instantly.

Attendees get separated and cleaned up. If a booking includes multiple participants, the workflow splits them out and then maps names, emails, and booking context into the same fields every time.

The log is written first. n8n appends the attendee details into your chosen Google Sheet so you’ve got a durable record even if an API call later fails.

Beehiiv subscription and Telegram alert happen next. The workflow calls Beehiiv via HTTP request to add the subscriber, then posts a message in Telegram with the key details so you can act quickly.

You can easily modify the fields you store in Sheets to match your reporting needs, or change the Telegram message to include meeting type, source, or any tags you care about. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the New Booking Trigger

This workflow starts when a new meeting is booked in Cal.com.

  1. Add the New Booking Trigger node and set it to listen for events with BOOKING_CREATED.
  2. Credential Required: Connect your calApi credentials in New Booking Trigger.
  3. Confirm the trigger connects to Separate Participants to split attendees after a booking arrives.

Step 2: Set Up Participant Processing

This step prepares attendee data and configuration values used throughout the workflow.

  1. In Separate Participants, set Field to Split Out to attendees.
  2. In Prepare Config, set the assigned values: chatID to [YOUR_ID], beehiivAPI to [CONFIGURE_YOUR_API_KEY], and publicationId to [YOUR_ID].
  3. In Map Attendee Fields, map attendee fields with expressions: name to {{ $json.name }}, email to {{ $json.email }}, and timeZone to {{ $json.timeZone }}.
  4. Confirm execution flow: Separate ParticipantsPrepare ConfigMap Attendee Fields.

⚠️ Common Pitfall: Replace the placeholder values in Prepare Config before testing, or downstream API calls will fail.

Step 3: Connect Google Sheets

This step writes each attendee record to a spreadsheet.

  1. Add the Append Sheet Rows node and set Operation to append.
  2. Select your Document and set Sheet to Sheet1 (gid 0).
  3. Map columns with expressions: title to {{ $('New Booking Trigger').item.json.eventTitle }}, length to {{ $('New Booking Trigger').item.json.length }}, timeZone to {{ $json.timeZone }}, createdAt to {{ $('New Booking Trigger').item.json.createdAt }}, attendeeName to {{ $json.name }}, meetingStart to {{ $('New Booking Trigger').item.json.startTime }}, and attendeeEmail to {{ $json.email }}.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials in Append Sheet Rows.

Tip: Make sure the spreadsheet columns match the schema names (e.g., attendeeEmail, meetingStart) to avoid mismatches.

Step 4: Configure Output Actions

After sheet insertion, the workflow subscribes attendees to Beehiiv and notifies a Telegram channel.

  1. In Create Newsletter Subscriber, set URL to =https://api.beehiiv.com/v2/publications/{{ $('Prepare Config').item.json.publicationId }}/subscriptions and Method to POST.
  2. Enable Send Body and set the body parameter email to {{ $('Separate Participants').item.json.email }}.
  3. Enable Send Headers and set Authorization to =Bearer {{ $('Prepare Config').item.json.beehiivAPI }}.
  4. In Telegram Channel Alert, set Chat ID to {{ $('Prepare Config').item.json.chatID }} and Text to the provided template starting with 📅 New meeting booked.
  5. Credential Required: Connect your telegramApi credentials in Telegram Channel Alert.
  6. Confirm execution flow: Append Sheet RowsCreate Newsletter SubscriberTelegram Channel Alert.

Step 5: Test and Activate Your Workflow

Run a manual test to confirm each step completes successfully before enabling production execution.

  1. Click Execute Workflow and create a test booking in Cal.com.
  2. Verify that Append Sheet Rows writes a new row with attendee details and booking metadata.
  3. Confirm Create Newsletter Subscriber returns a successful response from Beehiiv.
  4. Check that Telegram Channel Alert posts the formatted message to your channel.
  5. When results look correct, switch the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Cal.com webhooks can be pointed at the wrong URL or environment. If nothing triggers, check the webhook configuration in Cal.com first and confirm it’s hitting your n8n production URL.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Beehiiv API calls can fail because of a wrong publication ID or missing scopes. Double-check the API key in n8n, then confirm the publication ID matches the newsletter you want people subscribed to.

Frequently Asked Questions

How long does it take to set up this Cal.com Beehiiv automation?

About 30 minutes if you already have the accounts and keys.

Do I need coding skills to automate Cal.com Beehiiv automation?

No. You’ll paste API keys, pick your Google Sheet, and test a booking webhook once.

Is n8n free to use for this Cal.com Beehiiv automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Beehiiv API usage (usually minimal for simple subscriber creation).

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this Cal.com Beehiiv automation workflow for only specific meeting types?

Yes, but you’ll want to add an If condition after the Cal.com trigger (or right after the participant split) to check the event type or booking metadata. Then only the “true” branch should run the Google Sheets append and the Beehiiv HTTP request. Common tweaks include subscribing only “Discovery Call” attendees, tagging different call types in Sheets, or sending Telegram alerts only for high-intent bookings.

Why is my Google Sheets connection failing in this workflow?

Usually it’s a Google permission issue on the spreadsheet or an expired OAuth connection inside n8n. Open the Google Sheets credential in n8n, reconnect it, and confirm the account can edit the target Sheet. Also verify you selected the correct spreadsheet and tab, because a renamed tab can look “fine” but break the append step.

How many bookings can this Cal.com Beehiiv automation handle?

A lot more than most small teams will throw at it.

Is this Cal.com Beehiiv automation better than using Zapier or Make?

Often, yes, especially if you want full control over edge cases. n8n makes it easier to handle multiple participants, branching logic, and “write to Sheets first, then subscribe” sequencing without paying extra for every path. It’s also nice that you can self-host, which keeps costs predictable when volume grows. Zapier or Make can still be a good fit for very simple, two-step versions of this. If you’re unsure, Talk to an automation expert and describe your exact flow.

Set it up once, and new bookings stop creating little admin fires. The workflow handles the repetitive handoffs so your follow-up stays sharp.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal