Skip to content
MoveWorkflows

Pipedream Google Calendar steps in n8n

Updated 2026-10-21 · 3 min read · n8n: Google Calendar (Native n8n node)

Google Calendar steps in Pipedream book things and watch things: a form creates an event, a new booking posts to Slack, an upcoming meeting triggers a reminder. n8n has a native Google Calendar node and a Google Calendar Trigger; the converter rebuilds the two most used actions automatically.

The n8n side

Google Calendar node (n8n-nodes-base.googleCalendar):

  • Calendar: Availability
  • Event: Create, Delete, Get, Get Many, Update

Google Calendar Trigger: Event Created, Event Updated, Event Cancelled, Event Started, Event Ended.

What maps where

Pipedream (app google_calendar) In n8n Status
Create Event HTTP Request POST calendars/{id}/events (summary, location, description, start/end, attendees, sendUpdates) automatic
List Events HTTP Request GET calendars/{id}/events (timeMin, timeMax, q, maxResults, orderBy, singleEvents, …) automatic
Add Quick Event HTTP Request events/quickAdd manual
Add Attendees To Event, Update Event Event → Update manual
Delete an Event Event → Delete manual
New Created or Updated Event (Instant) Google Calendar Trigger, Event Created / Event Updated manual
New Cancelled Event, New Ended Event Trigger, Event Cancelled / Event Ended manual
New Event Matching a Search, New Upcoming Event Alert Schedule Trigger + Event → Get Many with q or a time window manual

The converted Create Event step decides per value whether it is a date (2026-11-03 → all-day) or a date-time (timed event with the time zone from the step, UTC if none). That mirrors how Pipedream's action behaved, so the same inputs produce the same events.

Credentials

Create a Google Calendar OAuth2 credential:

  1. In Google Cloud, enable the Google Calendar API.
  2. Create an OAuth client, add n8n's redirect URL, connect with the account that owns or has write access to the calendar.
  3. On n8n Cloud the managed Google sign-in is available.

A Service Account is not supported for the Google Calendar node. If your Pipedream workflow used a shared calendar, the OAuth user needs access to that calendar.

Typical migration: booking form to calendar and Slack

Pipedream: HTTP trigger → Create Event (with attendee) → Slack message. n8n after conversion: Webhook → Code (trigger) → HTTP Request (Calendar create, sendUpdates=all) → HTTP Request (Slack). Two credentials, one webhook URL change.

Pitfalls

  • Time zones. If the incoming date-time has no offset and the step had no time zone, the event is created in UTC. Set timeZone explicitly.
  • Recurring events. List Events returns recurring series as one item unless singleEvents=true. Keep the flag the Pipedream step used.
  • Pagination. List Events returns pages; with many events set maxResults and handle nextPageToken in the HTTP Request pagination options.
  • Push channels. Pipedream's instant source used Calendar push notifications, which never renew on their own and carry no event body. n8n's trigger avoids that setup.
  • 7-day tokens for External Google Cloud apps in Testing status: publish the app.

How to move your Google Calendar workflows

  1. Export the workflows from Pipedream.
  2. Upload on /convert; the free report shows which calendar steps are automatic.
  3. Download the n8n JSON: 1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon.

More in the Pipedream to n8n guide; the code step checker handles googleapis calendar code. Related: Gmail, Microsoft Outlook, Slack.

FAQ

Which Google Calendar actions convert automatically?
Create Event and List Events. They become HTTP Request nodes against the Calendar API with your n8n Google Calendar credential; all-day and timed events are handled.
Is there a Google Calendar trigger in n8n?
Yes, the Google Calendar Trigger with Event Created, Event Updated, Event Cancelled, Event Started and Event Ended.
Can I use a service account?
Not with n8n's Google Calendar node. n8n's Google credential docs list Calendar among the services without Service Account support; use OAuth2.
How do I replace New Upcoming Event Alert?
Use a Schedule Trigger every few minutes plus Event → Get Many with a window from now to now + 15 minutes, and skip event IDs you already alerted on. Event Started fires only at the start time.

Related

Sources