Auto Attendants - Complete Programming Guide

Auto Attendants - Complete Programming Guide


Auto Attendants, sometimes called IVR (Interactive Voice Response), are a useful and versatile component in any PBX dialplan.  Commonly, they are used to play messaging and allow callers to direct calls by pressing number keys on their phone.  Protel LTS allows you to program auto attendants that can do many other things as well, including time-of-day call routing, automated holiday scheduling, a manually deployed night attendant, and the ability to assign recorded messaging that is dynamically changeable from any phone without logging into the PBX as an administrator.


  • Record or upload announcement messaging
  • Managing attendant recordings
  • Create a new attendant
  • Assign the playback audio
  • Define the default routing
  • Assign keypress options & optional direct extension dialing


  • After-hours function using the automatic scheduler
  • Using the Night Bell option to manually turn on after-hours messaging
  • Using the holiday scheduler
  • Using an attendant to allow employees to enter the voicemail system
  • Deploying a system-wide up-front message


  • Using an attendant as a time-based routing controller
  • Special use attendants – queues & conferences
  • Dynamic attendant messages
  • Setting up dial-in access to change dynamic messages

1.  Record or upload messaging.   You can create standard attendant messaging by making the recordings using any extension handset, or by uploading audio tracks.  To create attendant recordings from a handset, dial 90 from any phone.  After the prompt and tone, begin speaking.  Press the # key when you are finished.  If you remain on the line, the system will play it back for you.  If you do not press #, nothing will be recorded.  Each time that you make a recording, an audio file is created on the PBX.  None of them get erased or deleted until you access the management tools.  None of these recordings get assigned to an attendant until an administrator sets it up.  If you have a pre-recorded file that you want to use in an attendant, use the “Upload Attendant Recording” link, locate the file on your computer, enter a name for it, and upload it.  The PBX will accept most WAV or MP3 audio files.

2. Managing attendant recordings.  After you have made or uploaded your recording, or perhaps several of them if it took a few tries to get the recording right, go to the “Manage Audio Recorded from Handset” link, under the Additional Tasks. tab.  Every recording that was made from a handset appears in the list with a default file name that contains the date and time it was recorded.  You can use the built-in controls to listen to each track, delete files that are not needed, and download the .wav file to your computer if you want to.  For each recording that you want to use in an Attendant, use the "Install" command to make it available in the Attendants section.  This command prompts you to give the file a name when it installs it for Attendant use. WARNING:  do NOT use spaces in the file names for recordings!  Use a dash or underscore character instead.

3.  Create a new attendant   After pressing the “Create New Attendant” link, you need to enter a name for it.  WARNING:  do NOT use spaces in the attendant names!  Use a dash or underscore character instead.  Click on the “Create” button.  This brings up the “Edit Existing Attendant” page for this newly-created attendant.

4.  Assign the playback audio  For now, you can ignore the timing grid and associated controls in the top section of the attendant screen (these are covered in section 7), and scroll down to the Recordings field.  Select your desired recording from the drop-down menu.  If you want to play back additional files, you may select those after you have picked the first one.  The next field allows you to have the recording(s) repeat x number of times.  You can also add additional pause time at the end of any recording by changing the default value of 1 second to a longer duration.


5. Define the default routing  The last field in this middle section, labeled “Finally”, defines the default call flow.  This is where the call will go, after the recording plays (or repeats), IF it has not been routed elsewhere through keypresses.  The default selection is to just hang up (End the Call), but you might want to have the call actually route someplace rather than hang up, in the event that the caller does not enter routing options.  You can also use this “Finally” action to send calls to a destination automatically after a recording plays, and not allow keypress routing.  Section 12 describes some advanced uses of this feature.

