tr Skip to content

Connect Google Sheets and Google Calendar

Plenty of schedules start life as a spreadsheet: content calendars, shift rotas, course dates, client deadlines. FlowMattic turns those rows into Google Calendar events from your WordPress site, moves an event when its date cell changes and removes it when the row is marked cancelled. It can also write your calendar back into a sheet for reporting.

12 triggers 40 actions 6 example workflows 1 ready-made template Unlimited runs

Try a pairing

When this happens in Google Sheets6 triggers

Do this in Google Calendar21 actions

1. TriggerNew Spreadsheet Row
2. ActionCreate Detailed Event

When Google Sheets fires New Spreadsheet Row, FlowMattic runs Create Detailed Event in Google Calendar with the data from that event.

You build this in the FlowMattic workflow builder on your own site. See the setup steps

Google Sheets and Google Calendar workflows you can build

Each one uses only triggers and actions the two integrations ship today, plus FlowMattic's own tools. Where the library has a ready-made template, import it instead of building from scratch.

Google Sheets app icon Google Calendar app icon Ready-made template

Create a calendar event for each new task row

Add a task with a due date and it appears on the team calendar. The event ID is written back to the row so later workflows can find the event.

New Spreadsheet RowCreate Detailed EventUpdate Cell Data

View the template
Google Sheets app icon Google Calendar app icon

Move the event when the date in the sheet changes

Planners reschedule in the sheet, not the calendar. Editing the Date column updates the linked event, using the event ID stored on that row.

Update Specific Column ValueDate/Time FormatterUpdate Event

Google Sheets app icon Google Calendar app icon

Delete the event when a row is marked cancelled

Set the Status cell to Cancelled and a Filter lets the workflow remove the event, so nobody turns up for a session that is no longer happening.

Update Specific Column ValueFilterDelete Event

Google Sheets app icon Google Calendar app icon

Invite each person on a sign-up sheet to the event

Workshop organisers collect names in a sheet. Each new row adds that person as an attendee to the workshop event, so the invitation comes from Google Calendar.

New Spreadsheet RowAdd Attendee to Event

Google Sheets app icon Google Calendar app icon

Book only when the slot is free

Find Availability checks the requested time first. A Router creates the event when the calendar is free and writes Clash into the row when it is not.

New Spreadsheet RowFind AvailabilityRouterCreate Quick Event

Google Sheets app icon Google Calendar app icon

Log each finished meeting in a timesheet

Freelancers who bill by meeting get a row for every event as it ends, with its title, date and length, ready for invoicing at the end of the month.

Event EndedAdd New Row

Set up: task rows to calendar events

By the end, each task you add to the sheet becomes an event on its due date, with the event ID saved on the row.

  1. Lay out the sheet

    Use columns such as Task, Due date, Owner email and an empty Event ID column.

  2. Connect both Google apps

    In Connects, add Google Sheets and Google Calendar. One Google account can be used for both if it can edit the sheet and the calendar.

  3. Trigger on new rows

    Create a workflow with New Spreadsheet Row, choose the spreadsheet and tab, and add a test task.

  4. Create the event

    Add Create Detailed Event, pick the calendar, and map the task name to the title and the due date to the start.

  5. Save the event ID

    Add Update Cell Data to write the new event's ID into the Event ID cell, test, and switch the workflow on.

Import the ready-made template Intermediate, about 5 min to set up
Create a calendar event for each new task row Template
  1. Google Sheets app icon 1. Trigger in Google Sheets New Spreadsheet Row
  2. Google Calendar app icon 2. Action in Google Calendar Create Detailed Event
  3. Google Sheets app icon 3. Action in Google Sheets Update Cell Data

    Fields mapped from the earlier steps (a typical setup)

    From Google SheetsTo Google Sheets
    TaskEvent title
    Due dateStart date
    Owner emailAttendee
    Event ID from CalendarEvent ID column
Built on the FlowMattic canvas. Test each step with real data, then switch the workflow on.

Triggers and actions in this pair

A trigger starts a workflow. An action is something FlowMattic does in the app as a step.

Good to know

  • Calendar triggers such as Event Cancelled carry the event ID. Keep that ID on each row, and Lookup Row Data can find the row an event came from.
  • Write dates in one consistent format, or run them through Date/Time Formatter, so the event lands on the right day and time.
  • Update Event and Delete Event need the event ID, which is why the first workflow writes it back to the row.
  • Updating the row with the event ID is an edit. Avoid New Or Updated Spreadsheet Row as the trigger here, or the workflow may start again.
Google Sheets app icon

Google Sheets

Integration page

Triggers (6)

  • New Spreadsheet RowTrigger when a new row is added to the spreadsheet
  • New Or Updated Spreadsheet RowTrigger when a row is updated in the spreadsheet
  • Deleted Spreadsheet RowTrigger when a row is deleted from the spreadsheet
  • Update Cell DataTrigger when any cell is updated in the spreadsheet
  • Update Specific Cell DataTrigger when a specific cell is updated in the spreadsheet
  • Update Specific Column ValueTrigger when a specific column value is updated in the spreadsheet

