Lync Server Admin Guide: Managing Response Groups

This article is part of the Microsoft Lync Server 2010 Administration Guide: PowerShell Supplement.

Managing Agent Groups

Create an Agent Group

  • To create an agent group

To create a new Response Group agent group, use the New-CsRgsAgentGroup cmdlet. This command uses the AgentsByUri parameter to add individual users to the agent group:

New-CsRgsAgentGroup -Parent service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Group" -AgentsByUri "sip:kenmyer@litwareinc.com","sip:pilarackerman@litwareinc.com"

 

By comparison, this command uses the DistributionGroupAddress parameter to add all the members of the helpdesk@litwareinc.com distribution group to the agent group:

 

New-CsRgsAgentGroup -Parent service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Group" -DistributionGroupAddress "helpdesk@litwareinc.com"

 

Change Agent Group Settings or Members

  • To change agent group settings or membership

To change a Response Group agent group you must first use the Get-CsRgsAgentGroup cmdlet to retrieve an object reference to the agent group to be changed. After making your changes in memory, use the Set-CsRgsAgentGroup cmdlet to write those changes to Lync Server.

 

These commands change the routing method for an agent group:

$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"

$x.RoutingMethod = "RoundRobin"

Set-CsRgsAgentGroup -Instance $x

 

This set of commands changes the distribution address for an agent group:

$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"

$x.DistributionGroupAddress = "helpdesk@litwareinc.com"

Set-CsRgsAgentGroup -Instance $x

 

The following commands add a new agent to an agent group:

$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"

$x.AgentsByUri.Add("sip:kenmyer@litwareinc.com")

Set-CsRgsAgentGroup -Instance $x

 

And these commands remove an agent from an agent group:

$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"

$x.AgentsByUri.Remove("sip:kenmyer@litwareinc.com")

Set-CsRgsAgentGroup -Instance $x

Delete an Agent Group

  • To delete an agent group

To remove a Response Group agent group, use the Remove-CsRgsAgentGroup cmdlet:

Get-CsRgsAgentGroup -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk" | Remove-CsRgsAgentGroup

 

This command deletes all the agent groups currently configured for use in your organization:

 

Get-CsRgsAgentGroup | Remove-CsRgsAgentGroup

 

For more information

Managing Response Group Queues

Create a Response Group Queue

  • To create a queue

To create a new Response Group queue, use the New-CsRgsQueue cmdlet. The following set of commands creates a new queue, and uses the New-CsRgsCallAction cmdlet to specify what should happen if the queue receives too many calls at the same time:

$x = New-CsRgsCallAction -Action TransferToVoicemailUri -Uri "sip:+14255551298@litwareinc.com"

 

New-CsRgsQueue -Parent service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk" -OverflowCandidate "OldestCall" -OverflowAction $x -OverflowThreshold 2

 

Change a Response Group Queue

  • To change a queue

To modify a Response Group queue, you must first use the Get-CsRgsQueue cmdlet to retrieve an object reference to the queue to be changed. After making your changes in memory, use the Set-CsRgsQueue cmdlet to write those changes to Lync Server:

$x = Get-CsRgsQueue -Identity Service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"

$x.OverflowCandidate = "NewestCall"

 

Set-CsRgsQueue -Instance $x

Delete a Response Group Queue

  • To delete a queue

To delete a Response Group queue, use the Remove-CsRgsQueue cmdlet:

Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Queue" | Remove-CsRgsQueue

 

The following command removes all the Response Group queues configured for use in your organization:

 

Get-CsRgsQueue | Remove-CsRgsQueue

 

 

For more information

 

 

 

Managing Response Group Workflows

Create a Response Group Workflow

Create a Hunt Group Workflow

  • To create a hunt group workflow

To create a hunt group workflow, use the New-CsRgsWorkflow cmdlet:

$prompt = New-CsRgsPrompt -TextToSpeechPrompt "Welcome to the help desk."

 

