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.

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:

Select the source and target orgs for your comparison. Hit Compare now to run a comparison between your chosen source and target orgs.

Gearset’s compare and deploy page

Once you’re in the comparison, you’ll be able to select your filters down the left-hand side. Make sure to include both WaveRecipe and WaveDataflow in your comparison filter.

Select both of these components, click Next, and then Deploy.

The comparison results page in Gearset

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’s Salesforce metadata deployment solution? 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?