Actions (19)

  • Add New RowAdd a new row with mapped data
  • Update RowUpdate existing row in specific spreadsheet with mapped data
  • Delete RowDelete row by ID in specific spreadsheet
  • Clear Row DataClear data or row by ID in specific spreadsheet
  • Lookup Row DataSearch for data in specific spreadsheet
  • Get Cell DataGet data for particular cell in specific spreadsheet
  • Update Cell DataUpdate data for particular cell in specific spreadsheet
  • Get Row CountGet total number of rows in specific spreadsheet
  • Get Row DataGet rows data from the sheet based on specified range
  • Create Spreadsheet ColumnCreate a new column in specific spreadsheet
  • Create New SheetCreate a new sheet in specific spreadsheet
  • Import CSV or JSON to Existing SheetImport CSV or JSON data to existing sheet in specific spreadsheet
  • Copy SheetCopy a sheet to another or within the same spreadsheet
  • Get RowsRetrieve rows in JSON format for use with Iterator
  • Export sheet to CSVExport the selected sheet to CSV format and save to WordPress Media Library
  • Export Sheet to ExcelExport the spreadsheet to Excel (.xlsx) format and save to WordPress Media Library
  • Export Sheet to PDFExport the spreadsheet to PDF format and save to WordPress Media Library
  • Export Sheet to OpenDocumentExport the spreadsheet to OpenDocument (.ods) format and save to WordPress Media Library
  • Export Sheet to TSVExport the selected sheet to TSV format and save to WordPress Media Library
Google Calendar app icon

Google Calendar

Integration page

Triggers (6)

  • New CalendarTriggers when a calendar is created
  • Event EndedTriggers when an event ends
  • New or Updated EventTriggers when an event is created or updated (except when it's cancelled
  • New Event Matching SearchTriggers when an event is created that matches a search
  • Event CancelledTriggers when an event is cancelled or deleted
  • Event StartTriggers a specified amount of time before an event starts

Actions (21)

  • Create Detailed EventCreates a new event with detailed options
  • Create Quick EventCreates a new event with minimal input
  • Update EventUpdate an existing event in Google Calendar
  • Delete EventDelete an event from Google Calendar
  • Get EventGet details of a specific event from Google Calendar
  • Duplicate EventCreates a copy of an existing event
  • List EventsList events from Google Calendar with optional filters
  • Find AvailabilityCheck if your calendar is free during a specific time slot
  • Get Free/Busy InformationReturns free/busy information for a set of calendars
  • Create CalendarCreate a new calendar in Google Calendar
  • Get CalendarReturns metadata for a calendar
  • List CalendarsFetches a list of calendars available in the user\'s account
  • Update CalendarUpdate calendar properties in Google Calendar
  • Delete CalendarDelete a calendar from Google Calendar
  • Clear CalendarClears a primary calendar by deleting all events
  • Add Attendee to EventAdd an attendee to an existing event
  • Remove Attendee from EventRemove an attendee from an existing event
  • Create Access Control RuleCreates a new access control rule on the specified calendar
  • Get Access Control RuleReturns an access control rule
  • Update Access Control RuleUpdates an access control rule
  • Delete Access Control RuleDeletes an access control rule from the specified calendar

Why run this pair with FlowMattic

Google Sheets and Google Calendar connect through FlowMattic on your own site, with no separate automation account in the middle and no charge per run.

Your sheet stays the source

Plan in the spreadsheet the team already edits, and let the calendar follow it rather than keeping two lists in step by hand.

Rotas of any size

Runs are unlimited, so a sheet with hundreds of shifts or sessions costs no more than one with a few.

Runs on your own server

The workflow runs on your WordPress site with your Google connections. No other automation service sees your schedule.

Common questions

Can a Google Sheet create Google Calendar events?

Yes. Start a workflow with New Spreadsheet Row and add Create Detailed Event or Create Quick Event. Map the title, date and time columns to the event fields and test with one row before switching it on.

Will changes in the calendar update my sheet?

Yes. New or Updated Event, Event Cancelled and Event Ended can each start a workflow. Lookup Row Data finds the row by the event ID stored on it, and Update Row writes the new time or status. If the sheet also moves events, add a Filter so a change only goes one way.

What is the difference between a detailed and a quick event?

Create Detailed Event takes separate fields such as title, start, end, description and attendees. Create Quick Event takes a minimal input, which is handy when the sheet holds just a title and time.

Can I put events on different calendars?

Yes. Add a Router that checks a column such as Team, and give each path its own Create Detailed Event step pointed at that team's calendar.

Did not find your answer? You can browse the help center or ask us directly.

Start automating Google Sheets and Google Calendar

Install FlowMattic, connect both accounts and import a template. Every run stays on your own server.

30-day money-back guarantee Unlimited workflows and runs Self-hosted

Reviewed 23 Oct 2026. The example workflows are written with AI from the real triggers and actions of both integrations and checked against them. Google Sheets integration 2.2.4, Google Calendar integration 2.0.0.