docs/about_TeamsAutoAttendant.help.txt
TOPIC
about_teamsautoattendant SHORT DESCRIPTION My take on AutoAttendants with more integrated options and defaults. LONG DESCRIPTION The complexity of the AutoAttendants and design principles of PowerShell ("one function does one thing and one thing only") means that the `CsAutoAttendant` CmdLets are feeling to be all over the place. Multiple CmdLets have to be used in conjunction in order to create ONE Auto Attendant. No defaults are available. The `TeamsAutoAttendant` CmdLets try to address that. From the basic NEW-Command that - without providing any Parameters (except the name of course) can create an Auto Attendant entity. This simplifies things a bit and tries to get you 90% there without lifting much of a finger. Amending it afterwards in the Admin Center is my current mantra. See Support Functions for more versatility! CmdLets | Function | Underlying Function | Description | | -----------------------------------------------------------------: | ---------------------- | -------------------------------------------------------------------------------------------- | | `Get-TeamsAutoAttendant` | Get-CsAutoAttendant | Queries an Auto Attendant | | Set-TeamsAutoAttendant | Set-CsAutoAttendant | Changes an Auto Attendant with friendly input. Alias to Set-CsAutoAttendant only! | | `New-TeamsAutoAttendant` | | `Remove-TeamsAutoAttendant` | Remove-CsAutoAttendant | Removes an Auto Attendant from the Tenant | > [!NOTE] Currently `Set-TeamsAutoAttendant` and `Set-TeamsAA` are currently only Aliases to `Set-CsOnlineAutoAttendant`. If I find a better use case to write these, I will, but for now they have to stay as they are. I only added the aliases to complete the set and provide a consistent look-and-feel in case people are natively using them. Support CmdLets Creating a Menu or a Call Flow feels clunky to me, the commands require excessive chaining in order to create a full Auto Attendant. The complexity of the AutoAttendants also has spawned a few support functions. Keeping in step with them and simplifying their use a bit is what my take on them represents. | Function | Underlying Function | Description | | ----------------------------------------------------------------------------: | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- | | `Import-TeamsAudioFile` | Import-CsOnlineAudioFile | Imports an Audio File for use within Call Queues or Auto Attendants | | `Get-PublicHolidayCountry` | | `Get-PublicHolidayList` | | `New-TeamsAutoAttendantCallFlow` | New-CsAutoAttendantCallFlow | Creates a `CallFlow` Object with a Prompt and Menu and some default options. | | New-TeamsAutoAttendantCallHandlingAssociation | New-CsAutoAttendantCallHandlingAssociation | This is only an alias, as a CallHandlingAssociation is only combining a `Schedule` object and a `CallFlow` object | | `New-TeamsAutoAttendantDialScope` | New-CsAutoAttendantDialScope | Creates a `DialScope` Object for provided Office 365 Group Names | | `New-TeamsAutoAttendantMenu` | New-CsAutoAttendantMenu | Creates a `Menu` Object for Menu Options in two possible inputs | | `New-TeamsAutoAttendantMenuOption` | New-CsAutoAttendantMenuOption | Creates a `MenuOption` Object for easier use | | `New-TeamsAutoAttendantPrompt` | New-CsAutoAttendantPrompt | Creates a `Prompt` Object and simplifies usage as it determines the type based on the input string. | | `New-TeamsAutoAttendantSchedule` | New-CsAutoAttendantSchedule | Creates a `Schedule` Object and simplifies input for use in AA CHA. Multiple default options are available | | `New-TeamsCallableEntity` | EXAMPLES Please see the Examples for the individual CmdLets in their respective help files NOTE Removing complexity without sacrificing functionality is a hard thing and while writing these CmdLets I learned to appreciate and understand why they are how they are. That said, I think I have achieved my goal to provide some options to create AutoAttendants easier and faster with PowerShell. For any functionality not available yet, I usually supplement by selecting in the Admin Center (This also serves to double-check everything is set as desired) Development Status The main functionality is built, tested and live. The only big topic as yet to be integrated is HolidaySets Planned: - Creating a HolidaySet (Schedule) for Holidays of a specific country for a specific year - Adding, removing and replacing(!) HolidaySets from Auto Attendants. - Adding default options to New-TeamsAutoAttendant with a switch <br />NOTE: This functionality is already available as a CallFlow and CallHandlingAssociations-Object btw. TROUBLESHOOTING NOTE Thoroughly tested, but Unit-tests for these CmdLets are not yet available. SEE ALSO about_TeamsCallQueue about_TeamsResourceAccount about_TeamsCallableEntity KEYWORDS - Creation - Configuration - Management - AzureAdUser - AzureAdGroup - CsOnlineUser - CsOnlineApplicationInstance - TeamsResourceAccount |