What is copied, and what is not
Secret references are copied by name. The production environment must
already hold values for those names — see
Webhooks and secrets.
Endpoint
missing_secrets
If the source workflow references secrets that do not exist in
production, those names are returned in missing_secrets. The
production draft is still created so you can inspect the diff, but
publishing or running it will fail until the missing secrets are
populated.
Add the missing values in the dashboard under the production environment,
then re-list secrets to confirm and publish the draft.
URL warnings
Webhook definitions are scanned before they are copied into production. The response includeswarnings if the production target would inherit
endpoints that look like development URLs:
localhost,127.0.0.1, or0.0.0.0*.ngrok.io,*.ngrok-free.app,*.ngrok.app- Known staging hostnames (any URL containing
staging,dev,test, or matching common review-app domains)
Examples
CLI
--confirm:
curl
Workflow pairing
Promotion uses a stable logical id (workflow_family_id) to associate the
test workflow with its production counterpart. The two workflows have
distinct resource IDs (so cross-environment access still returns 404),
but the dashboard pairs them for diffs and follow-up promotions.
Recommended flow
- Build and iterate on the workflow in the test environment.
- Run workflow tests against the latest test draft.
- Publish the test draft to get a stable
source_version_id. POST /v1/workflows/{workflow_id}/promotions(or use the dashboard Promote action).- Review the production draft: secrets, webhook URLs, tests.
- Publish the production draft when you are ready for live traffic.