6. Assign keypress routing   While your attendant is playing back the designated recording, the system is listening for keypresses.  The bottom section is where you define what each of those keypress options are.  As an example, let’s say you want keypress 1 to ring extension 101.  First, enter “1” in the digit field.  Now select the routing option from the drop down menu just below.   Select “Ring Extension” from the menu, and then select the extension number from the next drop down menu that appears.   Click on the “Add Route” button.  The routing options table to the right will populate with each entry that you create.  If you want callers to be able to direct dial an extension if they know its number, check the box at the bottom of the routing options table.  If you make a mistake, just re-enter the digit, set it correctly, and click on “Add Route” again to replace the current table entry, or you can delete an entry from the table by pressing the X button next to it.


End the Call – hangs up

Ring Extension – sends the call, with a ring header, to the selected extension

Ring Call Group – sends the call to the selected ring group

Ring Shared Extension – sends the call to a specialized shared line extension

Join Conference Call – sends the call to the selected conference bridge extension

Enter Queue – sends the call to the entry point of any ACD queue

Play Another Attendant – flows the call to a different attendant

Leave a Voicemail – sends the call directly to an extension voicemail without ringing the phone

Go to the Directory – activates the system dial-by-name directory

Record Dynamic Attendant – covered in sections 14 & 15

Check Voicemail for Extension – covered in section 10


DIGIT SELECTION AND TIMEOUT VALUE:  Commonly, the available keypress options that you announce in your attendant recording are just single digits, for simplicity.  However, you are not limited to single digits when you assign routing.  Just remember that if you specify a 3-digit entry, you must be careful not to conflict with any existing extension, group extension number or queue extension number.   Also, you may want to experiment with the key entry timeout value field, which is located just below the big timing grid. 

 This is defaulted to 2 seconds, which means that after a caller presses a key, the system is going to wait for 2 more seconds before executing a routing assignment, to give the caller enough time to enter more digits.  If you are not allowing direct extension dialing from an attendant, you may want to decrease this value to 1, which will speed callers’ routing through the attendant after they press a single digit response.  If you are allowing extension dialing, or if you have programmed any options with more than one digit, you may need to increase the timeout value to more than 2 seconds so that callers with “slow fingers” don’t get incorrectly routed.

DIAL BY NAME DIRECTORY:  If you point a keypress to the directory, the system will ask the caller to use their keypad and match the first 3 letters of the person’s first or last name.  This routine is referencing the Name field, on the General tab of the Modify Existing Extension page.  If you want to exclude an extension from the directory, click on the Advanced tab and uncheck the Show in Directory option. 

The Directory function uses the Recorded Name portion of each extension’s voicemail setup.  If the system finds a match from the caller entry, it will play back that extension’s recorded name and ask the caller if this is the person they want.  If the user has not recorded their name, the system default will spell their entire name.  We strongly advise users to make sure they have recorded their name in the voicemail options for their extension to avoid the default system behavior.


ONCE A CALL HAS LEFT AN ATTENDANT, IT WILL TAKE ON THE PROGRAMMED BEHAVIOR OF THE TARGETED DIALPLAN COMPONENT.   For example, if you route a call to a call group, as soon as the call enters the call group it will follow the call rules programmed for that group.  If you route a call to an extension, it will ring x times and perhaps go to voicemail, but only if you have those parameters set in the extension configuration.  


7. Schedule-based attendants.  You can define up to 5 different repeating, scheduled behaviors for a single attendant, programmed by the day of the week and the start and stop times.  The most common use of this feature is to automatically deploy an after-hours version of an attendant at predetermined times.   Follow these steps to add timing rules to an attendant.

A.  Change the default color name of “Blue” to something more descriptive.  In the Name field, enter your behavior description, then click anywhere outside the text entry field to apply the new name.  DO NOT USE SPACES IN THIS NAME FIELD!  If Blue is going to represent Business Hours, your entry might look like this:

B. Click on the Add tab to create a Red timing layer to this attendant, and then rename it:

C.  Clicking on any of the colored tabs will make that color active for editing.  The droplet that displays at the upper left corner of the timing grid confirms which area you are editing.  With the red tab active, click anywhere inside the grid to change the color from blue to red.  If you hold down the left mouse button and drag, you can color in sections of the grid.  If you make a mistake, click on the blue tab and re-color any desired red sections back to blue.  If your defined business hours are 8 to 5, M-F, your grid will look like this:

