Python Auto-Reschedule Script

via Freelancer ·

Budget / SalaryHourly project
TypeFreelance project
LocationRemote
Posted1 hour ago
My appointments live in Google Calendar, and I often hit “Missed” on events when I can’t attend them. The moment I mark one that way, I want a Python script to step in, count a fixed number of days forward (I’ll pass the exact offset as a variable or config value), and insert a brand-new appointment that mirrors all the original details—title, description, guests, reminders—just on the new date.

Key flow
1. Detect the “missed” label or status change on an event (happy to use a dedicated color, keyword, or a custom extendedProperty—whichever is simplest with the Google Calendar API).
2. Create the replacement event exactly that many days later, respecting my working-hours window if the slot is already free, or nudging forward until the next free slot.
3. Push the change back to Google so it appears seamlessly on all devices.
4. Log actions to console and/or a lightweight text file so I can audit what moved and when.

Tech expectations
• Written in clean, well-commented Python 3.x.
• Uses the official Google Calendar API with OAuth2; no screen-scraping.
• Configuration handled via a small JSON/YAML file or environment variables so I can tweak the “days later” rule without touching code.
• Ideally packaged so I can run it on a schedule (cron or Windows Task Scheduler) or trigger it manually.

Deliverables
• Source code with README covering setup, Google credentials, and parameter options.
• Brief demo—screencast or step-by-step screenshots—showing a missed event spawning its replacement.
• One round of tweaks after initial hand-off to ensure everything syncs smoothly.

If you’ve automated Google Calendar before or have neat ideas for catching that “missed” state efficiently, I’d love to hear them.
php javascript python software architecture software development json automation api development
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.