Real-time Gmail triage with urgent Slack alerts
Geni reads every new Gmail message, classifies it by priority and intent, applies a label, and pings Slack only when something is genuinely urgent.
Build me an agent workflow that triages my Gmail inbox in real time and pings me on Slack only when something is genuinely urgent.
Trigger: poll Gmail for new emails using the new_email event. Run on every new message that arrives in my inbox.
For each new email, the agent should: 1) Use Gmail Get a Message to fetch the full message and read the subject, snippet, and body. 2) Classify the email on two axes: priority (Urgent, Important, Normal, or Low) and intent (customer issue, sales reply, internal request, newsletter, automated notification, or other). The agent uses judgement here, this is not a deterministic pipeline.
Then apply a custom priority label in Gmail using Modify Message Labels. The labels are Priority/Urgent, Priority/Important, Priority/Normal, and Priority/Low. The first time a label is needed, create it via Gmail Create a Label, then reuse it for every subsequent email. List existing labels first if needed so we do not duplicate.
For anything classified as Urgent, post a concise alert to Slack using Send a Message into the channel #inbox-urgent. The Slack message should contain: sender name and email, a one-line summary of what they want, a suggested next action, and a link to the Gmail thread.
Important: skip the Slack alert for newsletters, calendar invites, and known automated senders (no-reply addresses, marketing domains, system notifications). These should still be labeled in Gmail but never posted to Slack. The Slack channel is for human-judgement urgency only.
Keep the Slack message short and skimmable. I should be able to glance at my phone and decide in five seconds whether to open the email now or later.
Additional information
What does this prompt do?
- Polls Gmail for new emails and reads each one's subject, snippet, and body.
- Classifies the email on two axes: priority (Urgent, Important, Normal, Low) and intent (customer issue, sales reply, internal request, newsletter, automated notification).
- Applies a custom Gmail priority label to every message, creating the labels the first time they are needed.
- Posts a concise alert to a Slack channel only for Urgent items, with sender, one-line summary, suggested next action, and the thread link.
- Skips Slack alerts for newsletters, calendar invites, and known automated senders, but still labels them so your inbox stays organized.
What do I need to use this?
- A Gmail account connected to General Input with permission to read messages and modify labels.
- A Slack workspace connected with permission to post messages.
- A Slack channel for urgent alerts (default: #inbox-urgent), or a DM target.
- Optional: a list of automated sender domains or keywords you want to suppress from Slack alerts.
How can I customize it?
- Change the Slack destination from #inbox-urgent to a DM, a different channel, or a Slack thread for a specific deal.
- Tighten or loosen the Urgent bar (e.g. only customer issues from paying accounts, or anything from a named investor list).
- Adjust the label set, for example splitting Urgent into Urgent-Customer and Urgent-Internal, or adding an intent label like Newsletter or Sales-Reply.
- Add a quick-action step like drafting a reply for Urgent customer issues before the Slack alert fires.
Frequently asked questions
How fast does the agent react to a new email?
Will this label every email in my inbox, or only new ones?
What stops the agent from spamming Slack with non-urgent stuff?
Do I need to create the Gmail labels myself first?
Can I run this on a shared inbox like support@?
Stop missing the email that actually mattered.
Connect Gmail and Slack once, and Geni triages every new message in real time so only the urgent stuff pings you.