D. With the blue tab active, assign your desired business hours recording, the default (“Finally”) action, and any keypress routing options.  Repeat this for the red tab.  If you want to create additional timed behaviors, click on the Add button to create up to 5 different rules.  You will have to define a recording (if any), the default target routing and any desired keypress options for each rule tab in the attendant. Click on the “Save Changes to Attendant” button at the top of the screen before leaving the Edit Attendant screen.

Here is an example of an attendant with 5 different timing rules applied to it:



8.  Manual deployment – Night Bell  If you want to have the ability for users to turn on an after-hours attendant manually, you will use the Night Bell feature.   You can apply the Night Bell function to an attendant that also has timing rules, in which case the manual switch will override the timer until it is switched off again.  Night Bell is activated by dialing a feature code, but that code must be authorized for any extension user that will be allowed to turn it on and off.  See below for more information on how this is managed.  To set up a Night Bell attendant, follow these steps:

A.  Create a new attendant and name it Night, or Closed_Hours, or something similar.  Assign your desired recording, default routing and keypress options, and save this attendant. 

B   Click on the Night Bell link in the Attendants section in the left sidebar menu. 

C. Select the attendant that you created in step A as the target Night Bell Attendant and press Save.

D. Use the Edit Existing attendant link and select the attendant that you want to have manually replaced by the target attendant when the Night Bell feature is activated.

E. Check the Apply Night Bell box and save the changes.

Now, when the feature code is dialed, any attendant that has the Apply Night Bell box checked will be replaced by the target Night Bell attendant, until the feature is turned off again.

EXTENSION SETTINGS    The default feature code for toggling the Night Bell on or off is 33.  Feature code 34 is used to check the current status of the Night Bell without changing it.  The ability for an extension user to dial these feature codes is off by default.  You will need to turn these feature codes on for any extension user that will be allowed to turn Night Bell on or off.

Under the Extensions tab in the left sidebar menu, click on Limit Features for Extension.  Select an extension from the list and scroll down to the section at the bottom.  Check the boxes for Night Bell Activation and Night Bell State Query, then save your changes.  Repeat this for any other users that need this capability.


After executing a reload, an extension that has been allowed simply dials 33 from their phone.  They will hear the system announce “Activated target attendant”, meaning that the target Night Bell attendant is now active.  Dialing 33 again returns “Activated default attendant”, and the Night Bell is turned off.  Dialing 34 returns the same announcement, depending on the current state, but does not toggle the state.  Note: you can change the default feature codes to any other desired digits using the Modify Feature Codes tool, located under the Additional Tasks menu.

 Automated Holiday Scheduling  The holiday scheduling tool allows you to define the start date/time and end date/time for any pre-scheduled business closures, and to assign the alternate attendant that will activate for the duration of that holiday.  To create and apply holiday attendants, follow these steps:

A.  Create one or more holiday attendants.  You can have all of the scheduled holidays activate the same, generic “closed” attendant, or you can create different attendants with custom messaging for each holiday closure.  You should create your desired holiday attendants first, then follow the next steps.

B. Create each holiday schedule and designate its target attendant.

Give this holiday a descriptive name.  Spaces are allowed here if you want.  Select the year that this schedule should apply to, or select “All Years” to have the schedule repeat each year.  Click in the blank field next to Holiday Start to select the month and day, then use the next two fields to define the hour and minute.  Do the same for the end date and time.  In the “Holiday Attendant” field, select one of your attendants as the designated target that will be used for the duration of the holiday.  Click the Save button.  If you return to the Holiday Schedule main page, you will see every holiday displayed, along with its start/end times and the attendant that will be activated.

After you have created holidays and designated a target attendant for each, you now need to tell the PBX which of your existing attendants should be replaced by the holiday schedule.  Go to Edit Existing Attendant, select an attendant that needs to be controlled by the holiday schedule, and click the checkbox to Apply Holiday Schedule.

