This article is best for system administrators. Too small? Click here.

Every email or Slack message sent from PlusPlus can be customized. That means you can tweak your notifications to look just like your organization wants them to!

While we do provide default notification templates, many of our customers value adding that zing of organizational language in their templates. Here's how to do that:

Customizing notification templates

The first requirement to customizing your notification templates is being a system administrator. The templates live in our settings, so to access it, head over to Profile Menu > Settings > Notification Templates.

You can find all notifications there, click the name of the one you want to review to head over to it. You can edit that specific notification by clicking the edit button.

Inside the edition page, you'll be able to see the available tags section. Available tags vary from template to template.

We use Django Template Language for our tags, so that means you can iterate over some tags, add conditionals and so on.

Example on Timeslots:

{% for timeslot in timeslots %}
{{ timeslot.starts_at }} to {{ timeslot.ends_at }}
{% if timeslot.room_info %} - Room Info: {{timeslot.room_info}}{% endif %}
{% if event_is_available_online %} - Livestream Link: [{{ timeslot.link }}]({{ timeslot.link }}){% endif %}
{% endfor %}

We also use Markdown for styling, so feel free to throw in some style :)

You can also turn specific notifications on and off at your will. Please note that this will turn them on or off globally!

Managing notifications at event type level

Event-related notifications may also be turned on and off at an event type level. You can do that by heading to the event type "Notifications Settings" page.

Content-specific customization

At the moment, all notification templates can only be managed globally, at the system level, which requires admin-level privileges. We are working towards making it possible for organizers, program managers, and content maintainers to override these templates at the level of their event types/events, programs/sessions, and tracks/content items.

If you need to customize the templates for specific instances of your content, beyond what the tags such as {{ extra_blurb }} or {{ extra_blurb_2 }} give you, you can consider using some conditional logic:

{% if "Security Essentials" in event_name %}

This is a *mandatory* event. If you cannot make it, please be sure to drop this one and sign up for another one from this series as soon as possible.

{% elif "Coaching for Managers" in event_name or "Coaching for Technical Leads" in event_name %}

This is an extremely sought-after event with a long wait list. If you cannot make it, please un-enroll yourself as soon as possible so that someone else may take your spot.

{% else %}

Looking forward to seeing you there.

{% endif %}

In the example above, we could have also simplified "Coaching for Managers" in event_name or "Coaching for Technical Leads" in event_name to just "Coaching for" in event_name , since "<needle> in <hay>" supports partial matches. The danger of doing so is that this may also match things you did not intend, like "Coaching for Results". On the other hand, if you wish to have an exact match, you can use the equals operator, such as event_name == "Coaching for Results".

Did this answer your question?