Every 5 minutes
Get urgent emails on WhatsApp
When an important email arrives, you get a WhatsApp message with a one-line summary, and the email is labelled in Gmail.
- Runs
- Every 5 minutes
- Apps
- Gmail, WhatsApp Business
- AI
- Yes, uses the built-in AI allowance
- Access
- Gmail modify; WhatsApp messaging
Send this to your assistant
Create a ClickRuntime automation: every 5 minutes, check new Gmail messages, decide which are urgent, send me a WhatsApp with a one-line summary of each urgent one, and label it Urgent.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When you're on site, in meetings or travelling, you can't keep watching your inbox, but some emails can't wait: a client with a problem, a payment issue, a change to tomorrow's plans.
Checking new mail every few minutes and sending only the urgent ones to WhatsApp lets you step away from email without worrying about missing the one that matters.
What you get out of it
Step away from email
You can leave the inbox closed and still hear about what's urgent.
A summary, not the whole email
Each alert says who wrote and what they need in one line.
Labelled for later
Urgent emails are labelled in Gmail, so they're easy to find when you're back.
Quiet for everything else
Newsletters and routine mail never reach your phone.
How it works
What happens, step by step
Every 5 minutes it checks Gmail for new emails in your inbox.
AI reads each one and decides whether it's urgent, with a one-line summary.
Urgent emails are sent to you on WhatsApp and labelled Urgent in Gmail.
It remembers which emails it has checked, so you're never alerted twice.
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 WhatsApp Business
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 WhatsApp Business 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 clickruntime import on_trigger, credentials, http, state, ai, report_fetched
MY_PHONE = "447700900123"
URGENT_LABEL = "Label_123"
SCHEMA = {"type": "object", "properties": {"urgent": {"type": "boolean"}, "summary": {"type": "string"}}, "required": ["urgent", "summary"]}
WA = "https://graph.facebook.com/v20.0/your-phone-number-id/messages"
def wa(to, text):
http.post(WA, headers={"Authorization": f"Bearer {credentials.secret('WHATSAPP_TOKEN')}"},
json={"messaging_product": "whatsapp", "to": to, "type": "text", "text": {"body": text}}).raise_for_status()
gmail = lambda: build("gmail", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).users()
@on_trigger
def run(event):
seen = state.get("seen") or []
ids = [m["id"] for m in gmail().messages().list(userId="me", q="in:inbox newer_than:1d", maxResults=30).execute().get("messages", [])]
new = [i for i in ids if i not in seen]
report_fetched(len(new))
if not new:
return {"summary": "Nothing new"}
for i in new:
m = gmail().messages().get(userId="me", id=i, format="metadata", metadataHeaders=["From", "Subject"]).execute()
head = {h["name"]: h["value"] for h in m["payload"]["headers"]}
r = ai.generate(f"From: {head.get('From')}\nSubject: {head.get('Subject')}\n{m['snippet']}", json_schema=SCHEMA, max_output_tokens=60,
system="Urgent = a client problem, a payment issue, or something needed today.").json
if r["urgent"]:
wa(MY_PHONE, f"📧 {head.get('From')}: {r['summary']}")
gmail().messages().modify(userId="me", id=i, body={"addLabelIds": [URGENT_LABEL]}).execute()
state.set("seen", (seen + new)[-300:])
return {"checked": len(new)}FAQ
Common questions
How does it decide what's urgent?
Does it read the whole email?
Will it mark emails as read?
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
Reply to WhatsApp customers by replying to an email
When you reply in Gmail to a "WhatsApp from … (+number)" email, your reply text is sent to that customer on WhatsApp from your business number within 5 minutes.
See how it worksGet a meeting prep brief on WhatsApp each morning
Every morning you get a WhatsApp brief for each of today's meetings, with a summary of your recent emails with the people you're meeting.
See how it worksAnswer customers on WhatsApp and email you what the bot can't
Customers get an instant answer on WhatsApp, and anything the bot can't handle is emailed to you with the conversation.
See how it worksKeep exploring
Set up “Get urgent emails on WhatsApp” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.