Daily Outlook Triage logo

Daily Outlook Triage

OrganizationPopular
microsoft
daily-outlook-triage

Get a quick summary of your day by pulling your inbox emails and calendar meetings. Helps you triage and prioritize your workday.

Overview

Publishermicrosoft
Repositorywork-iq
Skill namedaily-outlook-triage
Stars
1K
Forks
140
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by microsoft on GitHub. Read the source before you install it.

Installation

Install the Daily Outlook Triage AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/microsoft/work-iq/tree/main/plugins/workiq-productivity/skills/daily-outlook-triage
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/microsoft/work-iq.git /tmp/work-iq
mkdir -p .claude/skills
cp -r /tmp/work-iq/plugins/workiq-productivity/skills/daily-outlook-triage .claude/skills/daily-outlook-triage
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Daily Outlook Triage in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Daily Outlook Triage on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Daily Outlook Triage is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Daily Outlook Triage

This skill provides a comprehensive overview of your day by analyzing your inbox emails and calendar meetings, helping you quickly triage and prioritize your workday.

What This Skill Does

  1. Identifies you using Microsoft Graph to get your profile and time zone
  2. Pulls inbox emails to surface unread and important messages requiring attention
  3. Retrieves today's meetings from your calendar with details
  4. Generates a triage summary highlighting priorities, conflicts, and action items

Instructions

Step 1: Get User Profile and Time Zone

workiq-ask (
  question: "What is my profile information including display name, email address, and time zone settings?"
)

Extract the user's displayName, email, and timeZone from the response. This provides:

  • User identity for personalized greeting
  • Time zone for accurate meeting times

Step 2: Pull Inbox Emails

Search for recent emails in the inbox:

workiq-ask (
  question: "Show me my unread and recent inbox emails from the last 24 hours. For each email include the sender name and email, subject line, received time, importance level, and whether it has attachments."
)

For each relevant email, note:

  • Sender name and email
  • Subject line
  • Received time
  • Importance flag (high priority emails)
  • Whether it has attachments

Step 3: Get Today's Calendar

Retrieve all meetings for today:

workiq-ask (
  question: "List all my calendar events for today with subject, start time, end time, location, attendees, whether I'm the organizer, and my response status for each."
)

For each meeting, capture:

  • Subject/title
  • Start and end times
  • Location (physical or Teams link)
  • Attendees
  • Whether user is organizer or attendee
  • Response status (accepted, tentative, declined)

Step 4: Generate Triage Summary

Create a structured summary with the following sections:

📅 Today's Schedule Overview
  • Total number of meetings
  • First meeting start time
  • Any back-to-back meetings (potential conflicts)
  • Total meeting hours vs free time
  • Highlight all-day events
📧 Inbox Highlights
  • Count of unread emails
  • High-importance emails requiring immediate attention
  • Emails from VIPs (manager, skip-level, key stakeholders)
  • Action items or requests identified in subject lines
⚠️ Attention Required
  • Meeting conflicts or overlaps
  • Meetings starting soon (within 30 minutes)
  • Unresponded meeting invites
  • High-priority unread emails
📋 Suggested Priorities

Based on the analysis, suggest:

  1. Urgent items to address first
  2. Meetings to prepare for
  3. Emails that need responses
  4. Blocks of free time for focused work

Output Format

Present the summary in a clear, scannable format:

Good morning, {Name}! Here's your day at a glance:

📅 MEETINGS ({count} today)
━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏰ 9:00 AM - 9:30 AM | Team Standup
   📍 Teams | 👥 5 attendees
   
⏰ 10:00 AM - 11:00 AM | 1:1 with Manager
   📍 Teams | 👥 2 attendees
   
⏰ 2:00 PM - 3:00 PM | Sprint Planning
   📍 Conference Room A | 👥 8 attendees

📧 INBOX ({unread} unread)
━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 HIGH: Budget approval needed - CFO (2 hours ago)
📩 RE: Project timeline - PM Lead (4 hours ago)
📩 Weekly report - Auto-generated (6 hours ago)

