Skip to main content
هذا المقال متاح بالإنجليزية فقط.

How to Set Up Automated Morning Briefs That Pull from Asana, Email, and Slack

ClawAgora Team·

The Morning Ritual That Costs You an Hour Every Day

Here is how most business owners start their day. Open email. Scroll through 40 messages, mentally sorting urgent from noise. Open Asana. Click into three or four projects, check what is overdue, what is due today, whether anything looks stuck. Open Slack. Scroll through six channels, catch up on what happened overnight. Maybe open a calendar app. Maybe check a shared document for a meeting agenda.

By the time you have a picture of where things stand, 45 minutes to an hour have passed. You have not made a single decision or moved any work forward. You have just gathered context.

This is the problem the multi-source morning brief solves. Instead of you going to each tool, your AI agent goes to all of them on your behalf, synthesizes what it finds, and delivers a single readable summary to your phone before you finish your coffee.

This guide shows you exactly how to set it up.


What a Multi-Source Morning Brief Looks Like

Before getting into configuration, here is an example of what a real morning brief looks like when your agent pulls from Asana, email, and Slack:

MORNING BRIEF — Tuesday, April 29, 2026

EMAIL HIGHLIGHTS (7 unread, 3 flagged)
  [URGENT] Sarah Chen — Contract revision needed by EOD
    Client wants updated payment terms. Attached redline.
  [ACTION] DevOps alert — SSL cert expires in 3 days
    Auto-renew failed. Manual renewal required for api.acme.com.
  [FYI] Quarterly board deck comments from David
    Three suggestions on slide 9 (market sizing). No action needed today.
  4 other emails: 2 newsletters, 1 vendor follow-up, 1 receipt

ASANA — OVERDUE & DUE TODAY
  Overdue (4 tasks):
    - Client proposal: Beta Corp (3 days overdue, assigned: Jamie)
    - Q1 retrospective write-up (5 days overdue, assigned: Morgan)
    - Update pricing page (1 day overdue, unassigned)
    - Vendor contract review (2 days overdue, assigned: you)
  Due today (6 tasks):
    - Newsletter send (Marketing, 9 AM)
    - Demo prep for Gamma Inc call (you, 2 PM)
    - API documentation update (Engineering, Alex)
    - Social media calendar approval (Marketing, Jamie)
    - New hire laptop setup (Operations, Morgan)
    - Invoice batch processing (Finance, you)

SLACK HIGHLIGHTS
  #leadership — David asked about Q2 hiring budget (yesterday 4:47 PM)
  #engineering — Alex flagged a performance regression in search (11:32 PM)
  #clients — New support ticket from Gamma Inc re: billing discrepancy
  #random — nothing business-relevant

TODAY'S AGENDA
  10:00 AM — Weekly leadership sync
  2:00 PM — Gamma Inc product demo
  4:30 PM — 1:1 with Jamie (Marketing)

That is everything you need to know, in about 90 seconds of reading. The agent scanned your email inbox, your entire Asana workspace, and every Slack channel you are in — then filtered, prioritized, and formatted the results.


How HEARTBEAT.md Scheduling Works

The schedule for your morning brief lives in a file called HEARTBEAT.md inside your agent's workspace. This file is where you define all recurring routines — not just the morning brief, but any task you want the agent to run automatically on a schedule.

HEARTBEAT.md uses plain-language time expressions. The agent interprets them and the ClawAgora hosting platform handles the underlying cron infrastructure. You do not write cron syntax. You write instructions.

Here is a minimal HEARTBEAT.md entry for a morning brief:

## Morning Brief — 7:30 AM weekdays

Compile a morning brief with the following sections:

1. EMAIL HIGHLIGHTS
   - Check inbox for unread messages
   - Flag urgent items (from key contacts, containing action words, or time-sensitive)
   - Summarize top 3-5 emails with sender, subject, and one-line summary
   - Note total unread count and how many are newsletters/low-priority

2. ASANA — OVERDUE & DUE TODAY
   - Scan all projects across all teams
   - List overdue tasks with days overdue, assignee, and project name
   - List tasks due today with assignee and project
   - Flag unassigned tasks separately

3. SLACK HIGHLIGHTS
   - Check unread messages in all channels
   - Summarize only business-relevant items
   - Include channel name, sender, and one-line summary
   - Skip purely social messages

4. TODAY'S AGENDA
   - List calendar events for today with time and title

Deliver the brief to Telegram.

That is the entire configuration. The agent reads these instructions, executes them at 7:30 AM every weekday, and sends the formatted brief to your Telegram chat.

How the Agent Processes the Brief

