Pre-Built Tooling
Category | Details |
---|---|
Authentication | OAuth 2.0 (Authorization Code with refresh tokens) |
Two-Way Sync | Yes |
Events Supported | No |
Realtime | Polling |
Supports Rate Limiting | Yes (Google API quotas & 429 handling) |
Authentication Scopes Supported | https://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
Question | Answer |
---|---|
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 sandbox | No 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)
- Go to Google Cloud Console (https://console.cloud.google.com) → APIs & Services → Credentials.
- Create an OAuth client ID (application type: Web application).
- Add the redirect URI: https://api.runalloy.com/api/strategy/connector/googleCalendar/callback
- Enable the Google Calendar API for your project (APIs & Services → Library).
- 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
- Copy your Client ID and Client Secret into Alloy Automation.
Consent screen & verification
- 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 thecalendarList
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 thedate
field instead ofdateTime
. -
⚠️ 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 therecurringEventId
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 theconferenceSolution
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.