diff --git a/wagtail/admin/templates/wagtailadmin/reports/workflow.html b/wagtail/admin/templates/wagtailadmin/reports/workflow.html
new file mode 100644
index 0000000000..bc47a214b5
--- /dev/null
+++ b/wagtail/admin/templates/wagtailadmin/reports/workflow.html
@@ -0,0 +1,108 @@
+{% extends "wagtailadmin/base.html" %}
+{% load i18n l10n wagtailadmin_tags wagtailui_tags %}
+
+{% block titletag %}{% trans "Workflows" %}{% endblock %}
+
+{% block content %}
+
+ {% trans "Workflows" %}
+
+ {% trans 'Workflow' %} + | ++ {% trans 'Page' %} + | ++ {% trans 'Status' %} + | ++ {% trans 'Tasks' %} + | ++ {% trans 'Requested by' %} + | ++ {% trans 'Started at' %} + | +
---|---|---|---|---|---|
+ {{ workflow_state.workflow }} + | ++ + {{ workflow_state.page.get_admin_display_title }} + + | ++ + {{ workflow_state.get_status_display }} + + | +
+ {{ workflow_name }}+ {% trans 'Approved task' as approved_title %} + {% trans 'Incomplete task' as incomplete_title %} + {% for task in workflow_state.all_tasks_with_status %} + + {% if task.status == 'approved' %} + {% wagtail_icon name="success" title=approved_title %} + {% else %} + {% wagtail_icon name="radio-empty" title=incomplete_title %} + {% endif %} + + {% endfor %} + |
+ {{ workflow_state.requested_by }} | +{{ workflow_state.created_at }} | +
{% trans "No pages have been submitted for moderation yet" %}
+ {% endif %} ++ {% trans 'Task' %} + | ++ {% trans 'Page' %} + | ++ {% trans 'Status' %} + | ++ {% trans 'Started at' %} + | ++ {% trans 'Completed at' %} + | +
---|---|---|---|---|
+ {{ task_state.task }} + | ++ {% with task_state.workflow_state.page as page %} + + {{ page.get_admin_display_title }} + + {% endwith %} + | +
+
+ {{ task_state.get_status_display }}
+
+ |
+ {{ task_state.started_at }} | +{{ task_state.finished_at }} | +
{% blocktrans %}No pages have been submitted for moderation yet{% endblocktrans %}
+ {% endif %} +