apache/airflow

Improve default task failure email template for readability and operational clarity

Open

#61667 opened on Feb 9, 2026

View on GitHub
 (4 comments) (0 reactions) (0 assignees)Python (44,809 stars) (16,781 forks)batch import
area:providersgood first issuekind:featureprovider:smtp

Description

Description

The default Airflow task failure email is difficult to read and not optimized for operators.

Currently the subject and body contain a raw Python object dump (UUIDs, repr(), internal fields), which makes it hard to quickly understand:

  • which DAG failed
  • which task failed
  • when it failed
  • where to click for logs

This is noisy and not human-friendly for production operations.

What is proposed

Replace the current default task failure email with a cleaner, human-readable template.

Instead of exposing a raw Python object dump (UUIDs, internal fields, repr()), the email should present structured, actionable information: DAG, task, run ID, attempt, timestamps, host, and a direct link to logs.

Provide a simple, modern HTML + text layout optimized for quick scanning and mobile readability, while keeping advanced/debug details optional.

This change improves the out-of-the-box operator experience without requiring users to create custom templates, and remains fully backward compatible since templates can still be overridden.

I’ve attached the template files I created. Feel free to reuse or adapt them if helpful.

Use case/motivation

In real deployments:

  • alerts are read quickly on mobile
  • operators need key info at a glance
  • long debug metadata is rarely useful in email
  • links to logs are more important than internal fields

Today this requires fully custom templates to get a usable format.

A better default template would improve UX out-of-the-box and reduce customization overhead.

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Contributor guide