Customize Email Templates

Overview

The CrashPlan environment automatically sends email notifications for various system events, including user backup status alerts, administrator backup status reports, and password recovery requests. These notifications rely on standardized templates (.eml files) stored within your CrashPlan cloud instance.

Considerations

  • To complete this process, you must have the Customer Cloud Admin role.
  • This process requires use of the CrashPlan API. If you are not familiar with using APIs, review CrashPlan API syntax and usage.
  • Users in organizations where Client visibility is set to Hidden do not receive email notifications.
  • For advanced support, contact your Account Executive to engage the CrashPlan Professional Services team. 

 Template Changes are Live
Modifications made via the API apply immediately to the production email system. There is no staging or test environment available to preview your layouts before they go live.

API Structure and Syntax  

Base URL

The base URL for your API requests matches the exact URL you use to sign into the CrashPlan console:

  • United States (US1): https://console.us1.crashplan.com
  • United States (US2): https://console.us2.crashplan.com
  • Ireland (EU5): https://console.eu5.cpg.crashplan.com

In the examples below, replace <BaseURL> with your console URL.

Endpoint Paths

The following API resources are used to customize the text and branding of email templates:

  • Sender and content: /api/v4/email-text-customization/

  • Co-branding logo: /api/v3/EmailLogoCustomization/

Customization Parameters

When updating text using the email-text-customization resource, you construct your JSON payload using two variable pairs: a Category (to define the target scope) and a Segment (to define the specific layout component).

Categories

Choose the category that matches the email notification you want to customize:

Category Description
GLOBAL Applies your customization across all outgoing email notification templates.
BACKUP_ALERTS Targets warning or critical Backup Alert notifications sent to users.
BACKUP_REPORTS Targets the scheduled Backup Status Report regularly sent to admins.
PASSWORD_RESET_USER Targets password reset emails sent when a user initiated a reset from the sign-in page.
PASSWORD_RESET_ADMIN Targets password reset emails sent when an admin pushes a reset from the console.

Segments

Choose the segment component within your chosen category that you wish to modify:

Segment Description
SENDER_EMAIL Overrides the default "From" address (e.g., changing it to noreply@yourcompany.com).
TITLE Customizes the text or HTML header at the top of the email.
BODY Customizes the primary text or HTML content block.
MESSAGE_FOOTER Customizes the text or HTML appended to the bottom section of the email.

Text Customization Guide

The examples below utilize curl for HTTP communication and pipe outputs to the Python JSON tool (python3 -mjson.tool) for enhanced readability.

Step 1: Send Test Emails

Before editing, send yourself baseline test emails via the CrashPlan console command-line interface:

  1. Sign in to the console with administrative credentials.

  2. Press Ctrl + Shift + X to open the CLI.

  3. Execute the following commands individually, replacing <username> with your email address: 

test.email <username> backup_alerts
test.email <username> backup_reports
test.email <username> password_reset_user
test.email <username> password_reset_admin  

Step 2: Retrieve Current Email Templates

View the existing templates and structure using the /api/v4/email-text-customization/view endpoint. Replace <AuthToken> with your authorization token (see: obtain an authorization token):

curl -vv -H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "authorization: Bearer <AuthToken>" \
"<BaseURL>/api/v4/email-text-customization/view" | python3 -mjson.tool

Example Response

Below is a truncated example response. The "defaultContent" keys represent content when a segment hasn't been customized:

{
  "metadata": {
    "date": "2026-07-20T11:01:44.129-06:00",
    "headers": []
  },
  "data": {
    "emailTextCustomizations": [
      {
        "category": "GLOBAL",
        "segment": "MESSAGE_FOOTER",
        "contentType": "SIMPLIFIED_HTML",
        "defaultContent": "This is a message from CrashPlan.<br /><Your Company Address><br />&copy; 2026 CrashPlan. All rights reserved."
      },
      {
        "category": "GLOBAL",
        "segment": "SENDER_EMAIL",
        "contentType": "EMAIL_ADDRESS",
        "defaultContent": "noreply@crashplan.com"
      },
      {
        "category": "BACKUP_ALERTS",
        "segment": "TITLE",
        "contentType": "SIMPLIFIED_HTML",
        "defaultContent": "<h1>Backup Alert!</h1><p>The following device has been unable to reach any backup destinations. To reduce the risk of data loss, please follow the instructions below.</p>"
      },
      {
        "category": "BACKUP_REPORTS",
        "segment": "BODY",
        "contentType": "SIMPLIFIED_HTML",
        "defaultContent": "<h1>Backup Status Report</h1><p>Below is a regular backup status report to keep you informed about the health of your devices' backups.</p><p>For more information, <a href=\"https://support.crashplan.com\">please see the documentation</a>.</p>"
      }
    ]
  }
}