When the scheduled time arrives, here is what happens under the hood:

  1. The agent wakes up and reads the HEARTBEAT.md instructions for the morning brief
  2. It calls the email API (via himalaya, a lightweight email tool that lets your agent read and send email, or Gmail integration) to fetch unread messages
  3. It calls the Asana API to query overdue and due-today tasks across all projects
  4. It calls the Slack API to fetch unread messages from channels
  5. It optionally checks your calendar for today's events
  6. It synthesizes all the data into a single formatted message
  7. It sends the message to Telegram

The entire process takes 30 to 90 seconds depending on the size of your workspace. You receive the brief as a single Telegram message — no apps to open, no dashboards to check.


Configuring Each Data Source

The morning brief is only as good as the data sources feeding it. Here is how each one works and what the agent needs to access it.

Email (via himalaya or Gmail)

Your agent reads email through one of two paths:

  • himalaya — A lightweight CLI mail client that connects to any IMAP (the standard protocol that email programs use to connect to your inbox) server (Gmail, Outlook, Titan, iCloud, etc.). You configure the IMAP credentials as environment variables (configuration settings your agent reads on startup) on your agent's instance.
  • Gmail API — Direct OAuth connection to Gmail. Provides richer access including labels, threads, and search.

For the morning brief, the agent needs read access to your inbox. It does not need to send email unless you also want it to draft replies as part of the brief.

The email section of the brief is where the agent's judgment matters most. A raw list of 40 unread emails is not useful. The agent's job is to:

  • Identify which emails are from important contacts (clients, partners, your team)
  • Detect urgency signals (words like "urgent," "by EOD," "deadline," "action required")
  • Filter out newsletters, receipts, and automated notifications
  • Summarize each flagged email in one line

This is something no email client does well on its own. Rules-based filtering gives you folders. An AI agent gives you judgment.

Asana (via Personal Access Token — a private access key that Asana generates for you)

If you have already connected your agent to Asana following How to Connect Your AI Agent to Asana, this section is already set up. The agent uses your Asana PAT to query the API for overdue tasks, tasks due today, and any tasks with approaching deadlines.

The key Asana data points for the morning brief:

Data Point Why It Matters
Overdue tasks These need attention — something slipped
Tasks due today Your team's commitments for the day
Unassigned overdue tasks Nobody is responsible — these get lost
Tasks due tomorrow Early warning for upcoming deadlines
Blocked tasks Work that cannot proceed until something else happens

The agent scans your entire workspace by default. If you have 100 projects across 20 teams, it checks all of them. This is the cross-team visibility that makes the morning brief so much more useful than checking Asana manually — you get a single view across everything.

Slack (via Bot Token)

Your agent connects to Slack using a Bot User OAuth Token. The bot needs to be invited to the channels you want it to monitor. Once in a channel, it can read messages and summarize unread activity.

For the morning brief, the agent scans channels for messages posted since your last brief (or since you last read the channel) and filters for business-relevant content. This means:

  • Important questions or decisions in leadership channels
  • Bug reports or incidents in engineering channels
  • Client-facing issues in support or client channels
  • Action items directed at you or your team

The agent skips social chatter, reaction-only messages, and bot-generated noise. The result is a Slack summary that takes 10 seconds to read instead of 15 minutes to scroll.


Customizing Your Brief Format

The example brief format above is a starting point. Every business owner's needs are different. Here are common customizations:

Priority-First Format

Instead of organizing by source (email, Asana, Slack), organize by urgency:

## Morning Brief format

Organize the brief by priority, not by source:

1. REQUIRES YOUR ACTION TODAY
   Items from any source (email, Asana, Slack) that need you to do something today.

2. TEAM STATUS
   What your team completed yesterday and what they are working on today (from Asana).

3. AWARENESS ITEMS
   Things you should know about but do not need to act on immediately.

4. LOW PRIORITY / FYI
   Newsletters, receipts, social messages, completed notifications.

Executive Summary with Details Below

For leaders who want a 30-second skim option:

## Morning Brief format

Start with a 3-sentence executive summary of the most important things
I need to know today. Then provide detailed sections below for email,
Asana, and Slack.

Metrics-Heavy Brief

For data-driven operators:

## Morning Brief format

Include a metrics section at the top:
- Tasks completed yesterday (total across all teams)
- New tasks created yesterday
- Net overdue change (did overdue count go up or down?)
- Email response rate (how many emails were replied to yesterday vs received)
Then provide the standard email, Asana, and Slack sections.

Meeting Prep Add-On

If you have meetings in the morning, add a prep section:

## Morning Brief format

After the standard sections, add a MEETING PREP section:
For each meeting on today's calendar before noon:
- Meeting title and time
- Key Asana tasks or projects related to this meeting
- Recent Slack messages relevant to the meeting topic
- Any emails from meeting attendees in the last 48 hours

The Difference Between This and a Single-Source Brief

If you have read Morning Briefs, Site Monitoring, and Scheduled Tasks: How to Set Up a Daily AI Routine, you are already familiar with the concept of scheduled agent routines. That guide covers the broad pattern — morning briefs, uptime monitoring, batch processing, end-of-day summaries.

