[This is preliminary documentation and is subject to change. Blank topics are included as placeholders.]

Creates a new Response Group question. The Response Group application uses questions to provide callers with choices, then takes action based on those choices.

Syntax

New-CsRgsQuestion -Prompt <WorkflowPrompt> [-Answers <PSListModifier>] [-Description <String>] [-InvalidAnswerPrompt <WorkflowPrompt>] [-Name <String>] [-NoAnswerPrompt <WorkflowPrompt>]

Parameters

Parameter Required Type Description

Prompt

Required

Prompt object

Question to be asked of the caller. The Prompt is typically created using the New-CsRgsWorkflowPrompt cmdlet. However, you can create a text-to-speech prompt simply by using the appropriate text as the parameter value. For example: -Prompt "Press 1 for English or press 2 for Spanish."

InvalidAnswerPrompt

Optional

Prompt object

Response to be issued in case the caller selects an invalid answer. The InvalidAnswerPrompt must be created using the New-CsRgsWorkflowPrompt cmdlet.

NoAnswerPrompt

Optional

Prompt object

Response to be issued in case the caller does not respond to the initial prompt. The NoAnswerPrompt must be created using the New-CsRgsWorkflowPrompt cmdlet.

Answers

Optional

PS List Modifier

Array of valid answers to the question. For example, a help desk question might have answers such as Hardware Support, Software Installation, and Network Connections. Answers must be created using the New-CsRgsAnswer cmdlet.

Name

Optional

String

Unique identifier for the question. Question names are limited to a maximum of 128 characters.

Description

Optional

String

Enables administrators to provide additional, explanatory information about the Response Group question. For example, the Description might contain information about who to contact should the question not work as expected.

Detailed Description

In order to process calls, the Response Group applications often makes a statement or poses a question, then takes action based on customer response. For example, the service might ask a caller to press 1 for English or to press 2 for Spanish. After a question like this has been posed, the system must wait for the caller to respond and then take the appropriate action. In this case, that would mean transferring the call to an English language queue if the caller presses 1 on the telephone keypad, or transferring the call to a Spanish language queue if the caller presses 2 on the keypad.

In order to create a question you must use the New-CsRgsQuestion cmdlet. When creating a Response Group question you need to, at a minimum, supply a prompt (that is, the actual question itself) as well as a set of supported answers. For example, if you are giving callers the option of pressing 1 or 2 you will need to have 2 answers: one to specify the action to be taken if the caller presses 1 and the other to specify the action to be taken if the caller presses 2. If you give callers the option of pressing 1, 2, 3, or 4 then you will need 4 answers. And so on.

In addition, New-CsRgsQuestion gives you the ability to specify a prompt to be used if a caller either provides an invalid answer or does not answer at all. For example, if the caller in the preceding scenario presses 3 the prompt might remind him or her that "You must press 1 for English or 2 for Spanish."

Return Types

New-CsRgsQuestion creates instances of the Microsoft.Rtc.Management.WriteableSettings.Question object.

Examples

-------------------------- Example 1 ------------------------

Copy Code
$new = Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "New Service Request"

$existing = Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Existing Service Request"

$y = New-CsRgsCallAction -Prompt "Please hold while we transfer your call." -Target TransferToQueue -TargetQueueID $new.Identity

$z = New-CsRgsCallAction -Prompt "Please hold while we transfer your call." -Target TransferToQueue -TargetQueueID $existing.Identity

$newRequest = New-CsRgsAnswer -Action $y -DtmfResponse 1 -VoiceResponses "New" -Name "New Request"

$existingRequest = New-CsRgsAnswer -Action $z -DtmfResponse 2 -VoiceResponses "Existing" -Name "Existing Request"

$question = New-CsRgsQuestion -Prompt "Press 1 or say New for a new service request. Press 2 or say Existing for an existing service request." -Answers $newRequest, $existingRequest 

The commands shown in Example 1 create a pair of Response Group answers and then associate those answers with a new Response Group question. In order to create the two answers, the first thing that must be done is to specify the call actions that will be taken depending on the answer supplied by the caller. Consequently, the first two commands in the example create object references to a pair of Response Group queues: New Service Request and Existing Service Request. After these object references have been created, the next two commands create a pair of corresponding call actions: one to transfer callers to the New Service Request queue, the other to transfer callers to the Existing Service Request queue. After the call actions have been created, the New-CsRgsAnswer cmdlet is used to create two Response Group answers, one stored in the variable $newRequest and the other stored in the variable $existingRequest.

With the two answers in hand, New-CsRgsQuestion can then be used to create a new Response Group question. In this example, the question is assigned a text-to-speech prompt that asks the caller to press 1 (or say "New") for a new service request, or to press 2 (or say "Existing") for an existing service request. In addition to the –Prompt parameter, the –Answers parameter is used to indicate the two answers associated with the question: the variables $newRequest and $existingRequest.