Troubleshooting a Salesforce error for Tableau CRM deployments with WaveRecipe

Troubleshooting a Salesforce error for Tableau CRM deployments with WaveRecipe

Sam Eastwood on

Share with


Have you ever tried deploying Tableau CRM changes, specifically WaveRecipe metadata, and hit this error: A Recipe must specify a Dataflow? If so, you’re in the right place. In this post, I’ll explain what causes that particular Salesforce error message, and how you can resolve it.

What’s Tableau CRM?

Many Salesforce teams use Tableau CRM (previously known as Einstein Analytics or Wave) to create custom dashboards and graphs which provide deeper insights into their data, allowing their companies to make faster and more informed decisions.

Tableau CRM settings are described by the underlying Wave metadata types, such as:

  • WaveXmd
  • WaveApplication
  • WaveDashboard
  • WaveDataflow
  • WaveDataset
  • WaveLens
  • WaveRecipe

These settings can be very complex, so you don’t want to be copying over your changes manually between your Salesforce orgs. The good news is that you can retrieve and deploy these metadata types using Gearset.

NOTE: Gearset’s comparisons have had an upgrade! We’re in the process of updating all our blog posts with the new UI images, but in the meantime you can find out more here.

Gearset’s metadata filter

What’s special about WaveRecipe?

The WaveRecipe metadata type essentially describes an algorithm - a set of steps (hence ‘recipe’!) that can be applied to a data set, hopefully with a tasty outcome. Your WaveRecipes will be listed in Salesforce.

WaveRecipes listed in the Salesforce UI

Compared to other Wave metadata types, the WaveRecipe component is a little more difficult to deploy as it must be deployed with the associated WaveDataflow component. Attempting to deploy WaveRecipe without the WaveDataflow component leads to the Salesforce error: A Recipe must specify a Dataflow.

A Recipe must specify a Dataflow

Unfortunately, the missing WaveDataflow component can be elusive! It’s generated automatically when a WaveRecipe is created but hidden in the Salesforce UI and so can’t be viewed within your org. What’s more, it isn’t retrieved automatically along with your other WaveDataflow components (the ones you created in your org manually) when querying the Salesforce Metadata API.

How to deploy WaveRecipe successfully

This is where Gearset comes in! When WaveDataflow components are being retrieved, Gearset’s intelligent comparison and deployment engine will make a special request for these hidden WaveDataflow components so you can successfully deploy your WaveRecipes.

So, as a user, what do you need to do? If you haven’t already, sign up for your free trial of Gearset to walk through the steps of deploying a WaveRecipe from one org to another with Gearset:

  1. Select the source and target orgs for your comparison.

    Gearset’s compare and deploy page
  2. Create a custom metadata filter which includes both WaveRecipe and WaveDataflow.

    Gearset’s metadata filter
  3. Hit Compare now to run a comparison between your chosen source and target orgs.

  4. In the comparison results page, you should be able to see the WaveRecipe you want to deploy, plus its associated WaveDataflow, which will have the same name. Select both of these, click Next, and then Deploy.

    The comparison results page in Gearset
  5. Once the deployment has completed, your WaveRecipe will be visible in your target org!

    The deployment success page in Gearset

Try Gearset for your Tableau CRM needs!

If deploying Wave components is something you’ve struggled with before, why not try out Gearset? Start your free trial and get full access to all of Gearset’s features for 30 days. Or you can book a tailored demo of Gearset for your team.

Ready to get started with Gearset?