CaioElias
CaioElias2d ago

api call

• Call the Dialog Manager API yourself, read the timeout value in the no-reply trace, then after that many seconds POST { type: "no-reply" }. You will get the reprompt back. • Or test through a voice integration, where the channel will automatically trigger the no-reply for you. how can i do that?
1 Reply
Tico | Voiceflow Assistant
Here’s what the manual “no-reply” cycle looks like when you drive the Dialog Manager (DM) API yourself. 1️⃣ START THE TURN POST /interact (or /state) with the user’s utterance.
curl -X POST https://general-runtime.voiceflow.com/state/user_123/interact \
-H "Authorization: VF.DM.<API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"action": { "type": "text", "payload": "hello" },
"config": { "tts": false }
}'
curl -X POST https://general-runtime.voiceflow.com/state/user_123/interact \
-H "Authorization: VF.DM.<API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"action": { "type": "text", "payload": "hello" },
"config": { "tts": false }
}'
2️⃣ READ THE RESPONSE In the body you’ll see the usual traces plus a special one that announces how long the runtime will wait before firing a reprompt:
{
"trace": [
{ "type": "text", "payload": { "message": "Hi! How can I help?" } },
{ "type": "no-reply", "payload": { "timeout": 5 } }
]
}
{
"trace": [
{ "type": "text", "payload": { "message": "Hi! How can I help?" } },
{ "type": "no-reply", "payload": { "timeout": 5 } }
]
}
Save that timeout (seconds). In this example it’s 5 s. 3️⃣ START A TIMER ON YOUR CLIENT
setTimeout(() => triggerNoReply(), 5_000);
setTimeout(() => triggerNoReply(), 5_000);
If the user speaks / types before the timer expires just cancel it and POST the new utterance as normal. 4️⃣ FIRE THE NO-REPLY ACTION When the timer expires POST again, but the action is type: "no-reply":
curl -X POST https://general-runtime.voiceflow.com/state/user_123/interact \
-H "Authorization: VF.DM.<API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"action": { "type": "no-reply" }
}'
curl -X POST https://general-runtime.voiceflow.com/state/user_123/interact \
-H "Authorization: VF.DM.<API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"action": { "type": "no-reply" }
}'
The runtime now follows the no-reply path you configured in Voiceflow and returns the reprompt traces (text, voice, etc.). That’s it – your client simply watches for the no-reply trace, waits the specified number of seconds, and if no user input arrives sends { action: { type: "no-reply" } }. VOICE CHANNELS DO IT FOR YOU If you connect the same project to a voice platform (Alexa, Google Assistant, Twilio Voice, etc.) the connector automatically raises the no-reply event when the user stays silent, so you don’t have to implement the timer yourself. Docs: https://docs.voiceflow.com (section “No Reply handling”).

Did you find this page helpful?