Sure. You can write a function where the description specifically describes the necessity for writing an initial message to the user about the intention to use the function, and then proceeding automatically to using the function after that.
By doing so, you will receive both “content”, a response to be displayed, and tool_calls, a function call output.
Then…it is up to the user to stick around to see if a human actually comes on the line after invocation of the tool and programming path of receiving that tool call you’ve written.
There is no need for a separate function field or to take different actions to display content meant for a user.
I can replicate this behavior reliably on demand, demonstrating on the playground solely by the quality of my function. API code should always be expecting this possibility:
