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.

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
.

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? Let’s walk through the steps of deploying a WaveRecipe
from one org to another with Gearset:
Select the source and target orgs for your comparison.
Create a custom metadata filter which includes both
WaveRecipe
andWaveDataflow
.Hit Compare now to run a comparison between your chosen source and target orgs.
In the comparison results page, you should be able to see the
WaveRecipe
you want to deploy, plus its associatedWaveDataflow
, which will have the same name. Select both of these, click Next, and then Deploy.Once the deployment has completed, your
WaveRecipe
will be visible in your target org!
Try Gearset for your Tableau CRM needs!
If deploying Wave
components is something you’ve struggled with before, why not try out Gearset? If you’re not already a Gearset user, head on over here to start your free trial which gives you full access to all of Gearset’s features for 30 days. We’d love to hear how you get on - contact us any time with the live chat!