Save the changes and execute a reload.  Any attendant that has the Apply Holiday Schedule box checked will be redirected to the designated target attendant for that holiday when the start date (including year) and time occurs.  

USING HOLIDAY SCHEDULE AND NIGHT BELL TOGETHER   The Holiday Scheduler has a higher priority than Night Bell.  If both options are applied to an attendant, the Holiday will override whichever state the Night Bell is in.  You can still toggle the Night Bell using the feature code, but that behavior will not actually be deployed until the holiday has reached its ending date and time.  If an attendant has been toggled to Night Bell mode, and a holiday overrides it after the manual change to Night Bell, when the holiday concludes the attendant will still be in night mode unless it gets toggled to its default state during the holiday period.

10.  Employee access to voicemail system from an Attendant  There are 3 ways to access the voicemail system directly in order to listen to messages, delete them, change greetings, etc.  Access from any connected extension is by dialing 98 (or an alternate code if you modify the defaults) and entering your voicemail password.  Another method is to point an unused DID directly to the voicemail system and publish that number internally to employees.  The third way is to assign a keypress from an auto attendant.  This is easily accomplished, just pick a digit or digits, assign this in the keypress options section of an auto attendant, and assign the target as “check voicemail for extension”.  The caller will be prompted to enter their extension number and their voicemail password, and from there they can manage their voicemail.  You can then notify employees of the “hidden” keypress code and they can dial a company number that reaches the attendant and enter the code.

11.  Global up-front message  Many companies record most or all of their calls, and in most cases are required by law to alert callers to this possibility.  You can do this as part of any attendant’s recording assignments, but if you want to have every call received by the PBX play an announcement message, it is not necessary to incorporate it into the attendants section.  Under the DID Management tab, there is a link to the Inbound Upfront Message page.  From here, you will be able to select any attendant recording and deploy it as a global upfront announcement.  Every call entering the PBX via a trunk DID will hear this message before proceeding through its assigned dialplan routing.


12. Attendants as routing controllers  Most auto attendants have a recording associated with them, and while that recording is playing, the system is listening for keypress options to route the call.  But an attendant is not required to have a playback option.  If you create an attendant with no recording assigned to it, the default “Finally” action will take place immediately.  If a call is directed at an attendant with no recording, this “Finally” action will be executed instantaneously.  You can place a routing attendant in your call flow and apply any of the timing, night bell or holiday options to it.  

For example, let’s assume a company with a tech support line wants calls to that number to go to different destinations based on a timed schedule.  Using the timing functions described in section 7, set the fall-through target to a different extension, group or queue, based on the time of day.

Another example is a company that wants business hours calls to go to a ring group first, and then on no answer, go to an attendant.  If you place a routing attendant first in the call flow, you can have daytime calls flow to the call group, but after hours calls flow directly to the company main attendant.  This functionality can also be done in a single attendant, but separating the timed routing function into a standalone attendant simplifies the call flow and makes it easier to understand and to modify.

13. Specialized Applications  Attendants can be placed anywhere in call flow.  Two examples are queue attendants and conference attendants.  A queue attendant is commonly used to play an introductory upfront message before flowing the call into an ACD queue.  A conference attendant allows a company to maintain any number of conference bridges without needing a separate dial-in number for each one.  All conference participants are given the same phone number, and the caller selects his/her appropriate conference bridge extension by making a menu selection.

13. Dynamic Attendant Messages   This feature enables you to create attendants that play recordings that can be changed “on the fly” by authorized users.  For standard attendants, the recordings assigned to them can only be changed through the PBX user interface by an administrator, or by someone who has been given a PBX login that has attendants permissions granted.  Dynamic attendant recordings, however, can be changed at any time, without logging into the UI.  Once an attendant has been created that utilizes a dynamic recording, any extension user that has been granted feature code access has the ability to instantly replace the current message by recording a new one.  You can also set up remote access for this purpose, so that these messages can be changed from anywhere in the world by dialing into the PBX and entering a security PIN.  To create and apply dynamic messages, follow these steps:

A.  Grant dynamic attendant recording permission to one or more extension users.  The default feature code to record a standard attendant recording is 90.  Access to that feature is on by default for all extension users, since the act of making a new recording does not actually change an attendant until an administrator assigns it through the PBX UI.  Dynamic recordings, however, are made by dialing feature code 92.  Access to this feature code is OFF by default.  You will need to turn this on for any extension that will be allowed to make and change dynamic recordings.  Go to the Manage Feature Permissions page, under the Extensions tab.  Click on the desired extension to bring up its configuration page.  Scroll down to the lower section and check the box to allow Dynamic Attendant Message recording.

Save the change and execute a PBX reload.

B.  Create one or more dynamic recordings.   From an enabled extension, dial 92.  The system prompts you to “enter the message number”.  Protel LTS allows for up to 10 unique dynamic message slots, so you can enter any single digit at the prompt.  Begin speaking after the next prompt, and press # when finished.  If you stay on the line, the system will play it back for you, or you can just hang up.  Each recording made using this method will appear in the Manage Attendant Recordings directory.  These recordings are installed as Attendant recordings automatically, without using the "Manage Audio Recorded From Handsets" took.

Do NOT rename dynamic messages.   The system requires that they retain their original file name.  If you rename a dynamic recording, it will no longer be instantly changeable, though you will still be able to use it as a standard attendant recording.

C.  Assign a dynamic recording to an attendant.  Create a new attendant, or modify an existing one, and select an available dynamic recording for its playback source:

Save the changes to the attendant and execute a PBX reload.

In this example, dynamic recording slot 1 is assigned.  Now, if an authorized user makes a new recording at slot 1, the attendant will be immediately changed.

13. Setting up remote user access to dynamic recordings   You can create dial-in capability for users to manage dynamic attendant recordings in two ways:  Assign a unique DID for this purpose, or set up access through an attendant keypress.  In both cases, a security PIN is required before being able to make recordings.

First, either note the default PIN or create a new one.  When first installed, the PBX generates a random 5-digit PIN.  You can keep this number or create your own new one.  Go to the Change Passcodes page, under the Additional Tasks tab in the sidebar menu:

If you have a DID that you want to use as the dedicated dial-in number for remote access to the dynamic messaging system, simply check the appropriate box on the Point DIDs page:

Anyone who dials in on this DID will be prompted to enter the security PIN before being allowed to make or modify recordings.

As an alternative, you can assign a “hidden” keypress code to any attendant, and set the target for this code to be “Record Dynamic Attendant”.  “Hidden” just means that the attendant playback does not announce the fact that this option is available.  Keypress options are not limited to single digits, so you may want to make this a 2 or 3-digit code:

Once the caller has entered the keypress code, they will be prompted for the security PIN.

    • Related Articles

    • Automatic Call Distribution - programming guide

      OVERVIEW Protel LTS contains a very powerful and versatile framework for handling calls using ACD.  Unlike a call group or ring group, ACD answers every incoming call, then places them into queue.  Queued calls are then connected to agent extensions, ...
    • Feature Code quick guide

      The attached guide covers the most commonly-used PBX feature codes and how to use them from an IP phone keypad. Since the default feature codes on Protel-LTS can be modified by the PBX administrator, this guide may not be accurate for all users. ...
    • Phone User Forwarding Guide

      Extension users can set forwarding behavior on their phone by dialing a 2-digit feature code and following the system prompts.  The two types of forwarding that are available this way are Forward on no Answer (Delayed) and Unconditional (Hard). A ...
    • 11/24/2015 Voicemail "zero-out"; diable auto updates

      Two new enhancements were released today for the Protel LTS platform.   Voicemail Abort   You now have the ability to allow callers to exit from the voicemail system and return to a call group or attendant.  In the Modify Existing Extension panel, ...
    • 9/22/2016 Auto deletion of recorded calls

      Automated deletion of recorded calls has now been added to Protel LTS premise PBX, and also to Protelity LTS Multi-tenant (hosted) PBX. The controls for this feature, along with 3 other automated functions, have been moved to a new group called ...