Google Calendar
Definition
The Google Calendar trigger automatically initiates a flow whenever a calendar event is created, updated, or deleted. This trigger is designed to keep your workflows in perfect sync with your schedule, enabling you to automate administrative tasks around meetings, appointments, and time-off requests.
Key capabilities include:
- Comprehensive Event Monitoring Detects the full lifecycle of an event: when it is Added, modified (Updated), or removed (Deleted).
- Multi-Calendar Support Can be configured to monitor a single calendar instance—either your primary calendar or any specific secondary/shared calendar that your account has access to.
- Rich Data Context Captures detailed information about every event, including Attendees, Location, and Attachments, allowing for deep integration with other tools.
This trigger effectively turns your calendar into a command center, ensuring that every booking or schedule change instantly drives actions in your other business applications.
Google Calendar Trigger vs. Google Audit Activity Trigger
In Zenphi, there are two distinct ways to automate processes related to Google Calendar. While they may sound similar, they serve completely different purposes. It is important to choose the one that fits your specific goal.
1. The Google Calendar Trigger (The “Operational” Choice)
Think of this as your personal assistant. It is designed for day-to-day workflow automation focused on specific schedules.
- Connection: Uses a standard Google Calendar Connection (OAuth).
- Scope: Monitors calendars specifically accessible to the connected account (your primary calendar or shared calendars). It does not see the entire company’s data.
- Data Structure: Structured and Ready-to-Use. When this trigger fires, you immediately get clean, labeled tokens for Subject, Start Time, Attendees, and Location.
- Best For:
- Running a flow when a meeting is booked on a specific team calendar.
- Syncing events from a “Work” calendar to a “Personal” calendar.
- Building flows that require specific event details without complex data extraction.
2. The Google Audit Activity Trigger (The “Admin” Choice)
Think of this as a security camera for your company. It is designed for IT admins to monitor compliance, security, and backend changes across the entire domain.
- Connection: Uses a Google Admin Connection (requires Google Workspace Admin privileges).
- Scope: Monitors ALL users and calendars in your entire domain simultaneously.
- Data Structure: Raw Parameters. The data does not come in pre-labeled tokens. You receive a list of raw parameters, requiring you to manually extract values. One typo in a parameter name can cause the flow to fail.
- Best For:
- Security alerts (e.g., “Alert me if anyone creates a new public calendar”).
- Monitoring administrative actions like
create_calendar,delete_calendar, orchange_calendar_settings. - Applying complex custom filters to catch specific user behaviors across the organization.
Summary Comparison
| Feature | Google Calendar Trigger | Google Audit Activity Trigger |
|---|---|---|
| Primary Role | Operational Workflow Automation | Security & Compliance Monitoring |
| Connection Type | Standard Google Calendar Connection | Google Admin Connection |
| Scope | Single Specific Calendar (User Access) | Entire Domain (All Calendars) |
| Data Ease of Use | High (Structured Tokens) | Advanced (Manual Extraction) |
| Triggers On | Add / Update / Delete Events | Admin Events (Settings, Creation, etc.) |
Example Use Cases
1. Sync Meetings to CRM
Automatically create a logged activity in Salesforce or HubSpot whenever a new event is Added to the calendar with a client’s email address in the attendee list.
2. Automated Agenda Creation
Trigger a flow when a new internal meeting is scheduled to automatically create a Google Doc agenda from a template and update the calendar event description with the link.
3. Instant Cancellation Alerts
Send a high-priority notification to a Slack channel or Microsoft Teams chat immediately when a critical project meeting is Deleted or its status changes to “Cancelled.”
4. Billable Hours Tracking
Monitor for events with “Consulting” in the summary and use the event’s duration (Start vs End time) to automatically log a time entry in a timesheet application like Harvest or Toggl.
5. External Attendee Onboarding
Trigger a flow when a new event is added to the “Training” calendar to automatically send a prerequisite reading list and welcome packet to all external attendees.
Configuration
The configuration for the Google Calendar trigger is divided into two main parts: Settings and Conditional Run.
Settings
These settings define exactly which calendar to watch and what kind of changes should start your flow.
1. Connection
This field establishes the link between Zenphi and the specific Google account you wish to monitor.
- Purpose: To authorize Zenphi to access the calendars available to a specific user.
- How to use: Select an existing Google Calendar connection from the dropdown. If you haven’t connected one yet, click the
+button to authenticate with your Google account. - Note: This trigger uses a standard Google Calendar connection. Do not use a Google Admin connection here.
- Use Case: This connection allows the flow to “see” the events on your personal or shared calendars and read details like attendee lists and descriptions.
2. In Calendar
This allows you to specify exactly which calendar instance to monitor.
- Purpose: To target the correct schedule, especially if the connected account has access to multiple calendars (e.g., “Personal”, “Work”, “Team Holidays”).
- How to use: Click the dropdown to view all calendars associated with the selected connection. Choose the specific one you want to watch.
- Use Case: You might select your “Team Leave” calendar to trigger HR workflows, while ignoring events on your personal “Private” calendar.
3. Trigger when
This determines the specific event action that will activate the flow.
- Purpose: To filter the trigger so it only runs for relevant lifecycle changes.
- How to use: Select one of the options from the dropdown:
- Add: Fires only when a new event is created.
- Update: Fires when details (time, description, attendees) of an existing event change.
-
Delete: Fires when an event is removed or cancelled.
- Use Case: Use Add to send welcome emails for new bookings, but use Update to reschedule reminders if the meeting time changes.
Conditional Run
The Conditional Run feature allows you to control whether a flow should proceed based on the specific details of the calendar event. If the conditions are not met, the flow will be skipped.
How Conditional Run Works
When enabled, Conditional Run allows you to define one or more conditions using AND / OR logic. Each condition includes four elements:
1. Condition Type
- When: The flow will run only if the condition is true.
- Except When: The flow will not run if the condition is true.
2. Value to Evaluate
Choose the field from the Trigger Outputs that you want to check. Common fields include:
- Summary (Event Title)
- Status
- Creator Email
- Location
- Change Type
3. Operator
Define how the comparison will be made (e.g., Equals, Contains, Starts With, Is Not Null).
4. Comparison Value
Set the value to compare against (e.g., a specific keyword like “Urgent” or a specific email address).
Example Conditions
- Filter by Keyword
Run the flow When
SummaryContains"Project Alpha"(Ensures the flow only runs for meetings related to a specific project) - Ignore Declined/Cancelled Events
Run the flow Except When
StatusEquals"cancelled"(Prevents the automation from processing meetings that aren’t happening) - Target External Meetings
Run the flow When
AttendeesContains"@client-domain.com"(Useful for logging external sales calls while ignoring internal team syncs) - Filter by Location
Run the flow When
LocationStarts With"Room 404"(Triggers facility management workflows only for a specific meeting room)
Outputs
When the Google Calendar trigger fires, it captures a complete snapshot of the event data. Unlike the Audit trigger, which requires manual data parsing, this trigger provides structured, ready-to-use tokens for all event details. These outputs are available throughout your flow via the Token Picker.
Here is a breakdown of the available outputs:
1. Change Type
The specific action that triggered the flow (added, updated, or deleted).
Workflow Utility: Essential for branching logic. You can use an If/Else step to perform different actions depending on the change. For example, if Change Type is “deleted”, you might send a cancellation notice; if it is “added”, you might send a confirmation.
2. Event Id
The unique identifier for the calendar event. Workflow Utility: This is the most critical token for subsequent actions. You must use this Event Id if you want to use the Update Event or Delete Event actions later in the flow to modify this specific meeting.
3. Status
The current status of the event (e.g., confirmed, tentative, cancelled).
Workflow Utility: Use this to filter your logic—for example, you can set a condition to stop the flow if the status is cancelled to avoid sending reminders for a non-existent meeting.
4. HTML Link
A direct URL to view the event in the Google Calendar web interface. Workflow Utility: Extremely useful for notifications. You can insert this link into a Slack message or email so the recipient can click it and jump straight to the specific calendar entry.
5. Created Time
The timestamp indicating when the event was originally created. Workflow Utility: Helpful for auditing or for calculating lead times (e.g., measuring how far in advance a client booked a meeting).
6. Updated Time
The timestamp indicating when the event was last modified. Workflow Utility: Useful for synchronization workflows to ensure you are always pushing the most recent data to other systems.
7. Summary
The title or subject line of the event. Workflow Utility: This is the primary field for filtering. You can use Conditional Run to check if the Summary contains specific keywords (like “Interview”, “Demo”, or “Urgent”) to trigger specific automations.
8. Description
The full body text or notes section of the event. Workflow Utility: You can use text processing actions to “read” this description and extract specific instructions, agenda items, or Zoom links included by the organizer.
9. Location
The text field indicating where the event is happening (physical address or virtual link). Workflow Utility: Essential for routing logic. If the location is a physical address, you could trigger a “Travel Time” calculation; if it’s a Zoom link, you might parse it for a specific meeting ID.
10. Creator
An object containing details about the user who actually created the calendar entry.
- Display Name
Workflow Utility: Use
Creator > Emailto send an automated confirmation or “Thank You” email back to the person who booked the meeting.
11. Organizer
An object containing details about the organizer (which may differ from the creator if the event was booked on a delegated calendar).
- Display Name
12. Start Time
An object containing the scheduling details for when the event begins.
- Date time
- Time Zone
Workflow Utility: Critical for timing. You can use the
Start Time > Date timeto set a Wait step (e.g., “Wait until 10 minutes before Start Time”) to send a reminder.
13. End Time
An object containing the scheduling details for when the event concludes.
- Date Time
- Time Zone Workflow Utility: Use this to calculate the Duration of the meeting or to trigger a post-meeting survey immediately after the event finishes.
14. Attendees
A list (collection) of all people invited to the event. Each item includes:
- Display Name
- Response Status (e.g.,
accepted,declined,needsAction) Workflow Utility: Since this is a list, you can use a Foreach Loop to iterate through every attendee. This allows you to perform individual actions, such as checking if a specific VIP is attending or sending a personalized follow-up email to every participant.
15. Recurrence
A list of rules (RRULEs) if the event is part of a recurring series. Workflow Utility: Helps you identify if an event is a one-off meeting or a repeating daily/weekly sync, which might alter how you want to process it.
16. Recurring Event ID
The ID of the parent series, if this event is just one instance of a recurring meeting.
17. iCalUID
The unique iCalendar identifier. Workflow Utility: This ID remains consistent across different calendar systems (e.g., if the invite originated from Outlook), making it useful for cross-platform syncing.
18. Time Blocking
Indicates if the event shows as “Busy” (opaque) or “Free” (transparent). Workflow Utility: Useful for calculating team availability or utilization metrics without counting “Free” events like reminders.
19. Event Type
Categorizes the event (e.g., default, focusTime, outOfOffice).
Workflow Utility: Perfect for filtering. You can set a condition to ignore focusTime or outOfOffice events so they don’t trigger workflows meant for actual meetings.
20. Source
Information about where the event originated (e.g., created via an API or external tool).
- Url
- Title
21. Attachments
A list of files attached to the calendar event. Each item includes:
- File URL
- Title
- MIME Type Workflow Utility: You can use a Foreach Loop on this list to automatically save every meeting attachment to a designated Google Drive folder or attach them to a Trello card.
Example: Automated Post-Meeting Feedback Survey
Scenario Your HR team conducts interviews throughout the week. To ensure a good candidate experience and gather data on the interview process, you want to automatically send a “Feedback Survey” email to the candidate immediately after their interview concludes.
How the Flow Works
- Trigger: The flow starts when a new interview event is added to the “Recruiting” calendar.
- Configuration:
- Connection: Your Google Calendar connection (account with access to the recruiting calendar).
- In Calendar: Select the
Recruiting Teamshared calendar. - Trigger when: Select
Add(New event created). - Conditional Run: Set
SummaryContains"Interview"(This ensures the flow only runs for interviews, not internal team syncs).
- Steps in the Flow:
- Calculate Duration: (Optional) Use
Start TimeandEnd Timeto verify the interview length. - Wait Step: Configure a Wait until specified time action. Set the time to the trigger output
End Time > Date Time. This pauses the flow until the interview is actually over. - Foreach Loop (Attendees): Loop through the
Attendeeslist from the trigger outputs. - If/Else Condition: Check if the attendee’s email domain is NOT
@yourcompany.com(to identify the external candidate). - Send Email: If the condition is true, send the survey link to that specific attendee’s email address using the Send Email action.
- Calculate Duration: (Optional) Use
Outcome: This automation ensures that every candidate receives a feedback request at the perfect moment—right after the interview ends—without the recruiter needing to remember to send it manually. It creates a consistent, professional experience and ensures higher response rates for your feedback data.