How to Use Zapier to Switch Between Zendesk IVR Menus on a Schedule

How to Use Zapier to Switch Between Zendesk IVR Menus on a Schedule

Chris Chris
4 minute read

Listen to article
Audio generated by DropInBlog's Blog Voice AI™ may have slight pronunciation nuances. Learn more

Table of Contents

Is your business open during specific hours, or do you have different IVR menus for different days of the week? Using Zendesk help alongside Zapier, you can easily automate the process of switching your IVR menus. This guide will walk you through the steps to find your IVR menu IDs and use a Zapier webhook to automatically make the change for you.

Step 1: Finding the Zendesk IVR Menu and Phone Number IDs

Before you can automate the switch, you need two pieces of information: the unique ID for each of the IVR menus you want to use and the ID of the phone number associated with the IVR.

  1. Log in to your Zendesk account.

  2. Open a new browser tab and navigate to the following URL, replacing [yoursubdomain] with your actual Zendesk subdomain (e.g., mycompany if your Zendesk URL is mycompany.zendesk.com):https://[yoursubdomain].zendesk.com/api/v2/channels/voice/ivr/

  3. Because you are already logged in to your Zendesk account, your browser will automatically authenticate the request.

  4. The page will display a JSON-formatted list of your IVR menus. This may look like a block of unformatted text.

  5. To make the data easier to read, look for the "Pretty print" checkbox in the top of the page and check it. This will format the JSON data into a clean, readable list.

  6. Each menu will have a unique id and a name. Find the IVR menus you wish to use and note their corresponding id numbers. For example, your "Business Hours" IVR menu might have an ID of 12345 and your "After-Hours" IVR menu might have an ID of 67890.

  7. Now, you need the phone number ID. In the same way, navigate to this URL:https://[yoursubdomain].zendesk.com/api/v2/channels/voice/phone_numbers

  8. Find the phone number you want to use and note its id and ivr_id. This ivr_id is the currently active IVR for that number.


Step 2: Creating the Zapier Automation with Webhooks

With your IVR and phone number IDs, you can now set up the automation in Zapier. This involves creating a Zap with a Schedule by Zapier trigger and a Webhooks by Zapier action.

  1. Create a New Zap: Log in to your Zapier account and click "Create Zap."

  2. Set the Trigger: For the trigger step, search for and select Schedule by Zapier. Choose the trigger event that fits your needs, such as "Every Day," "Every Week," or "Every Month."

    • Custom Frequency: For more precise control, you can choose "Custom Frequency." This allows you to set specific parameters like a start date and time. For example, you can set the Zap to run every weekday at 9:00 AM.

  3. Set the Action: For the action step, search for and select Webhooks by Zapier. The action event will be a Custom Request.

  4. Configure the Action:

    • Method: Select PUT.

    • URL: Enter the URL to update the IVR on your phone number. Be sure to replace the bracketed sections with your specific details:https://[your-subdomain].zendesk.com/api/v2/channels/voice/phone_numbers/[Phone number ID]

    • Data Pass-Through: Set this to False.

    • Data: Paste the following JSON code, replacing [Enter IVR ID here] with the IVR ID you want to switch to:

      {
        "phone_number": {
          "ivr_id": [Enter IVR ID here]
        }
      }
      
    • Unflatten: Set this to Yes.

    • Basic Auth: This is where you authenticate with your Zendesk API token. The format is: [Your Zendesk Admin Email]/token|[API token]

      • You must create an API token first. Follow the instructions on this page for creating a token in Zendesk's Admin Center.

    • Headers: Add a new header with the key Content-Type and the value application/json.

  5. Test and Turn On: Test the Zap to ensure it works correctly and then turn it on. You will likely need to create a second, separate Zap to switch back to your original IVR menu at the end of the day or week.

This simple automation is an excellent way to use Zendesk help to improve customer experience by ensuring callers are routed to the correct IVR menu based on your business hours or specific campaigns.

Get support from Optimo

FAQs

Why am I using a webhook instead of a direct Zendesk action in Zapier?

While Zapier offers a direct Zendesk app, it does not currently have a built-in action to update the IVR menu for a specific phone number. By using the Webhooks by Zapier app and making a custom PUT request to the Zendesk API, you gain the specific functionality needed to change the IVR menu, giving you more precise control over your Zendesk Talk settings. The Zendesk connection is also a Zapier Premium feature.

I'm getting an error when I try to test my Zap. What should I check?

A common reason for an error is incorrect authentication. Double-check the Basic Auth field in your Zapier webhook action. The format must be exactly [Your Zendesk Admin Email]/token|[API token]. Ensure there are no spaces or extra characters and that the API token is copied correctly. Also, verify that the Zendesk subdomain and phone number ID in the URL are accurate and that the JSON data you've pasted has the correct IVR ID.

Do I need to create two Zaps, one for switching on and one for switching off?

Yes, for this type of scheduled automation, you will need to create two separate Zaps. The first Zap will have a trigger that runs at the start of your business hours (e.g., 9:00 AM) and updates the IVR to your "Business Hours" menu. The second Zap will have a trigger that runs at the end of the day (e.g., 5:00 PM) to switch the IVR back to your "After-Hours" menu.

« Back to Blog

🚨
×
Critical Zendesk issue
Click for help