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
- Click Connect Google Calendar
- Sign in with your Google account
- Grant calendar permissions
- 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 EventsEvent 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:00End Time: When the event ends
{{booking.endTime}}
2024-12-15T11:00:00Time Zone: Event time zone
America/New_York
Europe/London
Asia/TokyoEnsure 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 = TomatoAll Day Event: Toggle for all-day events
true/falseAdding Attendees
Email Addresses: Invite participants
{{client.email}}
team@company.com
manager@company.comSend Invitations: Notify attendees
true = Send email invitations
false = Don't send notificationsOptional Attendees: Mark attendees as optional
consultant@company.com (optional)Setting Reminders
Email Reminders: Send email before event
30 minutes before
1 day beforePopup Reminders: Show popup notification
15 minutes before
1 hour beforeMultiple Reminders: Add several reminders
Email: 1 day before
Email: 1 hour before
Popup: 15 minutes beforeRecurring 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=1Common 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:
- Set action to Update Event
- Provide Event ID (from creation or retrieval)
- Specify fields to update
- Choose whether to notify attendees
Event ID:
{{calendar.eventId}}
abc123xyz456Send Updates:
all = Notify all attendees
externalOnly = Only external attendees
none = Don't send notificationsResponse 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 before2. 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=MO3. 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.comBest 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:
- User submits booking form
- Check calendar availability
- Create event if slot is free
- Send confirmation email
- Update customer database
- 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!