Step 3: Format and Create Customizations

Create a payload JSON file (e.g., updateEmail.json), containing your category and segment combinations. Only include segments you wish to update.

  • Syntax rules: Omit the "data" and "contentType" wrappers from your final payload, rename the target field from "defaultContent" to "content".

  • Supported HTML Tags: Text objects support headings <h1> to <h6>, paragraphs <p>, hyperlinks <a href>, line breaks <br />, and simple styling flags (<b>, <i>, <u>, <strong>, <code>, <ul>, <li>, etc.).

Example JSON Payload

{
    "emailTextCustomizations": [
      {
        "category": "GLOBAL",
        "segment": "MESSAGE_FOOTER",
        "content": "This is a message from Example Corporation, 1234 Anywhere, USA. Copyright: 2019 Example Corporation, Inc. All rights reserved."
      },
      {
        "category": "GLOBAL",
        "segment": "SENDER_EMAIL",
        "content": "noreply@example.com"
      },
      {
        "category": "BACKUP_ALERTS",
        "segment": "TITLE",
        "content": "<h1>You need to back up.</h1><p>The following device has been unable to reach any backup destinations. Follow the instructions below.</p>"
      },
      {
        "category": "PASSWORD_RESET_ADMIN",
        "segment": "BODY",
        "content": "<h1>Reset Your Password</h1><p>Your CrashPlan account administrator has requested a password reset for your account. Click the following link to reset it.</p><p>This link can only be used once.</p>"
      }
    ]
  }

Step 4: Apply Customizations

Send an /api/v4/email-text-customization/update API request from the directory containing your file:

curl -vv -H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "authorization: Bearer <AuthToken>" \
-d "@updateEmail.json" \
"<BaseURL>/api/v4/email-text-customization/update"

A successful update will return a HTTP header response ending in HTTP/1.1 204 No Content.

Step 5: Verify Changes

You can verify the system successfully registered your updates by re-running the view request from Step 2. Your adjustments will appear under a new "customizedContent" label:

{
  "data": {
    "emailTextCustomizations": [
      {
        "category": "GLOBAL",
        "segment": "SENDER_EMAIL",
        "defaultContent": "noreply@crashplan.com",
        "customizedContent": "noreply@example.com"
      }
    ]
  }
}

You can also re-run the test email commands outlined in Step 1 to review the live output layout and updated copy directly within your inbox.

Reverting to Default Content

To remove customizations for one or more segments and go back to their defaults, target them in a JSON payload (e.g. removeEmail.json):

{
    "emailTextCustomizations": [
      {
        "category": "GLOBAL",
        "segment": "MESSAGE_FOOTER"
      },
      {
        "category": "GLOBAL",
        "segment": "SENDER_EMAIL"
      }
    ]
}

Send the payload to the /api/v4/email-text-customization/remove endpoint:

curl -vv -H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "authorization: Bearer <AuthToken>" \
-d "@removeEmail.json" \
"<BaseURL>/api/v4/email-text-customization/remove"

A successful removal will return a HTTP/1.1 204 No Content status.

Co-Branding Logo Customization

Image Requirements

  • Format: JPEG or PNG 
  • Max Height: 36 pixels
  • Max Width: 121 pixels

Add your corporate branding next to the CrashPlan logo using the EmailLogoCustomization endpoint.

  • Add a Logo (POST):

    curl -vv -X POST -H "authorization: Bearer <AuthToken>" \
    -H "Content-Type: multipart/form-data" \
    --form "logo=@CompanyLogo.png" \
    "<BaseURL>/api/v3/EmailLogoCustomization"
  • Verify / Download Current Logo (GET):

    curl -vv -X GET -H "authorization: Bearer <AuthToken>" \
    -o CopyOfMyCompanyLogo.png \
    "<BaseURL>/api/v3/EmailLogoCustomization"

    (A successful download yields a terminal line stating Content-Type: image/png or image/jpeg)

  • Update an Existing Logo (PUT):

    curl -vv -X PUT -H "authorization: Bearer <AuthToken>" \
    -H "Content-Type: multipart/form-data" \
    --form "logo=@NewCompanyLogo.png" \
    "<BaseURL>/api/v3/EmailLogoCustomization"
  • Delete Logo Customization (DELETE):

    curl -vv -X DELETE -H "authorization: Bearer <AuthToken>" \
    "<BaseURL>/api/v3/EmailLogoCustomization"
Was this article helpful?
0 out of 0 found this helpful