The moment it happens
Create a Drive folder and book a kickoff call for each new client
Each new client gets their own Drive folder copied from your template and a kickoff meeting booked next week.
- Runs
- The moment it happens
- Apps
- Google Calendar, Google Drive
- AI
- Not needed
- Access
- drive.file; calendar.events
Send this to your assistant
Create a ClickRuntime automation: when a new client is posted to my trigger link, create their Drive folder from my template and schedule a kickoff call next week in my calendar.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small marketing agency sets up every new client the same way: a Drive folder with Brief, Assets and Reports subfolders, a copy of the onboarding doc, and a kickoff call. Done by hand, folder names drift, a subfolder gets forgotten and the kickoff is booked a week later than it should be.
This automation does the setup as soon as a new client is sent to your trigger link. The folder structure and the kickoff meeting are ready before you have finished reading the signed contract.
What you get out of it
Every client folder looks the same
A fixed structure means anyone on the team knows where the brief, the assets and the reports live, for every client.
Kickoff booked while momentum is high
Booking the first call straight away tells the client the work has started and avoids a quiet week after signing.
Nothing forgotten in the rush
Subfolders and template documents are copied every time, even in a week with three new clients.
Fits your existing sales process
Your CRM, form or contract tool can send the new client to the trigger link, so setup starts from the moment the deal closes.
How it works
What happens, step by step
ClickRuntime starts when a new client is sent to your trigger link.
It creates a folder named after the client in Google Drive and copies your template files into it.
It finds the first free hour in your Google Calendar next week.
A kickoff meeting is booked at that time with the client invited and the folder link in the description.
Before it runs live
- Connect Google Calendar
- Connect Google Drive
- 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 and Google Drive steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timedelta, timezone
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_event, credentials
TEMPLATE_FOLDER, CLIENTS_FOLDER = "your-template-folder-id", "your-clients-folder-id"
@on_event
def handle(event):
c = event.json or {}
creds = Credentials(credentials.connection("google", "work"))
drive = build("drive", "v3", credentials=creds, cache_discovery=False)
folder = drive.files().create(body={"name": c["company"], "mimeType": "application/vnd.google-apps.folder",
"parents": [CLIENTS_FOLDER]}, fields="id,webViewLink").execute()
for f in drive.files().list(q=f"'{TEMPLATE_FOLDER}' in parents and trashed=false", fields="files(id,name)").execute()["files"]:
drive.files().copy(fileId=f["id"], body={"name": f["name"], "parents": [folder["id"]]}).execute()
cal = build("calendar", "v3", credentials=creds, cache_discovery=False)
today = datetime.now(timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0)
monday = today + timedelta(days=7 - today.weekday())
busy = cal.freebusy().query(body={"timeMin": monday.isoformat(), "timeMax": (monday + timedelta(days=5)).isoformat(),
"items": [{"id": "primary"}]}).execute()["calendars"]["primary"]["busy"]
start = next(s for s in (monday + timedelta(days=d, hours=h) for d in range(5) for h in range(9, 17))
if not any(b["start"] < (s + timedelta(hours=1)).isoformat() and b["end"] > s.isoformat() for b in busy))
cal.events().insert(calendarId="primary", sendUpdates="all", body={"summary": f"Kickoff: {c['company']}",
"description": folder["webViewLink"], "attendees": [{"email": c["email"]}],
"start": {"dateTime": start.isoformat()}, "end": {"dateTime": (start + timedelta(hours=1)).isoformat()}}).execute()
return {"folder": folder["id"], "kickoff": start.isoformat()}FAQ
Common questions
What does the template folder contain?
When is the kickoff call booked?
Can the folder be shared with the client?
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
Let your voice or chat agent book appointments and answer from Drive
Your AI phone or chat agent can check your free times, book appointments in Google Calendar and answer questions from your FAQ document in Drive.
See how it worksTurn meeting transcripts into action items and follow-ups
When a meeting transcript lands in Drive, the action items are pulled out for you and any follow-up meetings are put in your calendar.
See how it worksPrepare a lesson plan for each of tomorrow's classes
Each evening, every class in tomorrow's calendar gets a lesson plan document in Drive, linked from the calendar event.
See how it worksKeep exploring
Set up “Create a Drive folder and book a kickoff call for each new client” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.