response_required

View as Markdown

Direction: Dial → your server. Dial has decided it’s the agent’s turn. Reply with one or more response frames that carry the same response_id.

Schema

FieldTypeDescription
typestringAlways "response_required".
response_idintegerIdentifies this turn. Echo it back on every response frame so Dial can group your reply.
transcriptarrayThe full conversation so far — [{ role, content }]. Enough to rebuild context on its own.

Example

1{
2 "type": "response_required",
3 "response_id": 7,
4 "transcript": [
5 { "role": "agent", "content": "Hi, thanks for calling — how can I help?" },
6 { "role": "user", "content": "I'd like to check my order status." }
7 ]
8}

Superseding

If a newer response_required arrives before you finish answering the previous one, it supersedes it: stop generating for the old response_id and answer the new one. This is how natural turn‑taking works when the user keeps talking over the agent.