$queue = (Get-CsRgsQueue -Identity service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk").Identity

 

$callAction = New-CsRgsCallAction -Prompt $prompt -Action TransferToQueue -QueueId $queue

 

New-CsRgsWorkflow -Parent service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk" -PrimaryUri "sip:helpdesk@litwareinc.com" -DefaultAction $callAction

Create an Interactive Workflow

  • To create an Interactive workflow

To create an interactive workflow, use the New-CsRgsWorkflow cmdlet:

$ServiceId = "service:ApplicationServer:rtc.contoso.com"

 

$Group_Sales = New-CsRgsAgentGroup -Parent $ServiceId -Name "Contoso Sales" -AgentAlertTime 20 -ParticipationPolicy Informal -RoutingMethod LongestIdle -AgentsByUri("sip:franz@contoso.com","sip:marco@contoso.com")

 

$Group_Support = New-CsRgsAgentGroup -Parent $ServiceId -Name "Contoso Support" -AgentAlertTime 20 -ParticipationPolicy Informal -RoutingMethod LongestIdle -AgentsByUri("sip:david@contoso.com","sip:john@contoso.com")

 

$Queue_Sales = New-CsRgsQueue -Parent $ServiceId -Name "Contoso Sales"

-AgentGroupIDList($Group_Sales.Identity)

 

$Queue_Support = New-CsRgsQueue -Parent $ServiceId -Name "Contoso Support" -AgentGroupIDList($Group_Support.Identity)

 

$PromptA1 = New-CsRgsPrompt -TextToSpeechPrompt "Please wait while we're connecting you with the Contoso Sales department."

 

$ActionA1 = New-CsRgsCallAction -Prompt $PromptA1 -Action TransferToQueue -QueueID $Queue_Sales.Identity

 

$Answer1 = New-CsRgsAnswer -Action $ActionA1 -DtmfResponse 1

 

$PromptA2 = New-CsRgsPrompt -TextToSpeechPrompt "Please wait while we're connecting you with the Contoso Support department."

 

$ActionA2 = New-CsRgsCallAction -Prompt $PromptA2 -Action TransferToQueue -QueueID $Queue_Support.Identity

 

$Answer2 = New-CsRgsAnswer -Action $ActionA2 -DtmfResponse 2

 

$PromptQ = New-CsRgsPrompt -TextToSpeechPrompt "Thank you for calling Contoso. To speak with a Sales representative, press 1. To be connected with our Support line, press 2."

 

$Question = New-CsRgsQuestion -Prompt $PromptQ -AnswerList ($Answer1, $Answer2)

 

$ActionWM = New-CsRgsCallAction -Action TransferToQuestion -Question $Question

 

$Workflow = New-CsRgsWorkflow -Parent $ServiceId -Name "Contoso Helpdesk" -Description "The Contoso Helpdesk line." -PrimaryUri "sip:helpdesk@contoso.com" -LineUri "tel:+14255554321" -DisplayNumber "+1 (425) 555-4321" -Active $true -Anonymous $true -DefaultAction $ActionWM

Change a Response Group Workflow

Change a Hunt Group Workflow

  • To change settings for a hunt group workflow

To modify a hunt group workflow, use the Get-CsRgsWorkflow cmdlet to create an object reference to the workflow to be modified, make your changes in memory, and then use the Set-CsRgsWorfklow cmdlet to write those changes to Lync Server:

 

$businessHours = Get-CsRgsHoursOfBusiness service:ApplicationServer:atl-cs-001.litwareinc.com -Name "US Business Hours"

 

$y = Get-CsRgsWorkflow service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"

 

$y.BusinessHoursId = $businessHours.Identity

 

Set-CsRgsWorkflow -Instance $y

Change an Interactive Workflow

  • To change an interactive workflow

To modify an interactive workflow, use the Get-CsRgsWorkflow cmdlet to create an object reference to the workflow to be modified, make your changes in memory, and then use the Set-CsRgsWorfklow cmdlet to write those changes to Lync Server:

$musicFile = Get-Content -ReadCount 0 -Encoding Byte C:\MediaFiles\Hold.wav | Import-CsRgsAudioFile -Identity Service:ApplicationServer:atl-cs-001.litwareinc.com -FileName "HelpDeskHoldMusic.wav"

 

$y = Get-CsRgsWorkflow -Identity Service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk"

 

$y.CustomMusicOnHoldFile = $musicFile

 

Set-CsRgsWorkflow -Instance $y

Delete a Response Group Workflow

  • To delete a workflow

To delete a Response Group workflow use the Get-CsRgsWorkflow cmdlet to return an instance of the workflow to be deleted, then pipe that instance to the Remove-CsRgsWorkflow cmdlet:

Get-CsRgsWorkflow service:ApplicationServer:atl-cs-001.litwareinc.com -Name "Help Desk Workflow" | Remove-CsRgsWorkflow

 

This command deletes all the workflows configured for use in your organization

Get-CsRgsWorkflow | Remove-CsRgsWorkflow

For more information