Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions notifications-admin/app/content/get-started.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# Get started


1. ## Everyone starts in [Trial Mode](/using-notify/trial-mode)
Explore Notify, add team members, and practice [sending messages to teammates](/using-notify/trial-mode).
1. ## Everyone starts in [Trial Mode](/using-flexion-messaging/trial-mode)
Explore Flexion Messaging, add team members, and practice [sending messages to teammates](/using-flexion-messaging/trial-mode).

2. ## Personalize content
Learn how to [personalize messages](/using-notify/how-to) to increase response.
Learn how to [personalize messages](/using-flexion-messaging/how-to) to increase response.

3. ## Check delivery status
[Analyze the delivery](/using-notify/delivery-status) of your messages and download reports
[Analyze the delivery](/using-flexion-messaging/delivery-status) of your messages and download reports

4. ## View messaging limits
Learn about message _parts_ and [how limits are calculated](/using-notify/pricing).
Learn about message _parts_ and [how limits are calculated](/using-flexion-messaging/pricing).

5. ## Start sending messages
To remove the restrictions of Trial Mode and begin sending messages to people complete the <a class="usa-link usa-link--external" href="https://docs.google.com/forms/d/1fnaBtxuGf3q-OdGVyt2LqBKvp9_P21kmKJa0yIK8rWM/edit">Go-Live Form</a>.
We'll respond within one business day.

### Questions?
[Contact the Notify team](/support)
[Contact the Flexion Messaging team](/support)
36 changes: 15 additions & 21 deletions notifications-admin/app/main/views/index.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,6 @@ def error(status_code):
abort(status_code)


@main.route("/privacy")
@user_is_logged_in
def privacy():
return render_template("views/privacy.html")


@main.route("/accessibility-statement")
@user_is_logged_in
def accessibility_statement():
Expand Down Expand Up @@ -82,7 +76,7 @@ def callbacks():
return redirect(url_for("main.documentation"), 301)


@main.route("/using-notify/delivery-status")
@main.route("/using-flexion-messaging/delivery-status")
@user_is_logged_in
def message_status():
return render_template(
Expand All @@ -97,7 +91,7 @@ def get_started_old():
return redirect(url_for(".get_started"), 301)


@main.route("/using-notify/get-started")
@main.route("/using-flexion-messaging/get-started")
@user_is_logged_in
def get_started():
markdown = convert_markdown_template("get-started")
Expand All @@ -117,7 +111,7 @@ def get_started():
)


@main.route("/using-notify/who-its-for")
@main.route("/using-flexion-messaging/who-its-for")
def who_its_for():
return redirect(url_for(".features"), 301)

Expand All @@ -128,15 +122,15 @@ def trial_mode():
return redirect(url_for(".trial_mode_new"), 301)


@main.route("/using-notify/trial-mode")
@main.route("/using-flexion-messaging/trial-mode")
def trial_mode_new():
return render_template(
"views/trial-mode.html",
navigation_links=using_notify_nav(),
)


@main.route("/using-notify/best-practices")
@main.route("/using-flexion-messaging/best-practices")
@user_is_logged_in
def best_practices():
return render_template(
Expand All @@ -145,7 +139,7 @@ def best_practices():
)


@main.route("/using-notify/best-practices/clear-goals")
@main.route("/using-flexion-messaging/best-practices/clear-goals")
@user_is_logged_in
def clear_goals():
return render_template(
Expand All @@ -154,7 +148,7 @@ def clear_goals():
)


@main.route("/using-notify/best-practices/rules-and-regulations")
@main.route("/using-flexion-messaging/best-practices/rules-and-regulations")
@user_is_logged_in
def rules_and_regulations():
return render_template(
Expand All @@ -163,7 +157,7 @@ def rules_and_regulations():
)


@main.route("/using-notify/best-practices/establish-trust")
@main.route("/using-flexion-messaging/best-practices/establish-trust")
@user_is_logged_in
def establish_trust():
return render_template(
Expand All @@ -172,7 +166,7 @@ def establish_trust():
)


@main.route("/using-notify/best-practices/write-for-action")
@main.route("/using-flexion-messaging/best-practices/write-for-action")
@user_is_logged_in
def write_for_action():
return render_template(
Expand All @@ -181,7 +175,7 @@ def write_for_action():
)


@main.route("/using-notify/best-practices/multiple-languages")
@main.route("/using-flexion-messaging/best-practices/multiple-languages")
@user_is_logged_in
def multiple_languages():
return render_template(
Expand All @@ -190,7 +184,7 @@ def multiple_languages():
)


@main.route("/using-notify/best-practices/benchmark-performance")
@main.route("/using-flexion-messaging/best-practices/benchmark-performance")
@user_is_logged_in
def benchmark_performance():
return render_template(
Expand All @@ -199,7 +193,7 @@ def benchmark_performance():
)


@main.route("/using-notify/how-to")
@main.route("/using-flexion-messaging/how-to")
@user_is_logged_in
def how_to():
return render_template(
Expand Down Expand Up @@ -248,7 +242,7 @@ def notify_service_ending():
)


