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.

Agentic Task
GmailSlackPersonal ProductivityOperationsNotifications & AlertsEmail AutomationFeedback Triage

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?
Gmail's new_email trigger polls your inbox on a short interval, so urgent alerts typically reach Slack within a couple of minutes of the email arriving.
Will this label every email in my inbox, or only new ones?
Only new emails received after the workflow is enabled are processed. Existing mail stays untouched unless you ask the agent to backfill.
What stops the agent from spamming Slack with non-urgent stuff?
The agent classifies each email before deciding to alert. Newsletters, calendar invites, and known automated senders are labeled but never posted to Slack. Only items it judges as Urgent trigger a Slack message.
Do I need to create the Gmail labels myself first?
No. The agent uses Create a Label the first time it needs each priority label, then reuses them with Modify Message Labels going forward.
Can I run this on a shared inbox like support@?
Yes, as long as the connected Gmail account can read that mailbox. You will likely want to retune the Urgent definition for a support context, for example anything from a paying customer with frustrated language.

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.