Introducing Wave Templates

Turn your Wave platform app into a template that colleagues, partners, and customers can use to create new versions of the app built from their own data.

User Permissions Needed
To develop with Wave Templates: Use Wave Analytics Templated Apps
Manage Wave Analytics Templated Apps
Manage Wave Analytics

What if you create a Wave app from scratch and you want others use it, but populate it with their own data? Maybe you’ve developed a great app with dashboards that track time-to-close for new accounts, and you want to make it available to partners and other divisions of your company. Or an app that pinpoints the efficiency of phone sales and service teams and you want to sell it to customers.

Wave Templates lets you do just that. After creating an app, developers can create a template based on the app using Wave Templates. You can use the template to distribute your Wave platform app the same way that Salesforce markets the Sales Analytics and Service Analytics prebuilt apps.

The template’s like a floorplan for a house: The plan determines the overall layout of the rooms, their shape, size, and so on, and others get to figure out what to put in the rooms and exactly how they’re used. Your template sets the organization and components of an app—dashboards, widgets, queries, look and feel, and so on. Others can use it to create an app that uses their own data. Then, depending on the flexibility you’ve built in to the app template, they can customize it to meet their own requirements.

Create a Template: Process at a Glance

An app you build using the Wave platform can become the “master app”—the basis for your template. Once you have your app, develop a template using the following general process:

  1. Create a WaveTemplate object for the app by making an API POST call to the /services/data/v39.0/wave/templates endpoint of the Wave REST API. This creates JSON files that are the basis of the template.
  2. Export the WaveTemplate object’s JSON files from the Metadata API.
  3. Edit the JSON files to determine the user interface for the app’s configuration wizard (if it includes one) as well as to determine template variables, conditions, and rules. Leave the JSON as is to create a template that’s identical to the master app. You can use the result to test that the template was created correctly. Or edit the JSON to add any user options you’d like to maximize the flexibility.
  4. Deploy the WaveTemplate object with calls to the Metadata API that push the changed files back into the database.
  5. Test the template by retrieving the object from the Metadata API.
  6. Distribute the template to users, partners, and customers who can then build their own apps from it.


Your org needs the following for you to use Wave Templates:

  1. Preference settings. Set your org preferences to enable Wave Templates. In the Admin Setup page, under Wave Settings, select Enable Wave Templates. You'll need this to create Wave Template assets in the form of JSON files.
  2. Wave REST API access. Refer to the documentation on Authentication to the Wave REST API to access and use the API.
  3. Metadata API access. Refer to the Metadata API Developer's Guide to access and use the Metadata API.

See the Wave Templates Developer Guide for complete details.