validateWaveTemplate

Validates a CRM Analytics template for org readiness.

Syntax 

1import { validateWaveTemplate } from 'lightning/analyticsWaveApi';
2validateWaveTemplate({ templateIdOrApiName: string, templateValidateParam: TemplateValidateInput }): Promise<TemplateValidate>

CRM Analytics API Resource 

1POST /wave/templates/${templateIdOrApiName}/validate

validateWaveTemplate uses this CRM Analytics API resource.

Parameters 

Parameter NameTypeDescriptionRequired?
templateIdOrApiNameStringThe ID or API name of the CRM Analytics template.Yes
templateValidateParamObjectThe input to validate the template with. Use the Template Validate Input.Yes

Returns 

Usage 

Use validateWaveTemplate to allow users to validate a CRM Analytics app template for org readiness. This example shows how to pass in parameter values to override template variables during validation. The results are parsed from JSON to a string for better readability.

1import { LightningElement } from "lwc";
2import { validateWaveTemplate } from "lightning/analyticsWaveApi";
3
4export default class ValidateWaveTemplate extends LightningElement {
5  results = "";
6
7  async doValidateWaveTemplate() {
8    this.results = "Loading...";
9    try {
10      const results = await validateWaveTemplate({
11        templateIdOrApiName: "<id or api name here>",
12        templateValidateParam: {
13          // include any variable values to use, which override any template defaults for this call
14          values: {
15            variable1: "foo",
16            variable2: { objectName: "Case" },
17          },
18        },
19      });
20      this.results = "Success:\n" + JSON.stringify(results, undefined, 2);
21    } catch (e) {
22      console.error("validateWaveTemplate error:", e);
23      this.results = "Error:\n" + JSON.stringify(e, undefined, 2);
24    }
25  }
26}