IVR Menus

Interactive voice response (IVR) uses keypad tones or speech recognition 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 Talk Help Center.

JSON Format

IVR Menus are represented as JSON objects with the following properties:

Name Type Read-only Mandatory Description
default boolean true false Whether this is the default menu for the IVR
greeting_id integer false false The ID of the greeting associated with the IVR menu
id integer true false The IVR menu ID
name string false false The name of the IVR menu
routes array true false The list of the IVR menu routes
Example
{
  "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": [
          360001381413
        ]
      }
    }
  ]
}

List IVR Menus

  • GET /api/v2/channels/voice/ivr/{ivr_id}/menus
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}/menus.json \
  -v -u {email_address}:{password} -X GET
Example Response
Status 200 OK

{
  "count": 1,
  "ivr_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": [
              360001381413
            ]
          }
        }
      ]
    }
  ],
  "next_page": null,
  "previous_page": null
}

Create IVR Menu

  • POST /api/v2/channels/voice/ivr/{ivr_id}/menus
Allowed For
  • Agents
Parameters
Name Type In Required Description
ivr_id integer Path true The ID of the IVR
Example Body
{
  "ivr_menu": {
    "name": "Main Menu"
  }
}
Using curl
curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr/{ivr_id}/menus.json \
  -H "Content-Type: application/json" -d '{"ivr_menu": {"name": "Main Menu"}}' \
  -v -u {email_address}:{password} -X POST
Example Response
Status 201 Created

{
  "ivr_menu": {
    "default": false,
    "greeting_id": null,
    "id": 10001,
    "name": "Main Menu",
    "routes": [
      {
        "action": "group",
        "greeting": null,
        "id": 10001,
        "keypress": "0",
        "option_text": "Support Group",
        "options": {
          "group_ids": [
            360001381413
          ]
        }
      }
    ]
  }
}

Show IVR Menu

  • GET /api/v2/channels/voice/ivr/{ivr_id}/menus/{menu_id}
Allowed For
  • Agents
Parameters
Name Type In Required Description
ivr_id integer Path true The ID of the IVR
menu_id integer Path true The ID of the IVR Menu
Using curl
curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr/{ivr_id}/menus/{menu_id}.json \
  -v -u {email_address}:{password} -X GET
Example Response
Status 200 OK

{
  "ivr_menu": {
    "default": false,
    "greeting_id": null,
    "id": 10001,
    "name": "Main Menu",
    "routes": [
      {
        "action": "group",
        "greeting": null,
        "id": 10001,
        "keypress": "0",
        "option_text": "Support Group",
        "options": {
          "group_ids": [
            360001381413
          ]
        }
      }
    ]
  }
}

Update IVR Menu

  • PUT /api/v2/channels/voice/ivr/{ivr_id}/menus/{menu_id}
Allowed For
  • Agents
Parameters
Name Type In Required Description
ivr_id integer Path true The ID of the IVR
menu_id integer Path true The ID of the IVR Menu
Example Body
{
  "ivr_menu": {
    "name": "Main Menu"
  }
}
Using curl
curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr/{ivr_id}/menus/{menu_id}.json \
  -H "Content-Type: application/json" -d '{"ivr_menu": {"name": "Secondary Menu"}}' \
  -v -u {email_address}:{password} -X PUT
Example Response
Status 200 OK

{
  "ivr_menu": {
    "default": false,
    "greeting_id": null,
    "id": 10001,
    "name": "Main Menu",
    "routes": [
      {
        "action": "group",
        "greeting": null,
        "id": 10001,
        "keypress": "0",
        "option_text": "Support Group",
        "options": {
          "group_ids": [
            360001381413
          ]
        }
      }
    ]
  }
}

Delete IVR Menu

  • DELETE /api/v2/channels/voice/ivr/{ivr_id}/menus/{menu_id}
Allowed For
  • Agents
Parameters
Name Type In Required Description
ivr_id integer Path true The ID of the IVR
menu_id integer Path true The ID of the IVR Menu
Using curl
curl https://{subdomain}.zendesk.com/api/v2/channels/voice/ivr/{ivr_id}/menus/{menu_id}.json \
  -v -u {email_address}:{password} -X DELETE
Example Response
Status 200 OK

{
  "ivr_menu": {
    "default": false,
    "greeting_id": null,
    "id": 10001,
    "name": "Main Menu",
    "routes": [
      {
        "action": "group",
        "greeting": null,
        "id": 10001,
        "keypress": "0",
        "option_text": "Support Group",
        "options": {
          "group_ids": [
            360001381413
          ]
        }
      }
    ]
  }
}