I want create my Mosaico template in WordPress with the CiviCRM extension but I can't find where upload the new template.

Secondly, must I activate the new template after uploading it to my host?

3 Answers 3


As you can see on Mosaico Extension v2.0-beta3, etal release, since this version...

In the CiviCRM menu, you'll find a new item "Administer => CiviMail => Mosaico Settings". This exposes options, such as "Layout" and "Custom Template Directory", which would otherwise remain hidden.


v2.0-beta3 allows site administrators to install templates in the "Custom Template Directory", and it allows developers to bundle templates into CiviCRM extensions


When you install the Mosaico and related Extensions, you then create the Templates in civicrm and they become available to use in CiviMail, you do not upload them.


If you have installed correctly, as per instructions, ie Shoreditch then FlexMailer then Mosaico then at /civicrm/a/#/mosaico-template you should see the word NEW on top of the base template

enter image description here

  • mosaico is an mail builder, it use Template for create mail. On mosaico you have a base Template : versafix-1... ok I want create my own Template.... for use this on mosaico Template builder but I don't find where upload the new Template on my host ?
    – ZeroCool
    Sep 24, 2017 at 16:44
  • see my edit above
    – petednz - fuzion
    Sep 24, 2017 at 19:22

You can create a new template through following steps:

  1. Create new template folder in mosaico extension directory: packages/mosaico/templates/new_template
  2. Copy 'versafix' template to your new template and edit according to your design requirements
  3. Register the new template in mosaico extenstion directory in file: CRM/Mosaico/BAO/MosaicoTemplate.php

Hope that helps.

  • Hassan how do you do the last step?
    – Josh
    Aug 20, 2018 at 15:02
  • You can do it by adding a new array element in array "$records", like: $records[] = array( 'name' => 'prizmah-email', 'title' => 'Prizmah Email', 'thumbnail' => CRM_Mosaico_Utils::getTemplatesUrl('absolute', 'prizmah-email/edres/_full.png'), 'path' => 'templates/prizmah-email/prizmah-email.html', ); Inside if condition of function "findBaseTemplates()" Aug 21, 2018 at 16:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.