{% extends "base.html" %} {% comment %} Step two: answer what the template needs, then confirm. Everything from the uploaded file — flow names, tag names, request URLs — is somebody else's text and is rendered through Django's autoescaping. There is no `|safe` and no `mark_safe` on this page, deliberately: a message body in a template carries {{ placeholders }} that apps/flows/rendering.py substitutes at send time and no template engine ever evaluates (SECURITY-BASELINE §3), and a review page that rendered one as markup would be the hole that undoes it. The external-request URLs are printed as text rather than linked. The importer did not choose them, and a clickable link on a review page is one misread away from visiting a stranger's address. {% endcomment %} {% block title %}Import a flow · DemandTrail Messaging{% endblock %} {% block page_header %}
{% comment %} A shipped template is named the way its tile named it, not by its slug — see _source_label in apps/flows/views_portability.py. {% endcomment %} {{ source_label }} Check what will be added.
Flows arrive as drafts with triggers off. Review each one before setting it live.
Check these addresses before publishing.