The moment it happens
Push your next meeting back with one button
One press moves your current or next meeting later by 15, 30 or 60 minutes.
- Runs
- The moment it happens
- Apps
- Google Calendar
- AI
- Not needed
- Access
- read+write
Send this to your assistant
Create a ClickRuntime automation: give me a link I can call from my Stream Deck with a number of minutes. Move my current or next Google Calendar event later by that many minutes.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A realtor running late from one showing realizes that her next meeting at 3 pm is going to start without her. To warn the client, she must open the calendar app on her phone, find the event, edit the time, save it, and let the invitation go out. She does all this at a red light or not at all, and the guest ends up waiting without a word.
A button on her phone, or any link that sends a request to ClickRuntime, finds the meeting that is happening now or starting next in Google Calendar and adds an offset of 15, 30 or 60 minutes to its start and end. The event is updated in one tap, and attendees receive the revised invitation.
Doctors, tradespeople and consultants who run behind regularly find it useful.
What you get out of it
One tap instead of a calendar edit
Pushing a meeting back takes a single press, not six steps on a small screen. That is the difference between telling people promptly and forgetting until you arrive late. Everything else on the schedule is untouched.
Guests are informed automatically
Because the event itself changes, attendees get an updated invitation without an extra message from you. That is more reliable than a text that may go unread, and it keeps everyone's calendar correct.
Safer than editing while driving
A button is quicker and needs less attention than a full edit screen. People who handle calendar changes at traffic lights or between rooms avoid fiddly typing and mistakes in the new time.
Calendar stays accurate all day
When running late is common, the calendar often drifts from reality after the first delay. Shifting the event keeps your schedule honest, so later conflicts and double bookings are visible.
Fits the way you actually work
Fixed 15, 30 and 60 minute choices cover most delays. You do not need to think about the new start time, only about how late you will be. Quick choices keep the habit easy.
How it works
What happens, step by step
When you press your button or open your trigger link, ClickRuntime receives how many minutes to move your meeting, 15 by default.
It finds your current or next event in Google Calendar.
It moves the start and end of that event later by the number of minutes you chose.
You get a reply saying which meeting moved and its new start time.
Before it runs live
- Connect Google Calendar
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Google Calendar steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from datetime import datetime, timedelta, timezone
from clickruntime import on_event, credentials
@on_event
def handle(event):
minutes = int((event.json or {}).get("minutes", 15))
cal = build("calendar", "v3", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
now = datetime.now(timezone.utc).isoformat()
items = cal.events().list(calendarId="primary", timeMin=now, maxResults=1,
singleEvents=True, orderBy="startTime").execute()["items"]
if not items:
return {"moved": False, "message": "No current or upcoming event."}
e = items[0]
shift = timedelta(minutes=minutes)
start = datetime.fromisoformat(e["start"]["dateTime"]) + shift
end = datetime.fromisoformat(e["end"]["dateTime"]) + shift
cal.events().patch(calendarId="primary", eventId=e["id"], body={
"start": {"dateTime": start.isoformat()}, "end": {"dateTime": end.isoformat()}}).execute()
return {"moved": True, "message": f"Moved '{e.get('summary')}' to {start:%H:%M}."}FAQ
Common questions
Does it shift only the next meeting or everything after it?
What if the meeting has several attendees?
How do I add the button to my phone?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Book appointments only when you're free
Booking requests are accepted only for free slots within your hours, and land on your calendar with the attendee.
See how it worksAdd events by sending plain text
Text like 'Dentist Tuesday 3pm' becomes a calendar event with the right date and time.
See how it worksSync an outside calendar feed into Google Calendar
Events from a feed or another tool appear in your calendar and stay up to date as they change or get cancelled.
See how it worksKeep exploring
Set up “Push your next meeting back with one button” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.