Skip to main content
deleted 4 characters in body
Source Link
David Reed
  • 93.7k
  • 14
  • 90
  • 166

This formula snippet

        ISBLANK(
            TEXT([Contact].Request_Portal_User_Account__c == True)
            )

is never going to evaluate to true. The text value of that Boolean expression would always be a non-blank string ("True" or "False"), if this even compiles.

Remember that the NOT() function takes a Boolean, and Checkbox fields are Booleans. You can pass one to the NOT() function directly.

If we make those substitutions, remove some of your extra parentheses, and add a comma (I don't believe your formula as written will compile), you come out with

AND(
    NOT($Setup.Hierarchy_Settings__c.Skip_Process_Builder__c == False), 
    [Contact].RecordType.DeveloperName == $Label.Contact_Record_Type,  
    OR(
        AND(
            ISNEW(),
            NOT([Contact].Request_Portal_User_Account__c)
        ),
        AND(
            ISCHANGED([Contact].Request_Portal_User_Account__c),
            NOT([Contact].Request_Portal_User_Account__c)
        )
    )
)

That's going to be true if the first two conditions are true, and Request_Portal_User_Account__c is false on a new record or is changed to false on an existing record.

This formula snippet

        ISBLANK(
            TEXT([Contact].Request_Portal_User_Account__c == True)
            )

is never going to evaluate to true. The text value of that Boolean expression would always be a non-blank string ("True" or "False"), if this even compiles.

Remember that the NOT() function takes a Boolean, and Checkbox fields are Booleans. You can pass one to the NOT() function directly.

If we make those substitutions, remove some of your extra parentheses, and add a comma (I don't believe your formula as written will compile), you come out with

AND(
    $Setup.Hierarchy_Settings__c.Skip_Process_Builder__c == False, 
    [Contact].RecordType.DeveloperName == $Label.Contact_Record_Type,  
    OR(
        AND(
            ISNEW(),
            NOT([Contact].Request_Portal_User_Account__c)
        ),
        AND(
            ISCHANGED([Contact].Request_Portal_User_Account__c),
            NOT([Contact].Request_Portal_User_Account__c)
        )
    )
)

That's going to be true if the first two conditions are true, and Request_Portal_User_Account__c is false on a new record or is changed to false on an existing record.

This formula snippet

        ISBLANK(
            TEXT([Contact].Request_Portal_User_Account__c == True)
            )

is never going to evaluate to true. The text value of that Boolean expression would always be a non-blank string ("True" or "False"), if this even compiles.

Remember that the NOT() function takes a Boolean, and Checkbox fields are Booleans. You can pass one to the NOT() function directly.

If we make those substitutions, remove some of your extra parentheses, and add a comma (I don't believe your formula as written will compile), you come out with

AND(
    NOT($Setup.Hierarchy_Settings__c.Skip_Process_Builder__c), 
    [Contact].RecordType.DeveloperName == $Label.Contact_Record_Type,  
    OR(
        AND(
            ISNEW(),
            NOT([Contact].Request_Portal_User_Account__c)
        ),
        AND(
            ISCHANGED([Contact].Request_Portal_User_Account__c),
            NOT([Contact].Request_Portal_User_Account__c)
        )
    )
)

That's going to be true if the first two conditions are true, and Request_Portal_User_Account__c is false on a new record or is changed to false on an existing record.

Source Link
David Reed
  • 93.7k
  • 14
  • 90
  • 166

This formula snippet

        ISBLANK(
            TEXT([Contact].Request_Portal_User_Account__c == True)
            )

is never going to evaluate to true. The text value of that Boolean expression would always be a non-blank string ("True" or "False"), if this even compiles.

Remember that the NOT() function takes a Boolean, and Checkbox fields are Booleans. You can pass one to the NOT() function directly.

If we make those substitutions, remove some of your extra parentheses, and add a comma (I don't believe your formula as written will compile), you come out with

AND(
    $Setup.Hierarchy_Settings__c.Skip_Process_Builder__c == False, 
    [Contact].RecordType.DeveloperName == $Label.Contact_Record_Type,  
    OR(
        AND(
            ISNEW(),
            NOT([Contact].Request_Portal_User_Account__c)
        ),
        AND(
            ISCHANGED([Contact].Request_Portal_User_Account__c),
            NOT([Contact].Request_Portal_User_Account__c)
        )
    )
)

That's going to be true if the first two conditions are true, and Request_Portal_User_Account__c is false on a new record or is changed to false on an existing record.