@main.route("/using-notify/how-to/create-and-send-messages")
@main.route("/using-flexion-messaging/how-to/create-and-send-messages")
@user_is_logged_in
def create_and_send_messages():
return render_template(
Expand All @@ -257,7 +251,7 @@ def create_and_send_messages():
)


@main.route("/using-notify/how-to/edit-and-format-messages")
@main.route("/using-flexion-messaging/how-to/edit-and-format-messages")
@user_is_logged_in
def edit_and_format_messages():
return render_template(
Expand All @@ -266,7 +260,7 @@ def edit_and_format_messages():
)


@main.route("/using-notify/how-to/send-files-by-email")
@main.route("/using-flexion-messaging/how-to/send-files-by-email")
@user_is_logged_in
def send_files_by_email():
return render_template(
Expand Down
2 changes: 1 addition & 1 deletion notifications-admin/app/main/views/pricing.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
CURRENT_SMS_RATE = "1.72"


@main.route("/using-notify/pricing")
@main.route("/using-flexion-messaging/pricing")
@user_is_logged_in
def pricing():
return render_template(
Expand Down
9 changes: 7 additions & 2 deletions notifications-admin/app/main/views/sign_out.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os
from urllib.parse import urlencode

from flask import current_app, redirect, session, url_for
from flask import current_app, redirect, render_template, session, url_for
from flask_login import current_user

from app.main import main
Expand Down Expand Up @@ -31,4 +31,9 @@ def sign_out():
if okta_logout_url:
current_app.config["SESSION_PERMANENT"] = False
return redirect(_build_okta_logout_url())
return redirect(url_for("main.index"))
return redirect(url_for("main.signed_out"))


@main.route("/signed-out")
def signed_out():
return render_template("views/signed-out.html")
1 change: 0 additions & 1 deletion notifications-admin/app/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@


{% block header %}
{% include 'components/usa_banner.html' %}
{% include 'components/header.html' %}
{% endblock %}

Expand Down
2 changes: 1 addition & 1 deletion notifications-admin/app/templates/components/footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ <h2 class="usa-sr-only">Support links</h2>
<section class="usa-identifier__section usa-identifier__section--usagov" aria-label="Copyright notice">
<div class="usa-identifier__container margin-top-2">
<div class="usa-identifier__usagov-description">
© 2025 Flexion Inc. All rights reserved. Flexion® is a registered trademark of Flexion Inc. See our Privacy Policy.
© 2026 Flexion Inc. All rights reserved. Flexion® is a registered trademark of Flexion Inc.
</div>
</div>
</section>
Expand Down
2 changes: 1 addition & 1 deletion notifications-admin/app/templates/components/header.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{% if current_user.is_authenticated %}
{% set navigation = [
{"href": url_for("main.show_accounts_or_dashboard"), "text": "Current service", "active": request.path.startswith('/accounts') or request.path.startswith('/services') or request.path.startswith('/activity/services') or request.path.startswith('/user-profile')},
{"href": url_for('main.get_started'), "text": "Using Flexion Messaging", "active": request.path.startswith('/using-notify')},
{"href": url_for('main.get_started'), "text": "Using Flexion Messaging", "active": request.path.startswith('/using-flexion-messaging')},
{"href": url_for('main.support'), "text": "Contact us", "active": header_navigation.is_selected('support')}
] %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,37 +24,37 @@ <h2 class="padding-bottom-4">
"svg_src": "goal",
"card_heading": "Establish clear goals",
"p_text": "Start with a singular purpose. Make explicit what you want to achieve.",
"link": "/using-notify/best-practices/clear-goals"
"link": "/using-flexion-messaging/best-practices/clear-goals"
},
{
"svg_src": "compliant",
"card_heading": "Follow rules & regulations",
"p_text": "Understand what is required when texting the public.",
"link": "/using-notify/best-practices/rules-and-regulations"
"link": "/using-flexion-messaging/best-practices/rules-and-regulations"
},
{
"svg_src": "trust",
"card_heading": "Establish trust",
"p_text": "Help your audience anticipate and welcome your texts.",
"link": "/using-notify/best-practices/establish-trust"
"link": "/using-flexion-messaging/best-practices/establish-trust"
},
{
"svg_src": "runner",
"card_heading": "Write texts that provoke action",
"p_text": "Help your audience know what to do with the information you send.",
"link": "/using-notify/best-practices/write-for-action"
"link": "/using-flexion-messaging/best-practices/write-for-action"
},
{
"svg_src": "language",
"card_heading": "Send texts in multiple languages",
"p_text": "What to know as you plan translated texts.",
"link": "/using-notify/best-practices/multiple-languages"
"link": "/using-flexion-messaging/best-practices/multiple-languages"
},
{
"svg_src": "chart",
"card_heading": "Measure performance with benchmarking",
"p_text": "Learn how effective your texting program can be.",
"link": "/using-notify/best-practices/benchmark-performance"
"link": "/using-flexion-messaging/best-practices/benchmark-performance"
}
] %}

