---
title: "Handle Google Calendar push notifications"
method: POST
path: "/api/webhooks/google-calendar"
tags: ["Webhooks"]
---

# Handle Google Calendar push notifications

`POST /api/webhooks/google-calendar`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/webhooks/google-calendar`
- Auth: none declared

Receives push notifications from Google Calendar when watched events change.
Used for RSVP tracking - when attendees accept/decline invites, Google sends
a notification here, and we fetch updated attendee responses.

Note: Google sends headers, not body data. The headers include:
- X-Goog-Channel-ID: Your channel ID
- X-Goog-Resource-ID: Google's resource ID
- X-Goog-Resource-State: "sync" (initial), "exists" (change), or "not_exists" (deleted)
- X-Goog-Channel-Token: Your verification token (if set)

## Response `200`

Webhook processed successfully

## Other responses

- `401`: Invalid webhook token

---

[API](https://skmtc.dev/withmedley/apis/medley-api.md) - [All operations](https://skmtc.dev/withmedley/apis/medley-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withmedley/apis/medley-api/revisions/40aaac5ca6bd?raw)
