As a Sales Engineer at SparkPost, I have a lot of discussions with prospects that represent software platforms which send emails on behalf of their customers. These include a variety of applications from your typical Email Service Providers (ESP), CRM platforms for various verticals, any sales automation systems and platforms that support healthcare and various non-profits. One of the central questions I get is how they can share a group of standard templates with their clients? While the answer is not very difficult, it always seems to lead to a bunch of hand-waving and list of definitions of the customer’s terms. While I expect to have many of those discussions moving forward, I thought I would write this blog in order to shed some light on the subject.

Ok, let’s start with the ground rules:

  1. Each SparkPost account has ONE master account. The company paying SparkPost is typically the owner of that master account.
  2. The SparkPost account can then have many subaccounts. Subaccounts are usually either company departments that want to keep email sending separate from one another or clients that are sending email through your platform.
  3. Templates are emails that can be stored in the SparkPost platform for later use, and typically allow for substitution data to be injected into the email just before sending. They don’t have to be stored on the SparkPost platform to be used, but for this discussion they do. It’s also important to understand these rules around templates:
    1. Templates created by a subaccount are owned by the subaccount and can only be edited by the subaccount.
    2. Templates created by the master account can be one of these three states:
      1. Owned and only seen by the master account.
      2. Can be given to a subaccount which then allows that subaccount to edit that template as if they created the template. This also means that the master account loses the ability to make changes to that template.
      3. Can share the template with all subaccounts. This gives all subaccounts the ability to read/use the template but can not make changes to the template. If the master account makes an edit to the template, all subaccounts will see those edits.

The typical scenario is easy enough; The the master account wants the ability to share a template or a set of templates with a specific subaccount or all subaccounts. The way to do this in SparkPost is for the master account to select which template they want to share, then duplicate that template and give it to the subaccount.

To get here, I selected the specific template from within the SparkPost UI and pressed the duplicate link/action. It then presented me with the template along with several input fields, one of them being how I want to assign the template. I picked, ‘Assign to Subaccounts’ then entered in ‘Mr Pickles Sandwiches’ as the target subaccount. Once I save this template, Mr Pickles Sandwiches will then have sole ownership of the template. I would then do this process for each template. The SparkPost ‘template’ API would allow me to automate this process if I created a small app that read a targeted list of stored templates for sharing, looped through each template name to read a copy of each template, then created a new template using the subaccounts name in the subaccount field.

The other scenario is when the master account wants to share the template with all of the subaccounts. This is very simple. When creating the template, the user simply needs to select, the ‘Share with all subaccounts’ radio button (shown in the picture above). That now gives all current and new subaccounts the ability to read/use that template. There again, the template can be brought into SparkPost via the ‘template’ API and the option for sharing can be turned on at that time allowing for a fully automated process.

You can find more information about SparkPost templates in our documentation.


Questions on templates or subaccounts? You can check out our documentation above or ping us in our community slack channel.