The Robot Framework User Guide, section 6.6 Boolean arguments, says:
Many keywords in Robot Framework standard libraries accept arguments that are handled as Boolean values true or false. If such an argument is given as a string, it is considered false if it is either empty or case-insensitively equal to false or no. Other strings are considered true regardless their value, and other argument types are tested using same rules as in Python.
How do I replicate this behavior in my own user keywords?
The build-in keyword Convert To Boolean is stricter:
Converts the given item to Boolean true or false.
Handles strings True and False (case-insensitive) as expected, otherwise returns item's truth value using Python's bool() method.