Workflows
Blocks
Integrations
Google Calendar

Google Calendar Action Block

What it does: Create, update, and manage calendar events in Google Calendar automatically through your workflows.

📅

In simple terms: Add meetings, reminders, and events to Google Calendar without manual entry.

When to Use This

Use the Google Calendar action when you need to:

  • ✅ Schedule meetings automatically when appointments are booked
  • ✅ Create reminders for follow-ups
  • ✅ Block calendar time for tasks
  • ✅ Send meeting invites to participants
  • ✅ Update existing calendar events

Example: When a customer books a consultation, automatically create a Google Calendar event with meeting details and send invites.

Features

  • OAuth Authentication: Secure connection to your Google Calendar
  • Event Creation: Create new calendar events
  • Event Updates: Modify existing events
  • Event Deletion: Remove calendar events
  • Multiple Calendars: Work with different calendars
  • Attendees: Invite participants automatically
  • Reminders: Set email and popup reminders
  • Time Zones: Handle different time zones
  • Recurring Events: Create repeating events
  • Variable Support: Use workflow data in events

Setup

1. Connect Your Google Account

  1. Click Connect Google Calendar
  2. Sign in with your Google account
  3. Grant calendar permissions
  4. Select the calendar to use

2. Choose Action Type

Select what you want to do:

  • Create Event: Add a new calendar event
  • Update Event: Modify an existing event
  • Delete Event: Remove an event
  • Get Event: Retrieve event details

Creating Calendar Events

Basic Event Settings

Calendar: Select which calendar to use

Primary
Work Calendar
Team Events

Event Title: Name of the event (supports variables)

Meeting with {{client.name}}
{{event.type}}: {{event.title}}

Description: Event details (supports HTML)

Discussion topics:
1. {{topic1}}
2. {{topic2}}

Meeting link: {{meeting.url}}

Start Time: When the event begins

{{booking.startTime}}
2024-12-15T10:00:00

End Time: When the event ends

{{booking.endTime}}
2024-12-15T11:00:00

Time Zone: Event time zone

America/New_York
Europe/London
Asia/Tokyo
⚠️

Ensure date-time values are in ISO 8601 format: YYYY-MM-DDTHH:mm:ss

Advanced Settings

Location: Where the event takes place

Conference Room A
{{office.address}}
https://zoom.us/j/{{meeting.id}}

Color: Event color (1-11)

1 = Lavender
2 = Sage
3 = Grape
4 = Flamingo
5 = Banana
6 = Tangerine
7 = Peacock
8 = Graphite
9 = Blueberry
10 = Basil
11 = Tomato

All Day Event: Toggle for all-day events

true/false

Adding Attendees

Email Addresses: Invite participants

{{client.email}}
team@company.com
manager@company.com

Send Invitations: Notify attendees

true = Send email invitations
false = Don't send notifications

Optional Attendees: Mark attendees as optional

consultant@company.com (optional)

Setting Reminders

Email Reminders: Send email before event

30 minutes before
1 day before

Popup Reminders: Show popup notification

15 minutes before
1 hour before

Multiple Reminders: Add several reminders

Email: 1 day before
Email: 1 hour before
Popup: 15 minutes before

Recurring Events

Create events that repeat automatically:

Recurrence Rule: Use RRULE format

RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR
RRULE:FREQ=DAILY;INTERVAL=2
RRULE:FREQ=MONTHLY;BYMONTHDAY=1

Common Patterns:

  • Daily: FREQ=DAILY
  • Every weekday: FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
  • Weekly on Monday: FREQ=WEEKLY;BYDAY=MO
  • Monthly on 15th: FREQ=MONTHLY;BYMONTHDAY=15
  • Every 2 weeks: FREQ=WEEKLY;INTERVAL=2

Updating Events

To update an existing event:

  1. Set action to Update Event
  2. Provide Event ID (from creation or retrieval)
  3. Specify fields to update
  4. Choose whether to notify attendees

Event ID:

{{calendar.eventId}}
abc123xyz456

Send Updates:

all = Notify all attendees
externalOnly = Only external attendees
none = Don't send notifications

Response Mapping

Map the calendar action result to variables:

Available Values:

  • Event ID: Unique identifier for the event
  • HTML Link: Link to view event in Google Calendar
  • Created Time: When event was created
  • Updated Time: Last modification time
  • Status: Event status (confirmed, tentative, cancelled)
  • Hangout Link: Google Meet link if created

Example Mapping:

Event ID → {{calendar.eventId}}
HTML Link → {{calendar.viewLink}}
Hangout Link → {{calendar.meetLink}}

Common Use Cases

1. Appointment Booking

Trigger: Booking form submitted Google Calendar: Create appointment

Title: Consultation - {{client.name}}
Start: {{booking.dateTime}}
End: {{booking.endTime}}
Attendees: {{client.email}}, consultant@company.com
Reminder: Email 1 day before, Popup 15 min before

2. Team Meeting Scheduler

Trigger: Manual or scheduled Google Calendar: Create recurring team meeting

Title: Weekly Team Sync
Start: Every Monday 10:00 AM
Duration: 1 hour
Attendees: team@company.com
Recurrence: FREQ=WEEKLY;BYDAY=MO

3. Event Registration

Trigger: User registers for event Google Calendar: Add to calendar

Title: {{event.name}}
Description: {{event.details}}
Start: {{event.startDate}}
Location: {{event.venue}}
Attendees: {{user.email}}
Color: 3 (Grape)

4. Task Deadline Reminder

Trigger: Task assigned Google Calendar: Create deadline event

Title: DEADLINE: {{task.name}}
Start: {{task.dueDate}}
All Day: true
Reminder: Email 3 days before, Email 1 day before
Color: 4 (Flamingo - for urgency)

5. Interview Scheduling

Trigger: Candidate selected Google Calendar: Schedule interview

Title: Interview - {{candidate.name}} - {{position}}
Description: Resume: {{candidate.resumeLink}}
Start: {{interview.scheduledTime}}
Duration: 1 hour
Location: {{meeting.zoomLink}}
Attendees: {{interviewer.email}}, {{candidate.email}}, hr@company.com

Best Practices

Scheduling

  • ✅ Always validate date-time formats before creating events
  • ✅ Include time zone information for cross-timezone meetings
  • ✅ Set appropriate reminders based on event importance
  • ✅ Use clear, descriptive event titles
  • ✅ Include relevant details in description

Attendees

  • ✅ Verify email addresses are valid
  • ✅ Don't spam with too many calendar invites
  • ✅ Use "Send Updates" carefully to avoid notification fatigue
  • ✅ Mark optional attendees appropriately
  • ✅ Include alternative contacts in description

Performance

  • ✅ Batch create events when possible
  • ✅ Cache event IDs for updates
  • ✅ Handle API rate limits gracefully
  • ✅ Use error handling for failed creations

Troubleshooting

Event Not Created

Check:

  • Google Calendar is properly connected
  • Date-time format is correct (ISO 8601)
  • Calendar permissions are granted
  • Time zone is valid
  • No conflicts with calendar settings

Attendees Not Notified

Solutions:

  • Verify "Send Invitations" is enabled
  • Check attendee email addresses
  • Ensure Google Calendar can send emails
  • Review spam filters

Time Zone Issues

Fix:

  • Explicitly set time zone for each event
  • Use standardized time zone names (e.g., America/New_York)
  • Convert times to ISO 8601 format
  • Test with different time zones

Recurring Events Not Working

Check:

  • RRULE syntax is correct
  • Recurrence pattern is valid
  • End date or count is specified if needed
  • No conflicts with calendar rules

Limitations

  • API Quota: 1,000,000 queries per day
  • Rate Limiting: Max 10 queries per second
  • Event Duration: Events can't span more than 4 years
  • Attendees: Recommended max 200 attendees per event
  • Description: Max 8,192 characters
💡

Tip: Use event colors strategically to categorize different types of events visually in your calendar.

Example Workflow

Flow:

  1. User submits booking form
  2. Check calendar availability
  3. Create event if slot is free
  4. Send confirmation email
  5. Update customer database
  6. Workflow complete

Related Blocks

  • Gmail: Send email notifications
  • HTTP Request: Integrate with other calendar services
  • Condition: Check availability before creating
  • Set Variable: Prepare event data
  • Wait: Delay before sending reminders

Need Help?

  • Review Google Calendar API documentation
  • Check calendar sharing settings
  • Verify OAuth scope permissions
  • Test with a test calendar first
  • Monitor API quota usage in Google Cloud Console

Pro Tip: Create a dedicated calendar for automated events to keep your primary calendar clean and organized!

Indite Documentation v1.4.0
PrivacyTermsSupport