Skip to main content

🚀 Quickstart

Connect to Google Calendar with Nango and see data flow in 2 minutes.
1

Create an integration

In Nango (free signup), go to Integrations -> Configure New Integration -> Google Calendar.
Nango has credentials you can use for testing. Activate them in the dashboard.
2

Authorize Google Calendar

Go to Connections -> Add Test Connection -> Authorize, then log in to Google Calendar. Later, you’ll let your users do the same directly from your app.
3

Call the Google Calendar API

Let’s make your first request to the Google Calendar API (fetch a list of calendars). Replace the placeholders below with your secret key, integration ID, and connection ID:
curl "https://api.nango.dev/proxy/calendar/v3/users/me/calendarList?maxResults=10" \
  -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
  -H "Provider-Config-Key: <INTEGRATION-ID>" \
  -H "Connection-Id: <CONNECTION-ID>"
Or fetch credentials dynamically via the Node SDK or API.✅ You’re connected! Check the Logs tab in Nango to inspect requests.
4

Implement Nango in your app

Follow our quickstart to integrate Nango in your app.To obtain your own production credentials, follow the setup guide linked below.

📚 Google Calendar Integration Guides

Nango maintained guides for common use cases. Official docs: Google Calendar API documentation

🧩 Pre-built syncs & actions for Google Calendar

Enable them in your dashboard. Extend and customize to fit your needs.

Access Control

Function nameDescriptionTypeSource code
create-acl-ruleCreates an access control rule granting calendar accessAction🔗 Github
delete-acl-ruleDeletes an access control ruleAction🔗 Github
get-acl-ruleReturns an access control rule by rule IDAction🔗 Github
list-acl-rulesReturns the rules in the access control list for a calendarAction🔗 Github
update-acl-ruleUpdates an access control ruleAction🔗 Github

Attendees

Function nameDescriptionTypeSource code
add-attendeeAdds an attendee to an existing calendar eventAction🔗 Github
remove-attendeeRemoves an attendee from an existing calendar eventAction🔗 Github
update-attendee-responseUpdates an attendee’s response status for an eventAction🔗 Github

Calendars

Function nameDescriptionTypeSource code
clear-calendarClears a primary calendar by deleting all eventsAction🔗 Github
create-calendarCreates a new secondary calendar with the specified titleAction🔗 Github
delete-calendarDeletes a secondary calendarAction🔗 Github
get-calendar-list-entryReturns a calendar from the user’s calendar listAction🔗 Github
get-calendarReturns metadata for a calendar by calendar IDAction🔗 Github
insert-calendar-to-listInserts an existing calendar into the user’s calendar listAction🔗 Github
list-calendarsReturns all calendars on the user’s calendar listAction🔗 Github
remove-calendar-from-listRemoves a calendar from the user’s calendar listAction🔗 Github
update-calendar-list-entryUpdates an existing calendar on the user’s calendar listAction🔗 Github
update-calendarUpdates metadata for a calendarAction🔗 Github
calendarsSync the calendars list of the userSync🔗 Github

Events

Function nameDescriptionTypeSource code
create-all-day-eventCreates an all-day event on a calendarAction🔗 Github
create-eventCreates a new event on a calendarAction🔗 Github
create-recurring-eventCreates a recurring event with RRULE specificationAction🔗 Github
delete-eventDeletes an event from a calendarAction🔗 Github
get-event-instancesReturns instances of a recurring eventAction🔗 Github
get-eventReturns an event based on its calendar and event IDAction🔗 Github
import-eventImports an event as a private copy using iCalendar UIDAction🔗 Github
list-eventsReturns events on a specified calendar with optional filteringAction🔗 Github
list-upcoming-eventsReturns upcoming events starting from nowAction🔗 Github
move-eventMoves an event to another calendar changing its organizerAction🔗 Github
patch-eventPartially updates an event with only provided fieldsAction🔗 Github
quick-add-eventCreates an event based on a simple text string like a natural language inputAction🔗 Github
search-eventsSearches for events matching a text query across calendarsAction🔗 Github
update-eventUpdates an existing event on a calendarAction🔗 Github
eventsSync calendar events on the primary calendar going back one month and save the entire object as specified by the Google APISync🔗 Github

Scheduling

Function nameDescriptionTypeSource code
find-free-slotsFinds available time slots across calendars within a time rangeAction🔗 Github
query-free-busyReturns free/busy information for a set of calendarsAction🔗 Github

Settings

Function nameDescriptionTypeSource code
get-colorsReturns the color definitions for calendars and eventsAction🔗 Github
get-settingReturns a single user setting by setting IDAction🔗 Github
list-settingsReturns all user settings for the authenticated userAction🔗 Github

Users

Function nameDescriptionTypeSource code
settingsFetch all user settings from Google CalendarAction🔗 Github
whoamidescription: Fetch current user informationAction🔗 Github