I’m building an OpenAI-powered assistant that can create support tickets through our backend. The awkward case is a timeout: the ticket may have been created, but the application never receives confirmation.
If I retry the assistant request, I’m worried it will request another ticket creation. Simply checking whether the wording looks similar could also block a legitimate second ticket.
Where should the duplicate protection live?
- Should the application assign an operation ID before asking the model to use a tool?
- Can a tool-call identifier safely identify the same business action across retries, or should I treat it as request-specific?
- What should the assistant tell the user while the backend outcome is still unknown?
I’m particularly interested in idempotency keys for tool calls and how people handle a retry after the conversation has moved on. The backend is under our control, so I can change its API rather than rely entirely on prompt instructions.
Can you answer this question?
Write Answer0 Answers