Skip to content

Commit

Permalink
adds ivr navigation docs (vocodedev#388)
Browse files Browse the repository at this point in the history
  • Loading branch information
ajar98 authored Sep 7, 2023
1 parent 135645a commit 4b411ab
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 3 deletions.
66 changes: 66 additions & 0 deletions docs/ivr-navigation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
title: "[Beta] IVR Navigation"
description: "Navigate phone trees"
---

Note: this feature is only useful on outbound calls, which are disabled by default. Please contact us through Discord or at [email protected]
to discuss enabling this for your account!

The Vocode API has many tools for agents to interact with IVRs (interactive voice responses) - navigating phone trees
is one of the primary use-cases of the API.

# IVR navigation mode

When starting an outbound call, set `ivr_navigation_mode` to `default` - this allows the bot to stay silent while on hold. Vocode
bots also automatically end the call after the conversation has been idle (i.e. no words on both sides) for 30 seconds: setting `ivr_navigation_mode` to `default`
increases this threshold to 10 minutes.

```python
vocode_client.calls.create_call(
from_number="<YOUR VOCODE NUMBER>",
to_number="15555555555",
agent=CreateCallAgentParams(
...,
ivr_navigation_mode="default"
),
)
```

# DTMF action

The DTMF action allows the bot to hit dial tones (e.g. to navigate phone tree nodes where an IVR says "Press 1 for ...").

```python
vocode_client.calls.create_call(
from_number="<YOUR VOCODE NUMBER>",
to_number="15555555555",
agent=CreateCallAgentParams(
actions=[DtmfActionParams(type="action_dtmf")],
...
),
)
```

# Transfer call action

The Transfer call action allows the bot to transfer to a human agent.

```python
vocode_client.calls.create_call(
from_number="<YOUR VOCODE NUMBER>",
to_number="15555555555",
agent=CreateCallAgentParams(
actions=[TransferCallActionParams(type="action_transfer_call", config=TransferCallConfig(
phone_number="11234567890"
))],
...
),
)
```

# On the horizon

We plan to introduce more dials here, for example:

- More configurability around allowed idle time of the conversation
- Human detection - i.e. behavior when a human picks up the phone after the bot navigates the phone tree
3 changes: 2 additions & 1 deletion docs/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,8 @@
"vectordb",
"multilingual",
"injecting-context",
"machine-detection"
"machine-detection",
"ivr-navigation"
]
}
],
Expand Down
44 changes: 42 additions & 2 deletions docs/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1433,6 +1433,12 @@
"enum": ["auto", "relaxed"],
"title": "Endpointing Sensitivity",
"default": "auto"
},
"ivr_navigation_mode": {
"type": "string",
"enum": ["default", "off"],
"title": "Ivr Navigation Mode",
"default": "off"
}
},
"type": "object",
Expand Down Expand Up @@ -1530,6 +1536,12 @@
"enum": ["auto", "relaxed"],
"title": "Endpointing Sensitivity",
"default": "auto"
},
"ivr_navigation_mode": {
"type": "string",
"enum": ["default", "off"],
"title": "Ivr Navigation Mode",
"default": "off"
}
},
"type": "object",
Expand Down Expand Up @@ -1649,6 +1661,13 @@
{ "$ref": "#/components/schemas/Undefined" }
],
"title": "Endpointing Sensitivity"
},
"ivr_navigation_mode": {
"anyOf": [
{ "type": "string", "enum": ["default", "off"] },
{ "$ref": "#/components/schemas/Undefined" }
],
"title": "Ivr Navigation Mode"
}
},
"type": "object",
Expand Down Expand Up @@ -1880,6 +1899,12 @@
"enum": ["auto", "relaxed"],
"title": "Endpointing Sensitivity",
"default": "auto"
},
"ivr_navigation_mode": {
"type": "string",
"enum": ["default", "off"],
"title": "Ivr Navigation Mode",
"default": "off"
}
},
"type": "object",
Expand Down Expand Up @@ -2169,6 +2194,12 @@
"enum": ["auto", "relaxed"],
"title": "Endpointing Sensitivity",
"default": "auto"
},
"ivr_navigation_mode": {
"type": "string",
"enum": ["default", "off"],
"title": "Ivr Navigation Mode",
"default": "off"
}
},
"type": "object",
Expand Down Expand Up @@ -2499,7 +2530,8 @@
"id": { "type": "string", "format": "uuid", "title": "Id" },
"user_id": { "type": "string", "format": "uuid", "title": "User Id" },
"type": { "type": "string", "enum": ["voice_rime"], "title": "Type" },
"speaker": { "type": "string", "title": "Speaker" }
"speaker": { "type": "string", "title": "Speaker" },
"speed_alpha": { "type": "number", "title": "Speed Alpha" }
},
"type": "object",
"required": ["id", "user_id", "type", "speaker"],
Expand All @@ -2508,7 +2540,8 @@
"RimeVoiceParams": {
"properties": {
"type": { "type": "string", "enum": ["voice_rime"], "title": "Type" },
"speaker": { "type": "string", "title": "Speaker" }
"speaker": { "type": "string", "title": "Speaker" },
"speed_alpha": { "type": "number", "title": "Speed Alpha" }
},
"type": "object",
"required": ["type", "speaker"],
Expand All @@ -2523,6 +2556,13 @@
{ "$ref": "#/components/schemas/Undefined" }
],
"title": "Speaker"
},
"speed_alpha": {
"anyOf": [
{ "type": "number" },
{ "$ref": "#/components/schemas/Undefined" }
],
"title": "Speed Alpha"
}
},
"type": "object",
Expand Down

0 comments on commit 4b411ab

Please sign in to comment.