This guide explains how to configure and use the automated iteration status email notification system for Symphonic-Joules.
The iteration status email notification system automatically parses the progress dashboard and sends daily status updates to team leads. It identifies tasks that are:
:runner:) - Tasks actively being worked on:hand:) - Tasks waiting for attention or blockedThe GitHub Actions workflow (iteration-status-emails.yml) performs the following:
docs/january-2026-progress.md (or similar dashboard files):runner: (in progress):hand: (blocked/needs review)To use this workflow, you must configure the following secrets in your GitHub repository:
| Secret Name | Description | Example Value |
|---|---|---|
SMTP_SERVER |
SMTP server address | smtp.gmail.com |
SMTP_PORT |
SMTP server port | 587 (for TLS) or 465 (for SSL) |
SMTP_USERNAME |
SMTP authentication username | notifications@yourcompany.com |
SMTP_PASSWORD |
SMTP authentication password or app password | your-secure-password |
SENDER_EMAIL |
Email address to send from | symphonic-bot@yourcompany.com |
TEAM_LEADS_EMAIL |
Comma-separated list of recipient emails | meganrogge@example.com,anthonykim1@example.com |
smtp.gmail.com587smtp.office365.com587smtp.sendgrid.net587apikeyemail-smtp.us-east-1.amazonaws.com (adjust region)587The workflow parses markdown files looking for specific emoji indicators. Ensure your dashboard follows this format:
## Week 1 Tasks
### Core Features
- ✅ Completed task
- 🏃 Task in progress - @assignee (this will be detected)
- ✋ Blocked task - @assignee (this will be detected)
- 📋 Planned task
### Documentation
- 🏃 API documentation - @contributor (this will be detected)
- ✋ Review needed for setup guide - @reviewer (this will be detected)
Both Unicode emoji and GitHub shortcodes are supported:
🏃 or :runner:✋ or :hand:For the parsing to work correctly, tasks must follow this exact format:
- 🏃 Task description - @assignee
- ✋ Another task - @assignee (optional notes)
Critical formatting rules:
- 🏃 or ✋ 🏃 (text) will be filtered out as a legend entry)##) or legend sectionsThe workflow filters out:
docs/january-2026-progress.mdAfter triggering the workflow:
Check Secrets Configuration:
# Verify secrets are set (shows names only, not values)
# Navigate to: Settings → Secrets and variables → Actions
Common Issues:
Verify Dashboard Format:
:runner:)docs/january-2026-progress.mdEdit .github/workflows/iteration-status-emails.yml:
schedule:
# Run at different time (e.g., 5 PM UTC)
- cron: '0 17 * * *'
# Run twice daily (9 AM and 5 PM UTC)
- cron: '0 9,17 * * *'
# Run only on weekdays (Monday-Friday)
- cron: '0 9 * * 1-5'
Update the workflow to monitor different files:
paths:
- 'docs/january-2026-progress.md'
- 'docs/february-2026-progress.md' # Add more paths
Update the TEAM_LEADS_EMAIL secret with comma-separated addresses:
lead1@example.com,lead2@example.com,lead3@example.com
Uncomment the attachments line in the workflow:
attachments: docs/january-2026-progress.md
Subject: [Symphonic-Joules] Daily Iteration Status - 2026-01-22
Hello Team Leads,
This is your daily iteration status update for Symphonic-Joules.
=== IN PROGRESS TASKS (🏃) ===
Count: 3
15: - 🏃 Audio processing framework implementation - @contributor1
16: - 🏃 API reference documentation - @contributor3
25: - 🏃 Unit test coverage for audio module - @contributor1
=== BLOCKED/NEEDS REVIEW TASKS (✋) ===
Count: 1
17: - ✋ Energy calculation module design - @contributor2 (blocked on physics validation)
=== SUMMARY ===
- Tasks in progress: 3
- Tasks blocked/needing review: 1
View full dashboard: https://github.com/JaclynCodes/Symphonic-Joules/blob/main/docs/january-2026-progress.md
---
Automated notification from Symphonic-Joules Iteration Status System
If you encounter issues: