From my experience, setting app-version to development does work! That is, once your Zap is active and your Zap WF steps are deployed from Bubble to Live, it indeed works in Live.
From the Bubble manual on Zapier:
"Search for an App ID, such as “zapier-demo,” and select a version for the application, either development or a custom branch name. If you would like to use this Zap in the live version of your Bubble application, first build your Zap and set it up in your selected development version. Once you deploy your Bubble application to live, your new Zap will work in your live version.
To avoid zaps running from triggers in your dev/custom branches, I believe you can add a conditional on the Zap WF trigger to only when Live:
It seems the way Zapier targets version control behaviour is different for different Zapier workflow steps.
Consider this example:
Step 1 is “New Workflow Trigger Event”. This is set to Version-Test in the Zapier workflow step, and when the Bubble app is deployed Live, this Zapier workflow is fired from the Version Live. So Zapier appears to work with the Bubble version control seamlessly.
Step 3 is “Modify Thing”. This is set to Verstion-Test in the Zapier workflow step, and when the Bubble app is deployed Live, Zapier is still trying to hit the Version-Test. So the behaviour is not consistent.
To solve this, I had to change “Step 3” to Version-Live, skip the test (as it will fail - trying to find a test version unique ID in the live Bubble DB), save it, and test from the live version. This was an effective workaround.