Request icon
ChatCompletion icon
MailSend icon
Schedule icon

Generate and Send a Personalized AI-Powered Daily Digest Email Every Morning

Automate a personalized daily digest email with Kestra and Anthropic Claude. Combine real-time weather, commute planning, and AI summaries into one briefing.

Categories
AI

Wake up to a personalized morning briefing without lifting a finger. This blueprint orchestrates a fully automated daily digest email that pulls live weather data, asks Anthropic's Claude model to interpret it and plan your commute, then formats everything into a clean HTML email delivered to your inbox every morning. It solves the daily friction of checking multiple apps to decide what to wear and which train to catch by turning scattered signals into one friendly, AI-written summary on a fixed schedule.

How it works

  1. A io.kestra.plugin.core.trigger.Schedule trigger fires every day at 06:00 using the cron expression 0 6 * * *.
  2. The get_weather task uses io.kestra.plugin.core.http.Request to call the OpenWeatherMap API for the configured location input and return current conditions as JSON.
  3. The get_digest task (io.kestra.plugin.anthropic.ChatCompletion) feeds that weather JSON to Claude alongside a commute question, producing a friendly natural-language morning summary in outputs.get_digest.outputText.
  4. The turn_into_html task, also io.kestra.plugin.anthropic.ChatCompletion, rewrites that text into a structured HTML email body with separate weather and commute sections.
  5. The send_digest task uses io.kestra.plugin.email.MailSend to deliver the HTML over Gmail SMTP (smtp.gmail.com, port 465).

What you get

  • A hands-free morning email summarizing weather and commute guidance.
  • AI-generated, human-readable prose instead of raw API payloads.
  • A ready-to-send HTML email body with clearly separated sections.
  • A repeatable, schedule-driven workflow you fully control.

Who it's for

  • Individuals who want a smart daily briefing without manual effort.
  • Automation enthusiasts exploring practical AI orchestration patterns.
  • Teams prototyping AI-assisted notifications and daily summaries.

Why orchestrate this with Kestra

Anthropic's API has no scheduler, no retry logic, and no way to chain a weather lookup, two AI calls, and an email send into one observable pipeline. Kestra fills that gap with an event-driven Schedule trigger, automatic retries on transient failures, full execution lineage across every task output, and a declarative YAML definition you can version and review. Each step's output is captured and passed downstream, so you can inspect exactly what Claude received and produced on any given morning.

Prerequisites

  • A running Kestra instance.
  • An OpenWeatherMap API key.
  • An Anthropic API key with access to a Claude model.
  • A Gmail account with an app password for SMTP sending.

Secrets

  • OPENWEATHERMAP_API_KEY: API key for the OpenWeatherMap weather request.
  • ANTHROPIC_API_KEY: API key for Anthropic Claude (set in pluginDefaults).
  • EMAIL: the Gmail address used as both sender and recipient.
  • EMAIL_PASSWORD: the Gmail app password for SMTP authentication.

Quick start

  1. Add the four secrets above to your Kestra instance.
  2. Set the location input to your city (defaults to London).
  3. Import this blueprint into your namespace.
  4. Trigger an execution manually to confirm the email arrives.
  5. Leave the Schedule trigger enabled to receive the digest daily at 06:00.

How to extend

  • Add calendar events, task lists, or reminders as extra context for Claude.
  • Swap the email task for a Slack or Microsoft Teams notification.
  • Pull in news headlines, stock prices, or traffic data as additional signals.
  • Adjust the cron expression to change delivery time or frequency.
  • Parameterize the commute origin and destination as flow inputs.

Links

See How

New to Kestra?

Use blueprints to kickstart your first workflows.