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:
- In Google Cloud, enable the Google Calendar API.
- Create an OAuth client, add n8n's redirect URL, connect with the account that owns or has write access to the calendar.
- 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
timeZoneexplicitly. - 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
maxResultsand handlenextPageTokenin 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
- Export the workflows from Pipedream.
- Upload on /convert; the free report shows which calendar steps are automatic.
- 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
- https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/
- https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.googlecalendartrigger/
- https://docs.n8n.io/integrations/builtin/credentials/google/
- https://pipedream.com/apps/google-calendar
- https://developers.google.com/workspace/calendar/api/guides/push