Blink Google Calendar
Access the user's Google Calendar via the Blink connector.
Step 1: Find the correct provider key
ALWAYS run this first — the key varies per account:
blink connector status
Look for google_calendar or composio_calendar in the output. Use whichever appears. Examples below use CALENDAR as a placeholder — replace it with the actual key from status output.
Endpoints
All endpoints are relative to the Google Calendar API v3 base URL. Do NOT include a leading /.
List calendars
blink connector exec CALENDAR users/me/calendarList GET
Get upcoming events (primary calendar)
blink connector exec CALENDAR calendars/primary/events GET \
'{"timeMin": "2026-04-17T00:00:00Z", "timeMax": "2026-04-18T00:00:00Z", "singleEvents": "true", "orderBy": "startTime", "maxResults": "20"}'
Search for events
blink connector exec CALENDAR calendars/primary/events GET \
'{"q": "standup", "timeMin": "2026-04-01T00:00:00Z", "maxResults": "10"}'
Get a specific event
blink connector exec CALENDAR calendars/primary/events/EVENT_ID GET
Create an event
blink connector exec CALENDAR calendars/primary/events POST '{
"summary": "Team Standup",
"start": {"dateTime": "2026-04-18T10:00:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-04-18T10:30:00", "timeZone": "America/New_York"},
"attendees": [{"email": "colleague@example.com"}],
"description": "Daily standup meeting"
}'
Update an event
blink connector exec CALENDAR calendars/primary/events/EVENT_ID PATCH '{
"summary": "Updated Meeting Title",
"description": "Updated description"
}'
Delete an event
blink connector exec CALENDAR calendars/primary/events/EVENT_ID DELETE '{}'
Find free/busy time
blink connector exec CALENDAR freeBusy POST '{
"timeMin": "2026-04-18T09:00:00Z",
"timeMax": "2026-04-18T17:00:00Z",
"items": [{"id": "primary"}]
}'
Important notes
- All query parameter values must be strings in the JSON params — use
"true"nottrue,"20"not20. - No leading
/on endpoints — usecalendars/primary/events, not/calendars/primary/events. singleEventsmust be"true"(string) when usingorderBy: "startTime".- Use ISO 8601 format for dates:
2026-04-17T00:00:00Z.
Common use cases
- "What's on my calendar tomorrow?" → list events with tomorrow's date range
- "Book a 30-min meeting with X at 2pm Friday" → create event with attendee
- "Cancel my 3pm meeting today" → find event then delete
- "Move my standup to 9:30am" → find event then patch start/end time
- "When am I free on Thursday?" → use freeBusy query
- "What meetings do I have this week?" → list events for the week