The moment it happens
Send new clients a shared Drive folder and welcome email
Each new client gets their own Drive folder from your template, shared with them, plus a welcome email with the link.
- Runs
- The moment it happens
- Apps
- Gmail, Google Drive
- AI
- Optional
- Access
- Drive write; Gmail gmail.send
Send this to your assistant
Create a ClickRuntime automation: when my onboarding form sends a new client, create their Drive folder from my template, share it with them and send a welcome email with the link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A design studio onboards a new client every couple of weeks. The steps are always the same: make a folder, copy the brief template and the asset checklist, share it with the client and write a welcome email. When the studio is busy, the email goes out two days late and the client starts the relationship waiting.
Doing those steps the moment the onboarding form is submitted means the client gets a friendly welcome and a place to drop their files right away. The studio looks organised from the first hour.
What you get out of it
A strong first impression
The welcome email arrives minutes after the client signs up. That speed sets the tone for the whole project.
Clients know where to put files
The shared folder is ready for logos, briefs and content. Assets stop arriving as scattered email attachments.
The same pack every time
Every client gets the same template files and the same welcome, so nothing is missed when someone else handles onboarding.
Less admin per client
Folder setup and sharing happen without anyone opening Drive. The team starts on the actual work sooner.
How it works
What happens, step by step
It starts the moment your onboarding form sends a new client.
ClickRuntime creates a folder for the client in your Google Drive and copies in your template files.
It shares the folder with the client's email address.
It sends the client your welcome email with the folder link, written by AI in your tone if you turn that on.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
- 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
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Gmail and Google Drive steps into one automation
Under the hood
The code that runs this automation
import base64
from email.message import EmailMessage
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_event, credentials, state
PARENT_ID, TEMPLATE_ID = "your-clients-folder-id", "your-template-folder-id"
@on_event
def handle(event):
if state.get(event.event_id):
return {"skipped": True}
c = event.event
creds = Credentials(credentials.connection("google", "work"))
drive = build("drive", "v3", credentials=creds, cache_discovery=False)
folder = drive.files().create(body={"name": c["company"], "parents": [PARENT_ID], "mimeType": "application/vnd.google-apps.folder"},
fields="id,webViewLink").execute()
for f in drive.files().list(q=f"'{TEMPLATE_ID}' 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()
drive.permissions().create(fileId=folder["id"], body={"type": "user", "role": "writer", "emailAddress": c["email"]},
sendNotificationEmail=False).execute()
msg = EmailMessage()
msg["To"], msg["Subject"] = c["email"], f"Welcome, {c['company']}"
msg.set_content(f"Hi {c.get('name', '')},\n\nWelcome aboard. Your shared folder is ready: {folder['webViewLink']}\n")
build("gmail", "v1", credentials=creds, cache_discovery=False).users().messages().send(
userId="me", body={"raw": base64.urlsafe_b64encode(msg.as_bytes()).decode()}).execute()
state.set(event.event_id, folder["id"])
return {"folder": folder["id"]}FAQ
Common questions
What access does the client get to the folder?
Can I write my own welcome email?
What if the form is submitted twice for the same 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
Turn sales call notes into a proposal draft in Drive
Send your call notes after a sales call and a proposal draft based on your template is saved in Drive, with the link in your inbox.
See how it worksSend a certificate to everyone who passes your quiz
Anyone who scores over 80% on your quiz receives a PDF certificate with their name by email, and a copy is filed in Drive.
See how it worksGet emailed when a web page changes, with snapshots in Drive
Whenever a page you watch changes, you get an email showing what changed and a copy of the new version is saved to Drive.
See how it worksKeep exploring
Set up “Send new clients a shared Drive folder and welcome email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.