ChatGPT human-in-the-loop UX: clarify before you act
Updated July 6, 2026
ChatGPT uses human-in-the-loop in two ways. For actions it cannot complete — like restaurant reservations — it states the limit, asks structured questions, and hands execution back. For drafts it can produce — like email — it clarifies missing context first, renders the output in an editable card, and routes sending through Gmail, Outlook, or the user’s default mail app instead of auto-sending.
State limits, then ask structured questions

What works
- The first sentence sets capability boundaries: help choosing, not booking on your behalf.
- Clarifying questions are bulleted and concrete — users know exactly what to answer next.
- Partial value (nearby examples) ships while waiting for details instead of blocking entirely.
What we would push on
- Users may still expect one-tap booking if competitors add agentic reservations.
- Location context appears below the answer; tying it to the clarifying prompt could reduce ambiguity.
Takeaway
When you cannot execute, say so in line one, then replace the missing action with a tight questionnaire.
Pattern: Human in Loop
Recommend, then hand off the final action

What works
- Recommendations reflect the user’s stated constraints (party size, time, cuisine, outdoor seating).
- Rich output — photos, numbered list, source chips, embedded map — makes the handoff feel useful, not like a dead end.
- Closing copy offers the next human step: reservation page or phone number, not a pretend confirmation.
What we would push on
- No deep link into OpenTable or Resy from the recommendation card — user still hunts for the booking surface.
- Map expand is easy to miss behind the composer; primary CTA could be “Open reservation page.”
Takeaway
Human-in-the-loop does not mean low effort. Ship the best possible draft output, then make the remaining user action obvious.
Pattern: Human in Loop
Clarify email intent before drafting

What works
- Underspecified prompts get a short questionnaire instead of a generic draft.
- Example phrasings (“Ask Brian to reschedule…”) show users how much detail is enough.
- Closing line sets expectation: provide details, then receive a polished draft.
Takeaway
Mirror Gemini’s clarify-first pattern in plain chat prose when you do not have a structured form.
Pattern: Human in Loop
Draft in an editable card, not a wall of text

What works
- The card separates the artifact from chat commentary — users know what to copy or send.
- Edit opens inline changes without leaving the thread.
- Follow-up offer (“more formal, personal, or shorter”) keeps refinement in the loop.
What we would push on
- Send icon is visible before users have reviewed — label could read “Export” to reduce mis-tap risk.
- No To/Subject fields on the card; recipient context lives only in the prior turn.
Takeaway
Promote consequential drafts into a card with explicit edit and export controls.
Pattern: Human in Loop
Pattern: Approval Workflows
Hand off send to the user’s mail app

What works
- Export targets match how people actually send mail — not a mystery “Send” inside chat.
- Three destinations cover web Gmail, Microsoft 365, and native mail clients.
- User completes send in a trusted surface with their own signatures and accounts.
What we would push on
- Handoff may lose thread context when the external compose window opens.
- No preview of which account will send until the handoff completes.
Takeaway
When you will not auto-send, make the export path explicit and let users finish in their mail client.
Pattern: Human in Loop
Steal this
- Lead with what the AI cannot do before asking follow-up questions.
- Use bulleted parameter lists when a task needs missing slots filled.
- End agentic-adjacent flows with a clear human-owned next step.
- Promote drafts into editable cards with export to real mail apps.
Skip this
- Implying an action completed when the user still has work to do.
- Generic lists that ignore constraints the user already provided.
Original gallery pages: Human in the Loop