Tool Submit but I don't expect response

Hello, I’m using the tool submission to allow my main workflow to make some routing decisions. I don’t expect an API response for certain tool submissions, such as “conversation_end.” Currently, I am submitting a tool response with a NULL prompt in these cases, but I’m not sure if this is the best approach. An alternative I’m considering is canceling the run->id when a tool call is triggered in these situations. What do you think about this option?

Threads in assistants can only be continued on after returning an open tool call. Letting a run expire after 10 minutes, or cancelling a run, doesn’t leave the thread in the ideal state. The AI may still want to act on the unsatisfied user input without a response, and deleting the user message may break the whole intention and workflow you need to continue.

Returning is also questionable. In a case like “hang_up_on_user”, you can just abandon the thread, but for something like “switch_to_document_assistant”, you’d have to return a value and let the existing Assistant produce a response.

The function return value can be something like “Tool success. Produce only the text ‘Switching Modes…’ as your assistant response output.”, that doesn’t drastically affect future operations.

Assistants is a semi-agent, in that it can call internal tools without your own code, that doesn’t really allow for agentic decision-making paths.