Skip to content

Daily

Get a morning priorities email from Notion and Gmail

Every morning at 7 you get one email that combines your open Notion tasks and important unread Gmail, put in order by AI.

Runs
Daily
Apps
Gmail, Notion
AI
Yes, uses the built-in AI allowance
Access
Notion read; Gmail gmail.readonly, gmail.send

Send this to your assistant

Create a ClickRuntime automation: every morning at 7, email me my top priorities from my Notion tasks and my important unread Gmail.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A founder of a small studio starts each day by opening Notion to see what is due, then Gmail to see what came in overnight, then trying to decide what matters most. By the time a plan exists, the first hour has gone, and an urgent client email sometimes sits under a dozen newsletters.

This automation does the morning sort for you. At 7 it reads your open Notion tasks and your important unread emails, and AI turns them into one short email: what to do first, what can wait, and which emails need a reply today.

What you get out of it

  • A plan before your first coffee

    One email tells you where to start. The first hour goes on the work, not on deciding what the work is.

  • Tasks and email in one view

    Deadlines in Notion and requests in Gmail compete for the same time. Seeing them together makes the trade-offs obvious.

  • Urgent emails surface

    Important unread messages are pulled out and ranked with your tasks. A client request does not get lost under newsletters.

  • Short enough to read on your phone

    The digest is a handful of lines with clear priorities. You can read it on the way to work and know what the day looks like.

How it works

What happens, step by step

  1. Every morning at 7, ClickRuntime reads the open tasks from your Notion task database.

  2. It also collects the subjects and senders of your important unread Gmail messages.

  3. AI ranks everything into a short list of priorities, with the emails that need a reply today.

  4. The digest is emailed to you.

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 Notion and share the database you want it to use

What you get

RunsDaily
Get a morning priorities email from Notion and Gmailtoday, 9:00Succeeded
Email · Morning priorities1. Send Contoso the revised proposal (due today). 2. Reply to Acme about the invoice question.

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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

  • Run it at a different time, more or less often, or only on weekdays
  • 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 Notion steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
daily_business_digest_from_notion_and_gmail.pyexample
from clickruntime import on_trigger, credentials, http, ai, notify

DB_ID = "your-notion-tasks-database-id"

@on_trigger
def run(event):
    n = {"Authorization": f"Bearer {credentials.connection('notion', 'work')}", "Notion-Version": "2022-06-28"}
    pages = http.post(f"https://api.notion.com/v1/databases/{DB_ID}/query", headers=n,
                      json={"filter": {"property": "Status", "status": {"does_not_equal": "Done"}}, "page_size": 50}).json()["results"]
    tasks = [p["properties"]["Name"]["title"][0]["plain_text"] for p in pages if p["properties"]["Name"]["title"]]
    g = {"Authorization": f"Bearer {credentials.connection('google', 'work')}"}
    base = "https://gmail.googleapis.com/gmail/v1/users/me/messages"
    ids = http.get(base, headers=g, params={"q": "is:unread is:important newer_than:2d", "maxResults": 20}).json().get("messages", [])
    emails = []
    for m in ids:
        hdrs = http.get(f"{base}/{m['id']}", headers=g, params={"format": "metadata", "metadataHeaders": ["From", "Subject"]}).json()["payload"]["headers"]
        emails.append(" | ".join(h["value"] for h in hdrs))
    listing = "Tasks:\n" + "\n".join(tasks) + "\n\nEmails:\n" + "\n".join(emails)
    try:
        body = ai.generate(listing, system="Write a short morning brief: top 3 priorities, emails needing a reply today, what can wait.", max_output_tokens=500).text
    except ai.AIError:
        body = listing
    notify.email_me(f"Today: {len(tasks)} open tasks, {len(emails)} important emails", body)
    return {"tasks": len(tasks), "emails": len(emails)}

FAQ

Common questions

Which Notion tasks are included?
Tasks in your chosen database that are not marked done, with due dates up to the end of the day or overdue. You can change the filter to match your own status names.
Which emails count as important?
Unread emails that Gmail has marked as important. You can narrow it further, for example to the last 24 hours or to certain labels.
Can I get it at a different time?
Yes. Set the schedule to any time and time zone, or only on weekdays.
What permissions does it need?
Notion read; Gmail gmail.readonly, gmail.send. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it runs (daily). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a morning priorities email from Notion and Gmail” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.