To set up Email Daily Summary in OpenClaw, configure an SMTP or transactional email provider (SendGrid, Mailgun, or standard SMTP), define your digest schedule and content sources in OpenClaw's config, and let OpenClaw automatically generate and send daily email summaries. This is a direct API integration that aggregates data from OpenClaw's activity log and connected integrations into a formatted daily digest delivered to any email address.
Why Set Up Email Daily Summary in OpenClaw?
Staying on top of what your AI agent is doing across multiple integrations requires visibility. Without it, OpenClaw runs in the background and you only notice issues when something breaks or a deadline is missed. The Email Daily Summary integration solves this by delivering a concise digest to your inbox each morning covering what happened, what was completed, and what needs attention — without requiring you to log into OpenClaw or check dashboards.
The digest format is highly configurable. You can include completed task counts, new messages received across Telegram and Discord, emails processed, summaries of Notion pages updated, workflow errors that occurred, and any monitored metrics that crossed thresholds. OpenClaw's AI layer generates readable prose summaries rather than raw data dumps, making the digest genuinely useful even for team members who do not use OpenClaw directly.
This integration differs from Gmail integration in an important way: Gmail provides full bidirectional email access (read and write), while Email Daily Summary is output-only — it sends digests to an inbox but does not read any email. If you need to read emails and trigger OpenClaw workflows based on email content, use the Gmail integration instead. Email Daily Summary is specifically for scheduled automated reporting, keeping stakeholders informed about what OpenClaw has been doing.
Integration method
Email Daily Summary works by configuring OpenClaw to compose a structured digest email at a scheduled time each day and deliver it via an SMTP server or transactional email API (SendGrid, Mailgun, or Postmark). OpenClaw pulls data from its activity log, connected integrations, and configured data sources, generates a formatted summary using AI, and sends the HTML or plain-text email through your configured mail provider. No email reading is required — this integration only sends outgoing digest emails.
Prerequisites
- OpenClaw installed and running on your machine with at least one other integration configured (so there is activity to summarize)
- An outbound email provider: either standard SMTP credentials (Gmail SMTP, your hosting provider) or a transactional email API account (SendGrid, Mailgun, or Postmark — all have free tiers)
- A destination email address to receive the digest
- Basic familiarity with SMTP settings or API keys
Step-by-step guide
Choose and Configure Your Email Provider
Choose and Configure Your Email Provider
OpenClaw's Email Daily Summary can send via standard SMTP or via transactional email APIs. SMTP is simpler to configure but has rate limits and deliverability considerations. Transactional email APIs (SendGrid, Mailgun, Postmark) provide better deliverability, tracking, and higher sending limits. For SMTP with Gmail: enable 2-Step Verification on your Google account, then generate an App Password (myaccount.google.com/apppasswords). Use this app password as your SMTP password — your regular Google password will not work for programmatic SMTP access. Gmail SMTP settings are: host `smtp.gmail.com`, port `587`, encryption `STARTTLS`. For SendGrid (recommended for reliability): sign up at sendgrid.com (free tier includes 100 emails/day forever). Go to Settings > API Keys > Create API Key, select 'Restricted Access', and enable 'Mail Send'. Copy the API key — it starts with `SG.`. For Mailgun: sign up at mailgun.com, add and verify a sending domain, and get your API key from the dashboard. All three options work well. Gmail SMTP is the fastest to set up if you already have a Gmail account. SendGrid is the most reliable for long-term production use.
1# Option A: Gmail SMTP settings2# host: smtp.gmail.com3# port: 5874# username: your-email@gmail.com5# password: YOUR_APP_PASSWORD (NOT your Gmail password — use App Password)67# Generate App Password: myaccount.google.com/apppasswords8# Select app: Mail, Select device: Other, name it 'OpenClaw'910# Test SMTP connection:11curl --url 'smtp://smtp.gmail.com:587' \12 --ssl-reqd \13 --mail-from 'you@gmail.com' \14 --mail-rcpt 'you@gmail.com' \15 -u 'you@gmail.com:YOUR_APP_PASSWORD' \16 --upload-file <(echo -e 'From: you@gmail.com\nTo: you@gmail.com\nSubject: Test\n\nSMTP test from OpenClaw')1718# Option B: SendGrid API key test19curl -X POST https://api.sendgrid.com/v3/mail/send \20 -H "Authorization: Bearer YOUR_SENDGRID_API_KEY" \21 -H "Content-Type: application/json" \22 -d '{"personalizations":[{"to":[{"email":"you@gmail.com"}]}],"from":{"email":"you@gmail.com"},"subject":"SendGrid Test","content":[{"type":"text/plain","value":"Test"}]}'Pro tip: SendGrid requires email sender verification — add and verify your sending email address at app.sendgrid.com/settings/sender_auth before any emails will be delivered. This takes about 5 minutes and is a one-time step.
Expected result: Your test email send command succeeds and the test message arrives in the destination inbox, confirming your email provider credentials are correct.
Configure the Email Daily Summary Integration in OpenClaw
Configure the Email Daily Summary Integration in OpenClaw
Open `~/.openclaw/config.yaml` and add the `email_daily_summary` integration block. This configuration defines three things: how to send (your email provider credentials), when to send (cron schedule), and what to include (content sources). The `schedule` field uses standard cron syntax. `0 8 * * 1-5` sends at 8 AM Monday through Friday. `0 7 * * *` sends every day at 7 AM. Use a cron expression generator (crontab.guru) if you are unfamiliar with cron syntax. The `content_sources` section defines what OpenClaw pulls into the digest. Each source references an integration and specifies what data to include. The `summary_prompt` field is the AI instruction for how to format that section of the digest — this lets you customize the tone and detail level per section. The `to` field can be a single email address or an array of addresses for team distribution. The `from_name` sets the sender display name in email clients.
1# ~/.openclaw/config.yaml2integrations:3 email_daily_summary:4 provider: sendgrid # Options: sendgrid | mailgun | smtp5 api_key: "SG.XXXXXXXXXXXXXXXXX" # For SendGrid6 # smtp_host: smtp.gmail.com # Uncomment for SMTP7 # smtp_port: 5878 # smtp_user: you@gmail.com9 # smtp_password: APP_PASSWORD10 from_email: "you@gmail.com"11 from_name: "OpenClaw Daily Summary"12 to:13 - "you@gmail.com"14 - "teammate@company.com" # Optional: send to multiple recipients15 subject: "OpenClaw Daily Digest — {{date}}"16 schedule: "0 8 * * 1-5" # 8 AM weekdays (cron format)17 timezone: "America/New_York" # Timezone for schedule18 format: html # Options: html | plaintext19 content_sources:20 - source: activity_log21 label: "Yesterday's Activity"22 summary_prompt: "Summarize all completed workflows and actions in 3-5 bullet points"23 lookback_hours: 2424 - source: errors25 label: "Errors & Warnings"26 summary_prompt: "List any workflow errors or API failures, grouped by integration"27 lookback_hours: 2428 include_if_empty: false # Skip this section if no errorsPro tip: Set `include_if_empty: false` on sections that are not always populated (like errors or alerts) to keep the digest concise on days when nothing goes wrong — a digest full of 'No issues found' sections is less useful than a clean, focused summary.
Expected result: `clawhub reload` completes without errors and OpenClaw logs show the digest schedule registered with the next scheduled delivery time.
Customize the Digest Content and Template
Customize the Digest Content and Template
The default digest template covers activity log and errors, but you can add sections for any connected integration. Each integration you have configured in OpenClaw can contribute a section to the daily digest — Notion page updates, Telegram messages processed, GitHub commits, Discord interactions, or any monitored data. For each additional content source, add a new entry under `content_sources` with the integration name matching exactly the key under `integrations` in your config (e.g., `notion`, `telegram`, `discord`). The `summary_prompt` field controls how OpenClaw's AI narrates that section — you can request bullet points, paragraph prose, tables, or numbered lists. You can also configure a global `intro_prompt` that generates a short executive summary at the top of the email pulling from all content sources, and a `closing_prompt` for a forward-looking 'coming up today' section based on scheduled tasks. For HTML format, OpenClaw uses a default clean email template. If you want to customize the visual design, you can provide an `html_template_path` pointing to a custom HTML template file with `{{section_name}}` placeholders.
1# Extended content_sources configuration example2content_sources:3 - source: activity_log4 label: "Completed Yesterday"5 summary_prompt: "List all completed tasks as bullet points with integration name in brackets"6 lookback_hours: 247 - source: errors8 label: "Issues to Review"9 summary_prompt: "List errors grouped by integration. For each error include: integration name, error type, how many times it occurred"10 lookback_hours: 2411 include_if_empty: false12 - source: telegram13 label: "Telegram Activity"14 summary_prompt: "Summarize: how many messages were received, how many commands were processed, any unusual patterns"15 lookback_hours: 2416 include_if_empty: false17 - source: notion18 label: "Notion Updates"19 summary_prompt: "List pages created or updated via OpenClaw with page title and change type"20 lookback_hours: 2421 include_if_empty: false2223# Global digest framing prompts (optional):24intro_prompt: "Write a 2-sentence executive summary of yesterday's OpenClaw activity, highlighting the most important accomplishments"25closing_prompt: "Note any upcoming scheduled tasks for the next 24 hours based on configured workflows"Pro tip: Keep the digest to 5-7 sections maximum. Long digests get skimmed rather than read — prioritize the sections that actually drive decisions (errors, key completions, flagged items) and cut anything that is informational-only without requiring action.
Expected result: The digest template is configured with your desired sections. Running a manual test delivery (next step) shows all sections populated with the correct format.
Test the Digest with a Manual Trigger
Test the Digest with a Manual Trigger
Before waiting for the scheduled delivery time, trigger a manual digest send to verify that all content sources populate correctly, the email format looks right, and delivery to your inbox works. OpenClaw provides a CLI command to trigger the daily summary immediately: `clawhub run email_daily_summary`. This compiles the digest from the past 24 hours of activity (or whatever `lookback_hours` is set to), generates AI summaries for each section, and sends the email to your configured recipients. Check the resulting email for: correct recipient, formatted sections, readable AI-generated summaries, and no placeholder text like `{{date}}` that was not substituted. Also verify the 'From' display name and email address match your config. If any section shows empty content or errors, check the OpenClaw log (`~/.openclaw/logs/openclaw.log`) for details about which content source failed to populate. RapidDev recommends sending the first few test digests to just your own email before adding team members to the `to` list — tune the content and format until you are satisfied, then expand the recipient list.
1# Trigger manual digest delivery immediately:2clawhub run email_daily_summary34# View the digest generation log:5tail -f ~/.openclaw/logs/openclaw.log | grep -i "email_daily_summary"67# Check upcoming scheduled runs:8clawhub schedule list910# Expected log output:11# [INFO] email_daily_summary: Collecting data from 3 content sources12# [INFO] email_daily_summary: Generating AI summaries for each section13# [INFO] email_daily_summary: Sending via SendGrid to you@gmail.com14# [INFO] email_daily_summary: Delivered successfully. Message ID: xxxxxxxPro tip: If the digest sends but sections are empty (especially on first run), this is normal — OpenClaw needs activity data to summarize. Enable at least one other integration (Telegram, Notion, etc.) and let it run for a day before the digest content will be meaningful.
Expected result: A digest email arrives in your inbox with populated sections, formatted correctly, and delivered from your configured sender address.
Set Up Delivery Tracking and Bounce Handling
Set Up Delivery Tracking and Bounce Handling
For team distributions or important reports, it is worth verifying that emails are being delivered rather than bouncing or landing in spam. All three supported providers (SendGrid, Mailgun, Postmark) offer delivery status webhooks and activity logs. In SendGrid, go to Activity > Email Activity to see delivery status for recent sends. If the digest lands in spam, add it to the SPF/DKIM configuration for your sending domain — this is the most common cause of digest emails going to spam, especially when sending from a custom domain. For personal use with Gmail SMTP, delivery issues are uncommon since Gmail is a trusted sender for Gmail recipients. For domains you own, configure SPF and DKIM records in your DNS settings — your email provider's documentation has the specific DNS records to add. If you want to receive delivery failure notifications, configure `bounce_notification_email` in the digest config — OpenClaw will alert you when a digest fails to deliver rather than silently failing.
1# Add bounce notification to config:2# ~/.openclaw/config.yaml3integrations:4 email_daily_summary:5 # ... existing config ...6 bounce_notification_email: "you@gmail.com"7 track_opens: true # SendGrid/Mailgun only8 track_clicks: false # Disable for privacy9 retry_on_failure: true10 max_retries: 311 retry_delay_minutes: 301213# Check SendGrid delivery activity:14curl -H "Authorization: Bearer YOUR_SENDGRID_API_KEY" \15 "https://api.sendgrid.com/v3/messages?limit=5&query=to_email%3Dyou%40gmail.com"Pro tip: For the first few weeks, check your SendGrid or Mailgun activity log to confirm digests are being delivered as expected. Transient delivery failures (temporary network issues) are handled by the `retry_on_failure` setting, but persistent failures may indicate a domain reputation or authentication issue.
Expected result: Delivery tracking is configured and you can verify digest delivery status in your email provider's activity log. Bounce notifications are set up to alert you if delivery fails.
Common use cases
Daily Operations Digest for Non-Technical Stakeholders
Send a daily summary email to team members or managers who do not use OpenClaw directly. The digest covers task completion counts, workflow successes and failures, key metrics, and anything requiring attention — giving stakeholders visibility without needing access to OpenClaw.
Configure OpenClaw to send a daily digest at 8 AM to team@company.com summarizing yesterday's completed workflows, any errors encountered, and pending tasks scheduled for today
Copy this prompt to try it in OpenClaw
Personal Productivity Summary
Receive a morning briefing in your inbox covering everything OpenClaw processed the previous day — messages handled, research completed, reminders sent, calendar events summarized, and tasks updated across all connected tools. Acts as a personal assistant daily briefing.
Set up OpenClaw to email me at 7 AM every weekday with a summary of all tasks completed in the past 24 hours, grouped by integration (Notion, Gmail, Telegram), plus any items I starred or marked for follow-up
Copy this prompt to try it in OpenClaw
Error and Alert Digest for DevOps
Rather than receiving individual error notifications that interrupt your workflow, aggregate all OpenClaw warnings, API failures, rate limit hits, and configuration issues into a single daily digest email. Review the day's errors in one sitting rather than responding to scattered alerts.
Configure OpenClaw's daily email to include all workflow errors from the past 24 hours, sorted by integration, with the error message, affected workflow name, and number of occurrences for each
Copy this prompt to try it in OpenClaw
Troubleshooting
SMTP authentication failed — 'Username and Password not accepted'
Cause: For Gmail SMTP, this occurs when using your regular Google account password instead of an App Password. Google blocks standard password authentication for programmatic access since 2022.
Solution: Generate an App Password at myaccount.google.com/apppasswords (requires 2-Step Verification enabled). Select 'Mail' and 'Other (Custom name)', name it 'OpenClaw'. Use the 16-character app password generated — not your Google account password.
1# Gmail SMTP correct settings:2# smtp_host: smtp.gmail.com3# smtp_port: 5874# smtp_user: your-email@gmail.com5# smtp_password: xxxx xxxx xxxx xxxx (App Password, spaces are fine)SendGrid returns 401 Unauthorized or 403 Forbidden
Cause: The SendGrid API key does not have 'Mail Send' permission, or the key was generated for a different scope (e.g., read-only stats).
Solution: In SendGrid, go to Settings > API Keys, find your key, and verify it has 'Mail Send' in its permissions. If not, create a new API key with the correct permissions. Also verify that your sender email address is verified in SendGrid's Sender Authentication settings.
1# Test SendGrid key permissions:2curl -H "Authorization: Bearer YOUR_API_KEY" \3 https://api.sendgrid.com/v3/scopes4# Look for 'mail.send' in the scopes arrayDigest emails arrive in spam folder
Cause: Missing SPF or DKIM records for your sending domain, or sending from a domain/IP with a poor reputation. This is common when sending from a new domain or a free-tier transactional email account.
Solution: Add your email provider's SPF and DKIM DNS records to your domain. For Gmail SMTP senders using a @gmail.com address, spam placement is uncommon — but for custom domains, DNS authentication records are required for reliable inbox delivery.
1# Check SPF record for your domain:2nslookup -type=TXT yourdomain.com3# Should include: v=spf1 include:sendgrid.net ~all (for SendGrid)4# or: v=spf1 include:mailgun.org ~all (for Mailgun)Digest content sections are empty or show placeholder text
Cause: No activity data exists for the lookback period (normal on first run or if no integrations were active), or the content source name in config does not match the integration key in OpenClaw.
Solution: Verify your content source names match exactly the integration keys configured under `integrations` in your config. For a new OpenClaw installation, ensure other integrations have been active for at least one day before meaningful digest content appears. Check `~/.openclaw/logs/openclaw.log` for 'No data found' messages per content source.
1# Check what integrations are active and have data:2clawhub status34# View raw activity log for the lookback period:5clawhub log --since 24h --format jsonBest practices
- Send the daily digest at a consistent time before the start of your workday — 7-8 AM local time is the most actionable, as recipients can review it while planning their day rather than receiving it mid-afternoon.
- Keep the digest to 5-7 sections maximum with concrete, scannable content — avoid including raw data dumps, repeated headers, or sections that say 'No activity' every day without adding value.
- Use `include_if_empty: false` for error and alert sections so the digest only mentions problems when they actually exist, keeping the digest clean on normal days.
- Store email provider API keys (SendGrid, Mailgun) as environment variables (`${SENDGRID_API_KEY}`) in your OpenClaw config rather than hardcoding them — they grant full email sending capability to whoever possesses them.
- Test the digest with your own email for at least one week before adding team members — tune the AI summary prompts, section order, and content sources until the output is genuinely useful before distributing widely.
- Enable `retry_on_failure: true` with at least 2 retries to handle transient delivery failures gracefully — a missed daily digest is often only noticed the next morning when stakeholders wonder why they did not receive it.
- Verify your sending domain's SPF and DKIM records if sending from a custom domain — unverified domains have significantly higher spam placement rates, especially with new sending IP addresses.
Alternatives
Gmail integration provides full bidirectional email access (read + write + triage) — use it instead of Email Daily Summary if you need OpenClaw to read and respond to emails, not just send outgoing digests.
Outlook provides Microsoft 365 email integration with similar send/receive capabilities — choose it if your organization uses Outlook accounts rather than Gmail for receiving digests.
Telegram bot delivers instant push notifications rather than scheduled digests — use it for real-time alerts where email's async nature is too slow for the urgency of the information.
Discord channel posting provides team-visible digests in a collaborative space — better if your team already lives in Discord and would prefer summaries posted to a channel over individual inbox emails.
Frequently asked questions
How do I set up Email Daily Summary in OpenClaw?
Choose an email provider (SendGrid, Mailgun, or Gmail SMTP), get your sending credentials, and configure them under `integrations.email_daily_summary` in `~/.openclaw/config.yaml`. Define your schedule in cron format, add content sources for each integration you want summarized, and run `clawhub run email_daily_summary` to send a test digest. Run `clawhub reload` to activate the scheduled delivery.
What is the difference between Email Daily Summary and Gmail integration in OpenClaw?
Email Daily Summary is output-only — it sends automated digest emails to an inbox but does not read any email. It is for scheduled reporting and keeping stakeholders informed. Gmail integration is bidirectional — OpenClaw can read emails in your inbox, respond to them, apply labels, and trigger workflows based on incoming email content. Use Email Daily Summary for reporting; use Gmail for inbox automation.
Which email provider should I use for OpenClaw daily summaries?
SendGrid is the most reliable for long-term use — its free tier allows 100 emails per day forever, delivery tracking is built in, and it maintains excellent deliverability. Gmail SMTP (using an App Password) is the fastest to set up if you already have a Gmail account and only need to send to Gmail addresses. Mailgun is a good alternative for high-volume or domain-specific sending requirements.
Can OpenClaw send daily summaries to multiple recipients?
Yes — the `to` field in the email_daily_summary config accepts an array of email addresses. All listed recipients receive the same digest. For team distributions, consider keeping the recipient list to 5-10 people maximum and ensuring everyone on the list will find the digest content relevant — otherwise recipients start filtering it as noise.
Why is the daily digest not arriving at the scheduled time?
The most common causes are: the timezone in your config does not match your intended delivery timezone (check the `timezone` field), OpenClaw is not running at the scheduled time (the process must be active for scheduled tasks to fire), or a delivery failure occurred silently (enable `bounce_notification_email` and check your email provider's activity log). Run `clawhub schedule list` to see the next scheduled delivery time.
Is there help available for customizing OpenClaw daily digest content?
RapidDev's team can help configure OpenClaw's Email Daily Summary for complex setups including multi-integration digests, custom HTML email templates, team distribution lists, and advanced AI summary prompts tuned for your specific use case. Reach out if you need help building a digest that your team will actually read every morning.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation