Documentation

NodePing Branding

Branding allows you to customize the text of notifications and other messages that users will receive from the monitoring service. This means that you can put your own company name and information on the messages your customers will receive when monitoring events occur, or otherwise adjust what information is included in the notifications. Your branding customizations are applied across all of your subaccounts. Branding is available on all Professional and Premiere accounts.

Branding is managed under Account Settings / Branding. There are two categories of messages you can configure in NodePing's Branding settings.

  • Notification Branding templates allow you to customize the messages recieved when a new check is created, when a check goes down, and when it comes back up.
  • Site Message templates allow you to configure the welcome email message new contacts receive when they are added to the account, and customize emails used for password changes.

The "Welcome" email can be disabled if you do not want new contacts to receive a welcome email. This is managed on the "Site Message" branding page.

Customizing Messages

For email messages, you can customize the full text of each message using plain text (HTML is not supported). You can also set the "From" address and Subject of the messages. If you want "Up" and "Down" messages to appear in the same email thread, set the subject lines of the two types of messages to be the same.

PagerDuty, Slack, HopChat notifications use the "email" message template.

For SMS notifications, you can customize the text of the message.

The message branding features use a template system, so you have full control over the contents of the messages to your customers.

Template Variables used in Branding

The branding templates use a curly braces syntax for setting the fields within the text. The supported fields include:

  • _id - The check id (example: 201703291232FQS0Y-F27DXDJ4)
  • checktime - time at which the check was run.
  • description - description field
  • interval - interval setting for the check.
  • label - the check's label. If the user did not assign a label, this variable will have something appropriate to the check type, most often the URL or target address.
  • location - list of locations in which the result was verified
  • message - only available for 'down' events. Error message from down event - may give clue to the reason for the down event.
  • password - only available for welcome and password change messages.
  • publicreporturl - URL for the public report, if it is available.
  • target - URL or Host being monitored
  • threshold - check timeout setting
  • type - check type

Some branding variables are only available only on 'up' notifications. These indicate how long the check had been failing. There is an example of how these are used below.

  • downtime - how many minutes the check was "down." It is not guaranteed to be available for all "Up" events. You should check for downtime before depending on it being present by using a conditional statement as described below.
  • daysdown - integer representing how many days a check had been down.
  • hoursdown - integer representing how many hours a check had been down. This is the hours remaining after daysdown.
  • minutesdown - integer representing how many minutes a check had been down. This is the minutes remaining after daysdown and hoursdown. For the total minutes down, use the downtime field.
  • downminutes - boolean if the downtime field is more than 1. Helpful to use so your notifications don't say "the check was down 1 minutes".
  • downmultipledays - boolean if the daysdown field is more than 1. Helpful to use so your notifications don't say "the check was down 1 days".
  • downmultplehours - boolean if the hoursdown field is more than 1. Helpful to use so your notifications don't say "the check was down 1 hours".
  • downmultipleminutes - boolean if the minutesdown field is more than 1. Helpful to use so your notifications don't say "the check was down 1 minutes".

The variables are included by placing them in the text of the message surrounded by curly braces. For example, to include the time that a service went down, you might include text like this:

This check is down as of {checktime}.

The template system also allows conditional statements, so you can include some information only if it is available. For example, publicreporturl is only available if the Public Reports feature is enabled for the specific check. So if you want the Public report URL to appear in the message if it is available, you might include something like the following:

{if publicreporturl}The public report is available at {publicreporturl}.{/if}

{if} statements only check whether a supported variable is true or false. Conditional statements can also include {if not variable} and {else}.

You can combine multiple {if} statements, and even embed them in other {if} statements. For example, this expression will change your 'up' notifications from just showing minutes to conditionally showing days, hours and minutes as applicable, depending on how long the down time lasted. In your 'Up' email branding doc, replace the default minutes-only expression:

{if downtime}after {downtime} {if downminutes}minutes{else}minute{/if} of downtime {/if}

with this expression:

{if downtime}after being down for {if daysdown}{daysdown} {if downmultipledays}days{else}day{/if}{/if}{if hoursdown} {hoursdown} {if downmultplehours}hours{else}hour{/if}{/if}{if minutesdown} {minutesdown} {if downmultipleminutes}minutes{else}minute{/if}{/if}{if}

If you have any questions, get in touch at [email protected], or use our Contact form.