When setting up a queue in output binding for a function , we have the ability to set a default visibility timeout as part of the host.json "queues": { "visibilityTimeout" : "00:00:30" } . However for each message if we need a custom visibility timeout it can only be achieved by the function queue_client.send_message(message,visibility_timeout=visibility_timeout_seconds) . This unnecessarily bloats the function app size as this step requires azure.storage.queue package ( python ) . But I guess it's the same across langauges . If one can be allowed to initialize the queue message object even when it is in output binding and set visibility timeout property to the step queueoutput.set(message,visibility_timeout=visibility_timeout_seconds ) , it can work wonders in uses cases that require a custom visibility timeout for each message without bloating the function app size.