AppsPricingBlogTry it
Google Sheets logo
Microsoft Outlook Calendar logo

Connect Google Sheets to Microsoft Outlook Calendar

Use 8 documented Google Sheets triggers to run 16 documented Microsoft Outlook Calendar actions.

8 source triggers
16 target actions
Reverse direction supported

Why Connect Google Sheets & Microsoft Outlook Calendar?

Start with a Google Sheets event

Choose from 8 documented triggers, including New Comment, New Comment (Instant), New Row Added.

Run a Microsoft Outlook Calendar action

Send the event into one of 16 documented actions, such as Accept Event, Create Calendar Event, Decline Event.

Map and review the workflow

Choose the fields and conditions for the workflow, then test the result before activation.

Available Triggers & Actions

Google Sheets logo

Google Sheets

Triggers (8)

New Comment

Emit new event each time a comment is added to a spreadsheet.

polling
New Comment (Instant)

Emit new event each time a comment is added to a spreadsheet.

webhook
New Row Added

Emit new event each time a row or rows are added to the bottom of a spreadsheet.

polling
New Row Added (Instant)

Emit new event each time a row or rows are added to the bottom of a spreadsheet.

webhook
New Updates

Emit new event each time a row or cell is updated in a spreadsheet.

polling
New Updates (Instant)

Emit new event each time a row or cell is updated in a spreadsheet.

webhook
New Worksheet (Instant)

Emit new event each time a new worksheet is created in a spreadsheet.

webhook
New Worksheet (Polling)

Emit new event each time a new worksheet is created in a spreadsheet.

polling

Actions (24)

Add Single Row

Add a single row of data to Google Sheets. Optionally insert the row at a specific index (e.g., row 2 to insert after headers, shifting existing data down). See the documentation

Add Multiple Rows

Add multiple rows of data to a Google Sheet. See the documentation

Get Values in Range

Get all values or values from a range of cells using A1 notation. See the documentation

Add Conditional Format Rule

Create conditional formatting with color scales or custom formulas. See the documentation

Add Protected Range

Add edit protection to cell range with permissions. See the documentation

Add Rows

Append one or more rows to a Google Sheets worksheet. Pass rows as a JSON array. **Preferred format:** array of objects with column header keys (e.g., [{"Name": "Alice", "Email": "alice@example.com"}]). Use **Get Spreadsheet Info** first to discover the exact column header names — keys must match headers exactly (case-sensitive). Alternatively, pass rows as arrays of positional values matching column order. New rows are appended after the last row with data.

Add Worksheet

Add a new worksheet (tab) to an existing spreadsheet. Optionally set column headers. Use **Get Spreadsheet Info** to see existing worksheets before creating.

Clear Cell

Delete the content of a specific cell in a spreadsheet. See the documentation

Clear Rows

Delete the content of a row or rows in a spreadsheet. Deleted rows will appear as blank rows. See the documentation

Copy Worksheet

Copy an existing worksheet to another Google Sheets file. See the documentation

Create Column

Create a new column in a spreadsheet. See the documentation

Create Spreadsheet

Create a blank spreadsheet or duplicate an existing spreadsheet. See the documentation

Create Worksheet

Create a blank worksheet with a title. See the documentation

Delete Conditional Format Rule

Remove conditional formatting rule by index. See the documentation

Delete Rows

Deletes the specified rows from a spreadsheet. See the documentation

Delete Worksheet

Delete a specific worksheet. See the documentation

Find Row

Find one or more rows by a column and value. See the documentation

Find Rows

Search for rows matching a value in a specific column. Use **Get Spreadsheet Info** to discover column header names. Returns matching rows as objects with row numbers (useful for subsequent **Update Rows** calls). For simple reads without filtering, use **Read Rows** instead.

Get Cell

Fetch the contents of a specific cell in a spreadsheet. See the documentation

Get Current User

Retrieve Google Sheets account metadata for the authenticated user by calling Drive's about.get, returning the user profile (display name, email, permission ID) and storage quota information. Helpful when you need to verify which Google account is active, tailor sheet operations to available storage, or give an LLM clear context about the user identity before composing read/write actions. See the Drive API documentation.

Get Spreadsheet by ID

Returns the spreadsheet at the given ID. See the documentation for more information

Get Spreadsheet Info

Get the structure of a Google Spreadsheet — worksheet names, column headers (first row of each sheet), and row counts. **Call this first** before reading or writing data, so you know the worksheet names and column headers. The column headers are used as keys when writing data with **Add Rows** or **Update Rows**. The spreadsheet ID is the long string in the Google Sheets URL: https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit.

Insert an Anchored Note

Insert a note on a spreadsheet cell. See the documentation

Insert Comment

Insert a comment into a spreadsheet. See the documentation

Microsoft Outlook Calendar logo

Microsoft Outlook Calendar

Triggers (5)

Calendar Event Deleted (Instant)

Emit new event when a Microsoft Outlook Calendar event is deleted. Because deleted events cannot be re-fetched from the Outlook API after deletion, this trigger emits notification metadata only (not the full event object). The emitted payload includes the deleted event identifier (eventId), changeType, subscriptionId, tenantId, and notificationTimestamp. Downstream processors must rely solely on this metadata. See the documentation

webhook
New Calendar Event (Instant)