This guide focuses specifically on the multi-source aggregation pattern: pulling from three or more tools into one cohesive summary. The difference matters.

A single-source brief — say, just Asana — tells you what tasks are overdue. Useful, but incomplete. You still need to check email to know whether a client sent something urgent. You still need to check Slack to know whether engineering flagged an incident overnight.

A multi-source brief eliminates the need to check anything else. It is your single pane of glass for the morning. One message, all sources, fully synthesized.

Approach Sources Time to Consume Completeness
Check each tool manually Email + Asana + Slack + Calendar 45-60 minutes High but exhausting
Single-source brief (Asana only) Asana 2 minutes Tasks only — gaps in email and Slack
Multi-source morning brief Email + Asana + Slack + Calendar 2-3 minutes Complete — nothing falls through

The multi-source brief is not just faster. It catches things you would miss entirely. The Slack message in a channel you rarely check. The email buried under newsletters. The Asana task that someone else's team let go overdue. The agent scans everything with equal attention.


Real-World Example: A Founder Running 15-Plus Teams

One ClawAgora user runs an organization with 15-plus teams and over 100 active projects in Asana. Before connecting their AI agent, staying informed required opening dozens of project boards, scanning multiple email accounts, and scrolling through a dozen Slack channels every morning. The process took over an hour and still missed things.

After configuring a multi-source morning brief, their routine looks like this:

  • 7:15 AM — Agent delivers the morning brief to Telegram
  • 7:15 to 7:20 AM — Founder reads the brief while having coffee
  • 7:20 to 7:30 AM — Founder replies to the agent with follow-up questions: "Tell me more about the overdue vendor contract" or "Draft a reply to Sarah's email about the contract revision"
  • 7:30 AM — Founder starts the workday already briefed on everything

Total time: 15 minutes. Previous time: over 60 minutes. And the coverage is more thorough because the agent scans data the founder would never have checked manually.

The same user also configured a weekly L10 meeting brief that pulls from Asana to compile scorecard metrics, rock progress, and an issues list — delivered to Telegram 30 minutes before the meeting. For more on how AI agents enhance Asana-based project tracking, see AI Agent + Asana: Automate Project Tracking, Standup Summaries, and Overdue Alerts.


Handling Partial Failures Gracefully

When you depend on a morning brief, reliability matters. What happens if one of your data sources is temporarily unavailable?

Add a resilience instruction to your HEARTBEAT.md or SOUL.md:

## Brief Resilience Rules

If any data source is unavailable when compiling a scheduled brief:
1. Deliver the brief with all available data sources
2. Note which source was unavailable at the top of the brief
3. Retry the failed source once after 60 seconds
4. If the retry also fails, deliver without that section and note it
Never delay the entire brief because one source is down.

This ensures you still get your 7:30 AM brief even if Slack's API had a hiccup. A partial brief is far more useful than no brief.


Getting Started: The 20-Minute Setup

If you already have an AI agent on ClawAgora with email and Slack connected, adding the multi-source morning brief takes about 20 minutes:

  1. Connect Asana if you have not already — follow How to Connect Your AI Agent to Asana (15 minutes)
  2. Add the morning brief entry to HEARTBEAT.md — copy the example from this guide and customize the sections and time (5 minutes)
  3. Wait for tomorrow morning — the brief will arrive at the time you specified

That is it. No code. No complex configuration. No integration platform. Just plain-language instructions in a text file, and a hosting platform that handles the scheduling infrastructure.

If you do not have an agent set up yet, start with How to Set Up an AI Chief of Staff for Your Small Business — that guide walks you through the full agent setup from account creation to Telegram connection. Then come back here to add the multi-source morning brief.


From Reactive to Proactive: Why the Brief Changes Everything

The morning brief is not just a time-saver. It represents a fundamental shift in how you interact with your business tools.

Without the brief, you are reactive. You open tools when you remember to. You check channels when something reminds you. You discover overdue tasks when someone complains. Information reaches you through friction — you have to go get it.

With the brief, you are proactive. Information comes to you, filtered and synthesized, before you start your day. You know about the overdue task before the client asks. You know about the Slack incident before the standup. You know about the urgent email before it becomes a missed deadline.

The agent does not replace your tools. Asana is still where your team manages tasks. Slack is still where your team communicates. Email is still where external correspondence happens. The agent sits on top of all of them, doing the synthesis work that no single tool can do on its own — and delivering the result to wherever you actually look first thing in the morning.

For most people, that is their phone. And for most ClawAgora users, that means Telegram. One message. Everything you need to know. Every morning. Automatically.

For a full story of how a 20-person agency set this up in three days, read How a 20-Person Agency Replaced Their Departing Operations Director with an AI Agent.