Interactive voice response (IVR) uses keypad tones to route customers to the right agent or department, provide recorded responses for frequently asked questions, and deflect calls by allowing callers to switch the interaction to text. IVR is available on the Talk Professional and Enterprise plans. For more information, see Route incoming calls with IVR in the Zendesk Help Center.

JSON Format

IVR are represented as JSON objects with the following properties:

Name Type Read-only Mandatory Description
id integer true false The IVR ID
menus array false false The list of the IVR menus
name string false false The name of the IVR
phone_number_ids array false false The list of IDs of all the phone numbers configured with this IVR
phone_number_names array true false The list of the names of all the phone numbers configured with this IVR

Example

{  "id": 10001,  "menus": [    {      "default": true,      "greeting_id": 10001,      "id": 10001,      "name": "Main menu",      "routes": [        {          "action": "group",          "greeting": null,          "id": 10001,          "keypress": "0",          "option_text": "Support Group",          "options": {            "group_ids": [              10001            ]          }        }      ]    }  ],  "name": "IVR menus",  "phone_number_ids": [    1  ],  "phone_number_names": [    "Main menu"  ]}

List IVRs

  • GET /api/v2/channels/voice/ivr

Allowed For

  • Agents

Using curl

curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr.json \  -v -u {email_address}:{password} -X GET

Example Response

Status 200 OK
{  "count": 1,  "ivrs": [    {      "id": 10001,      "menus": [        {          "default": true,          "greeting_id": 10001,          "id": 10001,          "name": "Main menu",          "routes": [            {              "action": "group",              "greeting": null,              "id": 10001,              "keypress": "0",              "option_text": "Support Group",              "options": {                "group_ids": [                  10001                ]              }            }          ]        }      ],      "name": "IVR Menu",      "phone_number_ids": [],      "phone_number_names": []    }  ],  "next_page": null,  "previous_page": null}

Create IVR

  • POST /api/v2/channels/voice/ivr

Allowed For

  • Agents

Example Body

{  "ivr": {    "name": "IVR Menu"  }}

Using curl

curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr.json \  -H "Content-Type: application/json" -d '{"ivr": {"name": "IVR Menu"}}' \  -v -u {email_address}:{password} -X POST

Example Response

Status 201 Created
{  "ivr": {    "id": 10001,    "menus": [      {        "default": true,        "greeting_id": 10001,        "id": 10001,        "name": "Main menu",        "routes": [          {            "action": "group",            "greeting": null,            "id": 10001,            "keypress": "0",            "option_text": "Support Group",            "options": {              "group_ids": [                10001              ]            }          }        ]      }    ],    "name": "IVR Menu",    "phone_number_ids": [      6    ],    "phone_number_names": [      "Awesome Support Line"    ]  }}

Show IVR

  • GET /api/v2/channels/voice/ivr/{ivr_id}

Allowed For

  • Agents

Parameters

Name Type In Required Description
ivr_id integer Path true The ID of the IVR

Using curl

curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr/{ivr_id}.json \  -v -u {email_address}:{password} -X GET

Example Response

Status 200 OK
{  "ivr": {    "id": 10001,    "menus": [      {        "default": true,        "greeting_id": 10001,        "id": 10001,        "name": "Main menu",        "routes": [          {            "action": "group",            "greeting": null,            "id": 10001,            "keypress": "0",            "option_text": "Support Group",            "options": {              "group_ids": [                10001              ]            }          }        ]      }    ],    "name": "IVR Menu",    "phone_number_ids": [      6    ],    "phone_number_names": [      "Awesome Support Line"    ]  }}

Update IVR

  • PUT /api/v2/channels/voice/ivr/{ivr_id}

Allowed For

  • Agents

Parameters

Name Type In Required Description
ivr_id integer Path true The ID of the IVR

Example Body

{  "ivr": {    "name": "IVR Menu"  }}

Using curl

curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr/{ivr_id}.json \  -H "Content-Type: application/json" -d '{"ivr": {"name": "IVR Menu"}}' \  -v -u {email_address}:{password} -X PUT

Example Response

Status 200 OK
{  "ivr": {    "id": 10001,    "menus": [      {        "default": true,        "greeting_id": 10001,        "id": 10001,        "name": "Main menu",        "routes": [          {            "action": "group",            "greeting": null,            "id": 10001,            "keypress": "0",            "option_text": "Support Group",            "options": {              "group_ids": [                10001              ]            }          }        ]      }    ],    "name": "IVR Menu",    "phone_number_ids": [      6    ],    "phone_number_names": [      "Awesome Support Line"    ]  }}

Delete IVR

  • DELETE /api/v2/channels/voice/ivr/{ivr_id}

Allowed For

  • Agents

Parameters

Name Type In Required Description
ivr_id integer Path true The ID of the IVR

Using curl

curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr/{ivr_id}.json \  -v -u {email_address}:{password} -X DELETE

Example Response

Status 200 OK
{  "ivr": {    "id": 10001,    "menus": [      {        "default": true,        "greeting_id": 10001,        "id": 10001,        "name": "Main menu",        "routes": [          {            "action": "group",            "greeting": null,            "id": 10001,            "keypress": "0",            "option_text": "Support Group",            "options": {              "group_ids": [                10001              ]            }          }        ]      }    ],    "name": "IVR Menu",    "phone_number_ids": [      6    ],    "phone_number_names": [      "Awesome Support Line"    ]  }}