Emit new event when a new Calendar event is created

webhook
New Calendar Event Update (Instant)

Emit new event when a Calendar event is updated

webhook
New Upcoming Calendar Event

Emit new event when a Calendar event is upcoming, this source is using reminderMinutesBeforeStart property of the event to determine the time it should emit.

polling
New Upcoming Calendar Event (Polling)

Emit new event based on a time interval before an upcoming calendar event. See the documentation

polling

Actions (16)

Accept Event

Accept a calendar event invitation and optionally send a response to the organizer. Use **List Events** or **Get Event** to find the event ID. See the documentation

Create Calendar Event

Create an event in the user's default calendar. Supports one-time and recurring events. See the documentation and recurring event example.

Decline Event

Decline a calendar event invitation and optionally propose an alternate time. Use **List Events** or **Get Event** to find the event ID. To propose a new time, pass proposedNewTime as a JSON string with start and end objects (each with dateTime in ISO 8601 format and timeZone as a Windows timezone name, e.g. "Pacific Standard Time"). Alternate-time proposals are only valid when the event has allowNewTimeProposals: true and sendResponse is true. See the documentation

Delete Calendar Event

Delete an event in the user's default calendar. See the documentation

Delete Recurring Event Instance

Delete an individual instance of a recurring event in the user's default calendar. See the documentation

Find Meeting Times

Suggest meeting times and locations based on organizer and attendee availability. See the documentation

Get Current User

Returns the authenticated Microsoft user's ID, display name, email, and principal name via Microsoft Graph. Call this first when the user says 'my calendar', 'my events', or needs to identify themselves as organizer/attendee. Use id or mail to filter results from **List Events** or set the organizer in **Create Calendar Event**. See the documentation.

Get Event

Retrieve a calendar event by its Microsoft Graph event ID. Pass the id from **List Events** when you need full details (for example body, attendees, or recurrence) that list responses may omit or truncate. See the documentation

Get Free/Busy Schedule

Get the free/busy availability information for a collection of users, distributions lists, or resources (rooms or equipment) for a specified time period. See the documentation

List Events

Get a list of event objects in the user's mailbox. See the documentation

List Time Zone Options

Retrieves available options for the Time Zone field.

Search Contacts

Search for contacts by name from your saved contacts list and retrieve their email addresses. See the documentation

Search People

Retrieve a collection of person objects ordered by their relevance to the user, based on communication and collaboration patterns and business relationships. See the documentation

Tentatively Accept Event

Tentatively accept a calendar event invitation and optionally propose an alternate time. Use **List Events** or **Get Event** to find the event ID. To propose a new time, pass proposedNewTime as a JSON string with start and end objects (each with dateTime in ISO 8601 format and timeZone as a Windows timezone name, e.g. "Pacific Standard Time"). Alternate-time proposals are only valid when the event has allowNewTimeProposals: true and sendResponse is true. See the documentation

Update Calendar Event

Update an event in the user's default calendar. See the documentation

Update Recurring Event Instance

Update an individual instance of a recurring event in the user's default calendar. See the documentation

Integration Features

8 documented Google Sheets triggers
16 documented Microsoft Outlook Calendar actions
Configurable field mapping
Conditional workflow steps
Execution monitoring
A supported Microsoft Outlook Calendar to Google Sheets direction

Capability Examples

Google Sheets trigger → Microsoft Outlook Calendar action

Catalog example
Google SheetsGoogle Sheets

New Comment

Microsoft Outlook CalendarMicrosoft Outlook Calendar

Accept Event

Microsoft Outlook Calendar trigger → Google Sheets action

Reverse direction
Microsoft Outlook CalendarMicrosoft Outlook Calendar

Calendar Event Deleted (Instant)

Google SheetsGoogle Sheets

Add Single Row

How It Works

1

Connect Apps

Authenticate your Google Sheets and Microsoft Outlook Calendar accounts

2

Choose a Trigger

Select a documented Google Sheets event

3

Choose an Action

Select the documented Microsoft Outlook Calendar operation to run

Test and Review

Verify field mapping and provider responses before activation

Frequently Asked Questions

Integration Benefits

Trigger-driven Workflows

Start the supported direction from one of 8 documented Google Sheets triggers.

Automated Actions

Run one of 16 documented Microsoft Outlook Calendar actions after the selected trigger fires.

Provider Authentication

Review the authentication requirements published by each provider before activating the workflow.

Guided Configuration

Select a documented trigger, choose a target action, and map the fields required by the workflow.

Field Mapping

Map the fields exposed by the selected trigger and action, then review the required provider inputs.

Execution Review

Test the workflow and review provider responses before relying on it in production.

Microsoft Outlook Calendar logoGoogle Sheets logo

Reverse Integration Available

Also connect Microsoft Outlook Calendar to Google Sheets for bidirectional automation

View Integration
Google Sheets logo

All Google Sheets Integrations

Explore all available Google Sheets connections

View All Integrations
Microsoft Outlook Calendar logo

All Microsoft Outlook Calendar Integrations

Explore all available Microsoft Outlook Calendar connections

View All Integrations

Ready to Connect Google Sheets & Microsoft Outlook Calendar?

Build this supported workflow in Mazaal AI and test it with your own provider accounts.

Get Started Free