⚠️ NEEDS ATTENTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Meeting conflict: 2:00-3:00 PM overlaps with another invite
• Pending invite: Design Review (no response yet)
• 1 high-priority email awaiting reply

💡 SUGGESTED PRIORITIES
━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Respond to CFO's budget email before 9 AM standup
2. Prepare for 1:1 - review last week's action items
3. Block 11:00-12:00 for focused work (no meetings)

Parameters

ParameterRequiredDefaultDescription
Time RangeNoTodayDate range for calendar (default: today)
Email LookbackNo24 hoursHow far back to search emails
Include Low PriorityNoNoWhether to include low-priority emails

Example Usage

User: "What does my day look like?" or "Help me triage my day" or "Daily outlook summary"

The skill will:

  1. Identify the user (e.g., "Firstname1 Lastname1")
  2. Pull unread/recent inbox emails
  3. Get all meetings scheduled for today
  4. Generate a prioritized triage summary

Required MCP Tools

MCP ServerToolPurpose
workiq (Local WorkIQ CLI)askUser profile, inbox email retrieval, and calendar/meeting retrieval

Tips for Effective Triage

  • Run this skill first thing in the morning
  • Use the suggested priorities to plan your day
  • Address high-priority emails before your first meeting
  • Note any meeting conflicts and resolve them early
  • Identify free time blocks for deep work

Error Handling

Common Failure Modes

Authentication or Permission Errors
  • Symptom: ask returns an authentication or permission error.
  • Cause: The user's session token is expired or the required Microsoft Graph permissions (Mail.Read, Calendars.Read, User.Read) have not been granted.
  • Resolution: Prompt the user to re-authenticate with their Microsoft 365 account and confirm the necessary API permissions are enabled.
WorkIQ CLI Unavailable
  • Symptom: ask fails to respond or returns a connection error.
  • Cause: The local WorkIQ CLI MCP server is not running or misconfigured.
  • Resolution: Notify the user that the WorkIQ CLI is unreachable. Suggest verifying the server configuration and retrying.
No Emails Returned
  • Symptom: ask returns no email results for the requested period.
  • Cause: No emails were received in the specified lookback window, or the question did not match any messages.
  • Resolution: Inform the user that no recent inbox emails were found. Retry with a broader time window (e.g., "last 48 hours") before concluding the inbox is empty.
No Calendar Events Found
  • Symptom: ask returns no calendar events for today.
  • Cause: The user genuinely has no meetings, or the date context was ambiguous.
  • Resolution: Rephrase the question with an explicit date. If the response confirms no events, report that the calendar is clear for today.
Incorrect or Missing Time Zone
  • Symptom: Meeting times appear in UTC or are offset by several hours.
  • Cause: The profile query did not return time zone information, or the calendar question did not specify a time zone.
  • Resolution: Fall back to UTC and explicitly note in the summary that times are shown in UTC. Prompt the user to confirm their preferred time zone.
Partial Data Retrieved
  • Symptom: One ask call succeeds but another returns an error or incomplete data.
  • Resolution: Present the sections that did complete successfully. Clearly label any missing section (e.g., "⚠️ Calendar unavailable — could not retrieve today's meetings") so the user knows the summary is incomplete and can take manual action.

Frequently asked questions

What does the Daily Outlook Triage AI skill do?

Get a quick summary of your day by pulling your inbox emails and calendar meetings. Helps you triage and prioritize your workday.

Why use Daily Outlook Triage on TypingMind?

Because you install it once and use it with any model. Daily Outlook Triage is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Daily Outlook Triage in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/microsoft/work-iq/tree/main/plugins/workiq-productivity/skills/daily-outlook-triage. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Daily Outlook Triage?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Daily Outlook Triage?

As many as you like. As long as a model supports skills, you can use Daily Outlook Triage with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Daily Outlook Triage AI skill free?

It is published on GitHub by microsoft. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