diff options
| author | Craig Jennings <c@cjennings.net> | 2026-02-19 16:14:30 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-02-19 16:14:30 -0600 |
| commit | b104dde43fcc717681a8733a977eb528c60eb13f (patch) | |
| tree | 08909de273851264489aecfb0eed5e57503d387e /docs/workflows/delete-calendar-event.org | |
| parent | f429b540fe14c88a07ad5685919d8e18d6ec0352 (diff) | |
| download | archangel-b104dde43fcc717681a8733a977eb528c60eb13f.tar.gz archangel-b104dde43fcc717681a8733a977eb528c60eb13f.zip | |
docs: sync templates, process announcements, update todo headers
Synced workflows, scripts, and protocols from templates.
Processed 4 announcements (calendar cross-visibility, gcalcli, open-tasks,
summarize-emails). Renamed todo.org headers to project-named convention.
Diffstat (limited to 'docs/workflows/delete-calendar-event.org')
| -rw-r--r-- | docs/workflows/delete-calendar-event.org | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/docs/workflows/delete-calendar-event.org b/docs/workflows/delete-calendar-event.org new file mode 100644 index 0000000..46c5cad --- /dev/null +++ b/docs/workflows/delete-calendar-event.org @@ -0,0 +1,217 @@ +#+TITLE: Delete Calendar Event Workflow +#+AUTHOR: Craig Jennings & Claude +#+DATE: 2026-02-01 + +* Overview + +Workflow for deleting calendar events via gcalcli with explicit confirmation. + +* Triggers + +- "delete the meeting" +- "cancel my appointment" +- "remove the event" +- "clear my calendar for..." + +* Prerequisites + +- gcalcli installed and authenticated +- Event must exist on calendar + +* Note: Calendar Visibility + +Events can only be deleted from Google calendars via gcalcli. DeepSat (work) and Proton calendar events are visible in =~/.emacs.d/data/{dcal,pcal}.org= but cannot be modified from here. + +* Workflow Steps + +** 1. Parse User Request + +Extract: +- Which event (title, partial match, or date hint) +- Date context (if provided) + +Examples: +- "Delete the dentist appointment" → search for "dentist" +- "Cancel tomorrow's meeting" → search tomorrow's events +- "Remove the 3pm call" → search by time + +** 2. Search for Event + +#+begin_src bash +# Search by title +gcalcli --calendar "Calendar Name" search "event title" + +# Or list events for a date +gcalcli --calendar "Calendar Name" agenda "date" "date 11:59pm" +#+end_src + +** 3. Handle Multiple Matches + +If search returns multiple events: + +#+begin_example +Found 3 events matching "meeting": + +1. Team Meeting - Feb 3, 2026 at 9:00 AM +2. Project Meeting - Feb 4, 2026 at 2:00 PM +3. Client Meeting - Feb 5, 2026 at 10:00 AM + +Which event do you want to delete? (1-3) +#+end_example + +** 4. Display Full Event Details + +Show the event that will be deleted: + +#+begin_example +Event to Delete: +================ +Event: Team Meeting +When: Monday, Feb 3, 2026 at 9:00 AM +Duration: 1 hour +Location: Conference Room A +Description: Weekly sync +Calendar: Work +#+end_example + +** 5. Explicit Confirmation + +Ask clearly: + +#+begin_example +Delete this event? (yes/no) +#+end_example + +*Do NOT delete until user explicitly confirms with "yes".* + +** 6. Execute Delete + +gcalcli delete requires interactive confirmation. Since Claude can't interact with the prompt, pipe "y" to confirm: + +#+begin_src bash +echo "y" | gcalcli --calendar "Calendar Name" delete "Event Title" +#+end_src + +Use a date range to narrow matches and avoid deleting the wrong event: + +#+begin_src bash +echo "y" | gcalcli --calendar "Calendar Name" delete "Event Title" 2026-02-14 2026-02-15 +#+end_src + +** 7. Verify + +Confirm the event is gone: + +#+begin_src bash +gcalcli --calendar "Calendar Name" search "Event Title" +#+end_src + +Report success: + +#+begin_example +Event "Team Meeting" has been deleted from your calendar. +#+end_example + +* gcalcli Delete Command + +** Basic Delete (pipe confirmation) + +gcalcli delete prompts interactively, which fails in non-interactive shells. Always pipe "y" to confirm: + +#+begin_src bash +echo "y" | gcalcli delete "Event Title" +#+end_src + +** With Date Range (preferred — avoids accidental matches) + +#+begin_src bash +echo "y" | gcalcli delete "Event Title" 2026-02-14 2026-02-15 +#+end_src + +** Calendar-Specific Delete + +#+begin_src bash +echo "y" | gcalcli --calendar "Craig" delete "Meeting" 2026-02-14 2026-02-15 +#+end_src + +** Skip All Prompts (dangerous) + +#+begin_src bash +gcalcli delete "Event Title" --iamaexpert +#+end_src + +*Warning:* =--iamaexpert= skips all prompts and deletes every match. Avoid unless the search is guaranteed to match exactly one event. + +* Handling Multiple Events + +If the search pattern matches multiple events, gcalcli may: +- Delete all matching events (dangerous!) +- Prompt for each one (interactive mode) + +*Best practice:* Use specific titles or search first, then delete by exact match. + +* Recurring Events + +*Warning:* Deleting a recurring event deletes ALL instances. + +For recurring events: +1. Warn the user that all instances will be deleted +2. Ask for confirmation specifically mentioning "all occurrences" +3. Consider if they only want to delete one instance (not supported by simple delete) + +#+begin_example +This is a recurring event. Deleting it will remove ALL occurrences. + +Delete all instances of "Weekly Standup"? (yes/no) +#+end_example + +* Error Handling + +** Event Not Found +- Verify spelling +- Try partial match +- Check date range +- May have already been deleted + +** Delete Failed +- Check calendar permissions +- Verify event exists +- Try with --calendar flag + +** Wrong Event Deleted +- Cannot undo gcalcli delete +- Would need to recreate the event manually + +* Safety Considerations + +1. *Always show full event details* before asking for confirmation +2. *Never delete without explicit "yes"* from user +3. *Warn about recurring events* before deletion +4. *Verify deletion* by searching after +5. *Read-only calendars* (like Christine's) cannot have events deleted + +* Read-Only Calendars + +Some calendars are read-only: + +| Calendar | Can Delete? | +|---------------------------+-------------| +| Craig | Yes | +| Christine | Yes | +| Todoist | Yes | +| Craig Jennings (TripIt) | No | +| Holidays in United States | No | +| Craig Proton | No | + +If user tries to delete from read-only calendar: + +#+begin_example +Cannot delete from "Craig Proton" - this is a read-only calendar. +#+end_example + +* Related + +- [[file:add-calendar-event.org][Add Calendar Event]] - create events +- [[file:read-calendar-events.org][Read Calendar Events]] - view events +- [[file:edit-calendar-event.org][Edit Calendar Event]] - modify events +- [[file:../calendar-api-research.org][Calendar API Research]] - gcalcli reference |
