Skip to main content

Pre-Built Tooling

CategoryDetails
AuthenticationOAuth 2.0 (Authorization Code with refresh tokens)
Two-Way SyncYes
Events SupportedNo
RealtimePolling
Supports Rate LimitingYes (Google API quotas & 429 handling)
Authentication Scopes Supportedhttps://www.googleapis.com/auth/calendar (read-write access), https://www.googleapis.com/auth/calendar.readonly, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile

Objects Supported

Alloy Automation supports syncing the following objects from Google Calendar:
  • Calendar List (user’s calendars)
  • Calendars (metadata)
  • Events
  • Attendees
  • Reminders
  • Conference Data (Meet, Zoom, etc.)

Set Up Guide

Trial Access

QuestionAnswer
Offers free trial?Yes. Create a free Google account at https://accounts.google.com/signup and set up a Google Cloud project at https://console.cloud.google.com.
Requires paid sandboxNo paid sandbox required.
Requires partnership to obtain authentication?No. However, Google App Verification may be required in production for sensitive scopes, which can add review time.

Authentication (OAuth 2.0)

For customers who want to completely whitelabel their OAuth experience, you can provide your own developer keys instead of using Alloy Automation’s.

Create your OAuth app (Google Cloud Console)

  1. Go to Google Cloud Console (https://console.cloud.google.com) → APIs & ServicesCredentials.
  2. Create an OAuth client ID (application type: Web application).
  3. Add the redirect URI: https://api.runalloy.com/api/strategy/connector/googleCalendar/callback
  4. Enable the Google Calendar API for your project (APIs & Services → Library).
  5. Configure the scopes you intend to request:
    • https://www.googleapis.com/auth/calendar (full read-write access)
    • https://www.googleapis.com/auth/calendar.readonly (read-only access)
    • https://www.googleapis.com/auth/userinfo.email
    • https://www.googleapis.com/auth/userinfo.profile
  6. Copy your Client ID and Client Secret into Alloy Automation.
  • Set up the OAuth consent screen with your app details and domain.
  • For production use or external users, complete Google app verification (may require demo video, privacy policy, and domain ownership).

Use Cases

1) Automated meeting scheduling and calendar sync

Synchronize calendar availability across multiple platforms, automatically create meetings based on booking forms or CRM activities, and ensure conflicts are prevented across integrated systems.

2) Event-driven workflow automation

Trigger workflows when calendar events are created, updated, or deleted—such as sending reminders, preparing meeting materials, updating project management tools, or notifying team members.

3) Resource and conference room booking

Manage shared resources like conference rooms, equipment, or vehicles by syncing availability with Google Calendar, automatically blocking time slots and handling booking conflicts.

4) Customer appointment management

Build appointment booking systems that sync with Google Calendar, send automated confirmations and reminders, handle rescheduling, and manage multi-timezone scheduling for global customers.

5) Time tracking and productivity analytics

Extract calendar event data for time tracking, productivity analysis, and utilization reporting by analyzing meeting patterns, focus time, and cross-functional collaboration metrics.

API Gotchas

  • ⚠️ Calendar ID format: The primary calendar uses the special ID primary, but secondary calendars use email-like IDs (e.g., calendar-id@group.calendar.google.com). Always use the calendarList endpoint to discover available calendars and their IDs.
  • ⚠️ Timezone handling: Events can have different timezones for start and end times. Always specify the timeZone field when creating events, and be careful when converting to/from UTC. All-day events use the date field instead of dateTime.
  • ⚠️ Recurring events complexity: Recurring events have a parent event (with recurrence rules in RRULE format) and individual instances. Modifying a single occurrence creates an exception. Use the recurringEventId field to identify instances.
  • ⚠️ Attendee response status: When creating events with attendees, the creator is automatically added as an organizer. Attendee response statuses (needsAction, accepted, declined, tentative) are managed by Google and may not update immediately.
  • ⚠️ Conference data creation: To add Google Meet or other conference solutions, you must send a conferenceDataVersion parameter and specify the conferenceSolution type. Not all calendar types support conference data.
  • ⚠️ Incremental sync with syncToken: For efficient syncing, use the sync token pattern: after the first full sync, store the syncToken and use it in subsequent requests to only fetch changes. Tokens expire after a period of time.
For questions or troubleshooting, contact support@runalloy.com.
I