Forum Discussion

jgollner's avatar
jgollner
Copper Contributor
May 14, 2026

Azure ADF boolean parameter changes from true to True and false to False

I just created a new trigger in Azure ADF. 
I seems the boolean parameter in the trigger is converted from lowercase to be capitalised. 
Is anybody experiencing the same thing?

2 Replies

  • radwanalmsora1's avatar
    radwanalmsora1
    Copper Contributor

    Hi,

    Yes, this is a known and standard behavior in Azure Data Factory (ADF).

    When you define boolean values in the ADF UI, it often displays or passes them to the underlying JSON infrastructure as capitalized (True False) This happens because ADF's backend expressions and pipeline engine rely on a specific syntax where booleans are evaluated this way, or it natively converts them when passing parameters from a trigger to a pipeline.

    Here is what you need to know and how to handle it

    Why this happens

    ADF uses the Azure Resource Manager (ARM) JSON deployment model and the ADF expression language. In JSON, booleans are strictly lowercase (truefalse) However, when ADF passes trigger parameters or interprets expressions, it frequently treats them as string literals or converts them to uppercase tokens (True False) internally during the UI to backend translation.

    How to handle it in your Pipeline

    If your downstream activities like an If Condition, Web Activity, or Stored Procedure are failing or misbehaving because they expect lowercase strings or strict booleans, use the following workarounds.

    For If Conditions  Expressions Instead of comparing the parameter directly if it's acting like a string, use the @bool() function to explicitly cast it back to a proper boolean

     

    @bool(trigger().outputs.pipeline.parameters.yourParamName)

    To force lowercase String format:

    If a downstream API or database requires lowercase true or false, convert the parameter to a lowercase string explicitly in your pipeline expression

    @toLower(string(pipeline().parameters.yourParamName))

    You don't need to worry about your trigger being broken; as long as you handle the parameter evaluation using ADF expressions like @bool(), the capitalization won't cause execution errors.

     

     

  • radwanalmsora1's avatar
    radwanalmsora1
    Copper Contributor

    Hi,

    Yes, this is a known and standard behavior in Azure Data Factory (ADF).

    When you define boolean values in the ADF UI, it often displays or passes them to the underlying JSON infrastructure as capitalized (True / False). This happens because ADF's backend expressions and pipeline engine rely on a specific syntax where booleans are evaluated this way, or it natively converts them when passing parameters from a trigger to a pipeline.

    Here is what you need to know and how to handle it:

    Why this happens

    ADF uses the Azure Resource Manager (ARM) JSON deployment model and the ADF expression language. In JSON, booleans are strictly lowercase (true/false). However, when ADF passes trigger parameters or interprets expressions, it frequently treats them as string literals or converts them to uppercase tokens (True/False) internally during the UI-to-backend translation.

    How to handle it in your Pipeline

    If your downstream activities (like an If Condition, Web Activity, or Stored Procedure) are failing or misbehaving because they expect lowercase strings or strict booleans, use the following workarounds.

    @bool(trigger().outputs.pipeline.parameters.yourParamName)

    To force lowercase String format:

    If a downstream API or database requires lowercase "true" or "false", convert the parameter to a lowercase string explicitly in your pipeline expression.

    @toLower(string(pipeline().parameters.yourParamName))

    You don't need to worry about your trigger being broken; as long as you handle the parameter evaluation using ADF expressions like @bool(), the capitalization won't cause execution errors.