[SalesForce] Error deploying flows: Required field is missing: actionType

I need to fetch components from sandbox and deploy them back to sandbox after a refresh. First I tried with Eclipse force plugin: Restoring sandbox components1

I can fetch all needed components, but when I try to deploy a custom flow I get error:

Required field is missing: actionType

I tried with VSCode and Salesforce extension package (deploy source to org) and got same error:

"resource": "/c:/Users/..../..../workspace/SF2BOIntegration/force-app/main/default/flows/Create_BO_Installation.flow-meta.xml",
"owner": "deploy-errors",
"severity": 8,
"message": "Required field is missing: actionType (24:18)",
"source": "Flow",

I tried different API versions in package.xml (43,46) but deploy always fails.

There is a field actionType in XML file for the flow:

<actionCalls>
<name>Installation_Validation</name>
<label>Installation Validation</label>
<locationX>2037</locationX>
<locationY>4116</locationY>
<actionName>01pO0000000OnmzNotFound</actionName>
<actionType xsi:nil="true"/>

What is this field good for and how can I fix this error?

Regards

enter image description here

Best Answer

The Metadata API reference shows that actionType is a required field on the FlowActionCall sub-object.

It's not easy to see off the bat how your metadata got into a state where it's not deployable, but there's a few possibilities I know of.

  • If your real Flow uses an actionType like contactRequestAction, available starting in API 45, and you pulled the metadata using API 44 or earlier, you may get back metadata that's non-deployable, even if you update the API version for the deployment. Try re-pulling at API 46 and see if the output is different.
  • If your Flow is not currently functional in the source org, it may not be deployable at all.
  • If your Flow was created in a prior API version, it's conceivable (albeit not common) that you'll need to do some kind of remediation on it before deploying in current APIs.