Custom functions should support multiple input parameters and an output parameter, allowing values to be passed into a function and a result to be returned to the calling flow.