Evaluating isSandbox in flow

In Summer 14, Salesforce added the isSandbox boolean field to the Organization object that can be easily queried in apex.

In flow, process builder, and workflow rules, you can access the $organization global variable via a formula field, but a number of fields are missing, including isSandbox

You might think you could hard code the org Id but it wont work, due to magical mysterious things that happen in the sandbox refresh engine, which will update almost all references to the new sandbox org id.

In flow, it is quite easy however to get this info via a get record element. Do a get records on the Organization object (all records), then you can access the isSandbox field, and evaluate it in a decision element.

Get Records

Decision Element

Sadly, this is not available for process builder or workflow rules and my idea for this only has 3 votes in two years, flow is the future…

Note - scheduled flows come over to sandboxes when you refresh them, so if your flows can cause emails to be sent, this could be important. On refresh, user emails are scrambled and deliverability is set to system email only, so it will only have an impact when sending to custom email fields. An alternative is to use an apex class to scramble those fields on sandbox refresh, but you gotta remember to run it!


Now read this

Setting flow finish behavior without a custom controller

Until now, in order to redirect the user to a record created in a flow, you needed to embed the flow in a visualforce page, and use a custom apex controller to get the record Id from the flow so you can use pass it to a pagereference... Continue →