Skip to content
Per-pair page

Calendly + Google Sheets: every booking captured for reporting.

Log Calendly bookings, cancellations, and reschedules to Google Sheets for reporting, BI tool ingestion, or hand-off to non-CRM teams.

Trigger app
Google Sheets as the trigger

Workflows fire when something happens in Google Sheets.

Action app
Calendly as the action

Workflows do something in Calendly, instantly.

Both directions

Pick the way that fits your stack.

Pair pages are mirrored. Each direction gets its own dedicated page.

Google SheetsCalendly

When something happens in Google Sheets, do it in Calendly.

2 Google Sheets triggers wired to 5 Calendly actions. Most-used pairing: New RowGet Current User.

CalendlyGoogle Sheets

Or fire it the other way around.

2 Calendly triggers wired to 9 Google Sheets actions downstream.

See CalendlyGoogle Sheets
Popular pairings

Common Google Sheets → Calendly workflows.

Pick a pairing to set it up in two minutes. Each one is a fully editable recipe.

Showing 8 of 10 combinations
When new row in Google Sheets, get current user in Calendly.

Fires when a new row is added to a Google Sheet (typically the first sheet tab). Common use: ingest form-fed rows into a CRM or notify on a new entry.

When new row in Google Sheets, get event in Calendly.

Fires when a new row is added to a Google Sheet (typically the first sheet tab). Common use: ingest form-fed rows into a CRM or notify on a new entry.

When new row in Google Sheets, list event invitees in Calendly.

Fires when a new row is added to a Google Sheet (typically the first sheet tab). Common use: ingest form-fed rows into a CRM or notify on a new entry.

When new row in Google Sheets, list event types in Calendly.

Fires when a new row is added to a Google Sheet (typically the first sheet tab). Common use: ingest form-fed rows into a CRM or notify on a new entry.

When row updated in Google Sheets, get current user in Calendly.

Fires when a row is updated in a Google Sheet. Useful for sync flows where the Sheet is a source-of-truth that drives downstream changes.

When row updated in Google Sheets, get event in Calendly.

Fires when a row is updated in a Google Sheet. Useful for sync flows where the Sheet is a source-of-truth that drives downstream changes.

When row updated in Google Sheets, list event invitees in Calendly.

Fires when a row is updated in a Google Sheet. Useful for sync flows where the Sheet is a source-of-truth that drives downstream changes.

When row updated in Google Sheets, list event types in Calendly.

Fires when a row is updated in a Google Sheet. Useful for sync flows where the Sheet is a source-of-truth that drives downstream changes.

How it works

Connect Google Sheets and Calendly in five steps.

No code, no glue, no half-day setup. Each step is one click.

  1. 1
    Connect
    Authorize Google Sheets and Calendly

    Open Tiny Command, authorize Google Sheets and Calendly once each. Both connections are available to every workflow on your account.

  2. 2
    Trigger
    Pick a Google Sheets trigger

    Drop the Google Sheets → New Row trigger onto the canvas. Tiny Command auto-registers the webhook.

    POST /v1/webhooks/google-sheets.trigger-row-added
  3. 3
    Transform
    Add a filter or AI step

    Optionally add a Filter node ("subject contains URGENT") or an AI step ("classify intent") between trigger and action.

  4. 4
    Action
    Add the Calendly action

    Drop the Calendly → Get Current User action below it. Map fields from the Google Sheets payload into the Calendly inputs.

    calendly.get-current-user
  5. 5
    Publish
    Publish and forget

    Hit Publish. Tiny Command runs it in production from second one. Watch the run-log fill up.

FAQ

Questions about Google Sheets + Calendly.

Why log Calendly bookings to a Sheet instead of just using Calendly's dashboard?
Sheets gives you formulas, pivots, and BI tool connectors (Looker Studio, Tableau) that Calendly doesn't. Useful for capacity planning, conversion-rate analysis, or finance reconciliation.
How do I avoid duplicate rows on rescheduled meetings?
Use the Calendly event URI as a unique column. The workflow looks up by URI; if found, Update Values; otherwise Append Row. Reschedules mutate the original row.
Should I capture cancellations as a status change or a separate row?
Status change on the original row, almost always. Keep a "Status" column (Confirmed / Cancelled / Rescheduled) updated on the same row. Easier to report cancellation rates that way.
How do I include intake-question answers in the Sheet?
Loop over the questions_and_answers array and write each as a dedicated column. Use a stable naming convention (Q1_Question, Q1_Answer, Q2_Question, Q2_Answer, …) to keep the sheet schema predictable.
Can I roll up Calendly data into weekly or monthly summary tabs?
Yes. Use a "Summary" tab with QUERY or SUMIFS formulas on the raw bookings tab. Or run a scheduled workflow that aggregates and writes a one-row summary per week.
How do I sync Calendly bookings into multiple sheets by team?
Use a Switch on event_type to route to the right Sheet ID. Sales bookings to the Sales sheet; CS bookings to the CS sheet. One workflow handles all event types with conditional destinations.
Related

Other apps that pair well with Google Sheets.


Wire Google Sheets to Calendly in 2 minutes.

Free tier available. No credit card. No onboarding call.