The gap
Packaged flows are immutable at runtime by design, and the design is sound as far as it goes: flow is supportsOverlay: false, allowOrgOverride: false (rolled back after #6190's phantom overlay), and the ADR language calls per-org variants "a deployment, not an overlay" because flows carry execution side-effects.
But closing the whole flow also closes the plain business parameters inside it. Concrete case (HotCRM reference app): the approval threshold LARGE_DEAL_AMOUNT = 100_000 consumed by opportunity_approval. An org admin who wants the bar at $200K has no supported path:
- can't overlay the packaged flow (403
not_overridable — correct, per the above); - can't even deactivate it (
status lives in the immutable artifact); - authoring a runtime replacement double-fires alongside the packaged flow it can't switch off;
- the only real path is edit source → CI → redeploy, which is out of reach for a non-developer admin and disproportionate for a numeric policy knob.
Ask
A supported mechanism for org-level tunables consumed by packaged automation. Candidate shapes (product team's call):
- Package-declared config/settings values referenced from flow conditions (
settings.large_deal_amount), with the parameter — not the flow — being org-overridable; - Partial overlay limited to declared parameter slots (the flow author marks which literals are tunable; everything structural stays locked);
- A supported deactivate-and-replace path for packaged flows, so a runtime-authored variant can take over without double-firing.
Option 1 seems most aligned with the existing two-tier model (it adds no flow-overlay read path, so the #6190 class of phantom stays impossible).
Provenance
Surfaced by the product owner while reviewing promo video #4 (video-studio): the expectation "a human can open the designer and adjust the amount condition" is currently unmeetable for shipped flows. Filing as a product-design discussion — unassigned, not claimed.
The gap
Packaged flows are immutable at runtime by design, and the design is sound as far as it goes:
flowissupportsOverlay: false, allowOrgOverride: false(rolled back after #6190's phantom overlay), and the ADR language calls per-org variants "a deployment, not an overlay" because flows carry execution side-effects.But closing the whole flow also closes the plain business parameters inside it. Concrete case (HotCRM reference app): the approval threshold
LARGE_DEAL_AMOUNT = 100_000consumed byopportunity_approval. An org admin who wants the bar at $200K has no supported path:not_overridable— correct, per the above);statuslives in the immutable artifact);Ask
A supported mechanism for org-level tunables consumed by packaged automation. Candidate shapes (product team's call):
settings.large_deal_amount), with the parameter — not the flow — being org-overridable;Option 1 seems most aligned with the existing two-tier model (it adds no flow-overlay read path, so the #6190 class of phantom stays impossible).
Provenance
Surfaced by the product owner while reviewing promo video #4 (video-studio): the expectation "a human can open the designer and adjust the amount condition" is currently unmeetable for shipped flows. Filing as a product-design discussion — unassigned, not claimed.