Calendly invitees: one row per person

A Calendly scheduled events export (Meetings → filter → Export), for a list of the people who booked.

Processed locally in your browser. File contents are not uploaded. No account needed.

Before and after

Made-up rows from the sample file, run through the same code Rote Workspace runs, when this page was built. Removed rows are struck through; changed cells are highlighted — point at one for its old value.

Data Workspacecalendly-invitees.csv5 rows · 7 columns · UTF-8 Processed locally

Original

Before: the sample file
RowInvitee NameInvitee EmailEvent Type Name
2 (removed)ana silvaAna@Example.comIntro call
3Ana Silvaana@example.comIntro call
4BEN COLE (has spaces at its edges)ben@example.comDemo
5 (removed)
6cy diazcy@example.comIntro call

Result

After: Calendly invitees: one row per person
RowInvitee NameInvitee EmailEvent Type Name
4Ben Cole (changed)ben@example.comDemo
3Ana Silvaana@example.comIntro call
6Cy Diaz (changed)cy@example.comIntro call

3 rows × 7 columns after the fixes · was 5 × 7 · 5 cells changed

4 more columns are not shown; they pass through unchanged.

· marks a space at the start or end of a value. The dots are not in the data; they show spaces you would otherwise not see.

Why

Someone who books, cancels and books again is in the export several times; a list for a follow-up email should have them once.

What it does

  1. Remove empty rowsOn the sample: 1 row removed
  2. Trim spaces in every columnOn the sample: 1 cell changed
  3. lower-case "Invitee Email"On the sample: 1 cell changed
  4. Title-case "Invitee Name"On the sample: 3 cells changed
  5. Remove duplicates: rows with the same "Invitee Email" (ignoring case, ignoring extra spaces, blank keys never match), keeping the last of each groupOn the sample: 1 row removed
  6. Sort the rows by "Event Type Name" (A to Z), then by "Invitee Name" (A to Z); blank and unreadable values go lastOn the sample: 2 rows moved

Your file needs these columns, spelled exactly: Invitee Name, Invitee Email, Event Type Name. If one is missing or renamed, the workflow tells you which step it breaks and does not run.

It keeps each person's last row in the file — their latest booking — so a booking they cancelled and made again is not the one kept.

How to use it

  1. Download the workflow

    A small .json file with the steps above — no data. Want to try it first? Use the sample file (made-up rows).

  2. Open your export

    In the Data Workspace, choose your file. It is processed in your browser, not uploaded.

  3. Import, review, run

    Workflow → Import, choose the file — or skip the download: under Workflow → Templates, press Check & open. Each step is checked against your columns; press Run on this file, then Download.