Expand Down
11 changes: 0 additions & 11 deletions notifications-admin/app/templates/views/guides/clear-goals.html
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,6 @@ <h3 class="do-dont__heading"><a id="what-to-do" class="usa-anchor"></a>
{
"list_content": "We will be calling you about…at…",
},
{
"list_content": "We will be calling you about…at…",
},
] %}
<ul>
{% for item in list_item_dos %}
Expand Down Expand Up @@ -139,14 +136,6 @@ <h3 class="do-dont__heading"><a id="what-not-to-do" class="usa-anchor"></a>
Think of text messages as complementary to your existing communications. Review how well you are currently reaching
your audience. Are there methods or gaps that could be supplemented with a text message?
</p>
<p>
The Department of Veterans Affairs provides a <a class="use-link usa-link--external"
href="https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/products/va-notify/notification-guide.md#vanotify-notification-guide"
target="_blank"
rel="noopener noreferrer"
aria-label="helpful flow-chart (opens in a new tab)">helpful flow-chart</a> that can help you decide if a text message is needed
for the communication problem you are trying to solve.
</p>
<h2>Use a hypothesis framework to plan your campaign</h2>
<p>
Think of your texting campaign as a scientific experiment, and try to articulate what you hope to improve as a
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,7 @@ <h2>What to know about consent and opting out</h2>
"is_downloadable": true,
"p_text": 'It provides a baseline
interpretation to aid your legal counsel in getting up to speed with what might be needed for your program or use
case.
For additional questions about the enforcement of the TCPA, you can watch <a class="use-link usa-link--external"
href="https://www.performance.gov/cx/life-experiences/facing-a-financial-shock/outputs/fcc-training/"
target="_blank"
rel="noopener noreferrer"
aria-label="a recorded training on public
benefits texting (opens in a new tab)">a recorded training on public
benefits texting</a> provided by the FCC.'
case.'
},
] %}
<h3>Complying with the Telephone Consumer Protection Act (TCPA)</h3>
Expand Down
5 changes: 0 additions & 5 deletions notifications-admin/app/templates/views/pricing/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@

<h1 class="font-body-2xl margin-bottom-3">Message parts</h1>

{{ content_metadata(
data={
"Last updated": "April 10, 2024"
}
) }}

<p>During the pilot period, each service has an allowance of 250,000 message parts. Once this allowance is met, the
application will stop delivering messages. There's no monthly charge, no setup fee, and no procurement cost. You'll use
Expand Down
9 changes: 0 additions & 9 deletions notifications-admin/app/templates/views/privacy.html
Original file line number Diff line number Diff line change
Expand Up @@ -193,15 +193,6 @@ <h2 class="font-body-lg" id="changes-to-this-notice">Changes to this notice</h2>
to you and your data as of that revision date. We encourage you to periodically review this privacy notice to be informed
about how we are protecting your data.</p>

<h2 class="font-body-lg" id="questions-and-complaints">Questions and complaints</h2>

<p>Contact the <a class="usa-link" href="{{ url_for('main.support') }}">TTS Public Benefits Studio</a> if you either:</p>

<ul class="list list-bullet">
<li>have questions about anything in this document</li>
<li>think that your personal data has been misused or mishandled</li>
</ul>


</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions notifications-admin/app/templates/views/send.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
},
{
"svg_src": "#check_circle",
"card_heading": "Label each additional <a class=\"usa-link\" href=\"/using-notify/how-to#personalize-content\">personalized placeholder</a> separately",
"card_heading": "Label each additional <a class=\"usa-link\" href=\"/using-flexion-messaging/how-to#personalize-content\">personalized placeholder</a> separately",
},
{
"svg_src": "#check_circle",
Expand All @@ -53,7 +53,7 @@
},
{
"svg_src": "#check_circle",
"card_heading": "Fill in each <a class=\"usa-link\" href=\"/using-notify/how-to#conditional-content\">conditional placeholder</a> column with a Yes (Y) or No (N) to “answer” whether the recipient meets its criteria",
"card_heading": "Fill in each <a class=\"usa-link\" href=\"/using-flexion-messaging/how-to#conditional-content\">conditional placeholder</a> column with a Yes (Y) or No (N) to “answer” whether the recipient meets its criteria",
}
]
%}
Expand Down
32 changes: 32 additions & 0 deletions notifications-admin/app/templates/views/signed-out.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{% extends "base.html" %}
{% from "components/components/button/macro.njk" import usaButton %}

{% block pageTitle %}You've been signed out – Flexion Messaging{% endblock %}

{% block main %}
{% block beforeContent %}{% endblock %}

<main id="main-content" role="main">
{% block content %}
<section class="usa-section usa-prose">
<div class="grid-container">
<div class="grid-row flex-justify-center">
<div class="text-center grid-col-8 padding-y-4">
<h1 class="font-sans-2xl margin-bottom-2">
You've been signed out
</h1>
<p class="font-sans-lg margin-bottom-4">
Thank you for using Flexion Messaging.
</p>
{{ usaButton({
"element": "a",
"href": url_for('main.sign_in'),
"text": "Sign in again"
}) }}
</div>
</div>
</div>
</section>
{% endblock %}
</main>
{% endblock %}
Loading
Loading