_business_hours_service
Section: General
Default Value: No default value
Valid Values: String
Changes Take Effect: Immediately
Name of the office hours service used to provide the available time slots for Callback. The Request Desired Time is verified against the defined regular and specific calendar hours.
_enable_disposition_dialog
Section: Voice - User Terminated
Default Value: false
Valid Values: boolean
Changes Take Effect: Immediately
If set to true, after a callback is completed (interaction deleted) agent is shown a dialog to specify the disposition of the call and schedule a retry as necessary.
This option is mandatory.
Interaction Workspace Plugin Sample
You can download the Interaction Workspace Plugin sample application binary and sources using the following links. The Sources zip file contains a Visual Studio project for customization.
Modified in 8.5.200
Sources
Overview
The Interaction Workspace Plugin (IWS) sample illustrates how to implement an IWS plugin application that communicates with GMS and allows an agent to do the following:
- Preview a Callback, and then decide to accept or reject the request.
- Set disposition on completed/cancelled Callbacks, and reschedule or retry a Callback when the outbound call is unsuccessful.
The sample is primarily meant to be used by developers as a reference to build an IWS plugin application that integrates with Interaction Workspace and interacts with GMS to provide Preview/Retry Callback.
Scenarios
- For the Preview feature, see the User Terminated Preview scenario.
- For the Retry feature, all User Terminated scenarios can be used with:
- _enable_disposition_dialog = true
- _business_hours_service set with the name of your Office Hours service.
See Preview and Disposition Scenarios page for further details.
Prerequisites
In order to use this sample application, the following prerequisites are required:
- GMS 8.5.005.xx and higher for Preview Callback
- GMS 8.5.006.xx and higher for Preview and Retry Callback
- Interaction Workspace 8.1.401.20 or Workspace Desktop Edition 8.5.106.21 or higher
- (Optional for customization) Visual Studio Development Environment (use Visual Studio Professional 2013) for Interaction Workspace 8.1.401.xx version or for Workspace Desktop Edition 8.5.106.21+ versions
- Install .NET framework 3.5 (for IWS 8.1.401.xx) or .NET framework 4.5 (for IWD 8.5.106.21+); then, select the correct .NET framework to build the project.
Compiling the Sample
Download the Visual Studio project and extract the files to create a folder GMS_IWSPlugin. Open the GMS_IWSPlugin.sln file in Visual Studio.
Procedure
- This project is primarily dependent on the IWS libraries. To ensure that the dependency libraries are available to the project build process, copy the contents of <Interaction Workspace Install Folder>/InteractionWorkspace (folder containing InteractionWorkspace.exe) in the build target folder. You can do this by setting Project Properties > Build Events > Open file > Pre-build event command line. For example: xcopy "C:\Program Files (x86)\GCTI\Interaction Workspace\InteractionWorkspace" "$(TargetDir)" /y /i /s
- For debugging, make sure that the Project Properties > Debug settings are correct.
- After customization is complete and a successful build is done, copy the contents of $TargetDir back to the folder containing InteractionWorkspace.exe in the IWS installation.
<Dictionary EnglishName="English" CultureName="English" Culture="en-US"> <Value Id="InvitationDialog.FormCaption" Title="Callback Invitation" /> <Value Id="InvitationDialog.RemainingTime" Title="seconds remain" /> <Value Id="InvitationDialog.Message" Text="A personal callback is offered to you. Please refer to the information below and use one of the response buttons." /> <Value Id="DisplayData_1" Translation="Field 1" /> <Value Id="DisplayData_2" Translation="Field 2" /> <Value Id="DisplayData_3" Translation="Field 3" /> <Value Id="DisplayData_4" Translation="Field 4" /> <Value Id="DisplayData_5" Translation="Field 5" /> <Value Id="DisplayData_6" Translation="My New Preview Field" /> <Value Id="ResponseButton_accept" Translation="Accept" /> <Value Id="ResponseButton_reject" Translation="Reject" /> <Value Id="ResponseButton_reschedule" Translation="Reschedule" /> <Value Id="ResponseButton_xcancel" Translation="Cancel" /> </Dictionary>
Running the Sample
Download the binary files and extract them to the Interaction Workspace or Workspace Desktop installation directory. Make sure that the binary files are extracted into the same folder as the InteractionWorkspace.exe.
Setting Preview Field Labels and Adding/Removing Fields
- Open the file <plugin dir>/Languages/Genesyslab.Desktop.Modules.GMS.CallbackInvitation.en-US.xml.
- Update the bolded text to intended values, and then restart Interaction Workspace. These new values will be displayed in the IWS plugin dialog on GMS preview.
<Dictionary EnglishName="English" CultureName="English" Culture="en-US">
<Value Id="InvitationDialog.FormCaption" Title="Callback Invitation" />
<Value Id="InvitationDialog.RemainingTime" Title="seconds remain" />
<Value Id="InvitationDialog.Message" Text="A personal callback is offered to you. Please refer to the information below and use one of the response buttons." />
<Value Id="DisplayData_1" Translation="'''Field 1'''" />
<Value Id="DisplayData_2" Translation="'''Field 2'''" />
<Value Id="DisplayData_3" Translation="'''Field 3'''" />
<Value Id="DisplayData_4" Translation="'''Field 4'''" />
<Value Id="DisplayData_5" Translation="'''Field 5'''" />
<Value Id="DisplayData_6" Translation="'''Field 6'''" />
<Value Id="ResponseButton_accept" Translation="Accept" />
<Value Id="ResponseButton_reject" Translation="Reject" />
<Value Id="ResponseButton_reschedule" Translation="Reschedule" />
<Value Id="ResponseButton_xcancel" Translation="Cancel" />
<Value Id="ResponseButton_done" Translation="Done" />
<Value Id="DispositionDialog.FormCaption" Title="Callback Disposition" />
<Value Id="DispositionDialog.RemainingTime" Title="seconds remain" />
<Value Id="DispositionDialog.Message" Text="A disposition is offered to you. Please refer to the information below and use one of the response buttons." />
</Dictionary>
3. Add or remove the <Value Id=”DisplayData_... items as necessary while ensuring that the DisplayData_1, DisplayData_2... order is maintained.
About the Code
UserEventListener.cs
- EventHandlerTServerReceived – Listens to all user events and processes only the Callback preview user events from GMS Callback.
InvitationDialog.xaml.cs
- PlaceDisplayData – Loads the preview data from userevent into the preview dialog.
- PlaceResponseButtons – Creates clickable buttons to allow agents to take action after previewing the displayed Callback information.
- ResponseButtonClick – Returns an agent response to GMS based on the button clicked.
DispositionDialog.xaml.cs
- PlaceDisplayData – Loads the disposition data from userevent into the disposition dialog.
- PlaceResponseButtons – Creates clickable buttons to allow agents to send disposition after taking actions according to the displayed Callback disposition information.
- ResponseButtonClick – Returns an agent response to GMS based on the button clicked.
Disclaimer
THIS CODE IS PROVIDED BY GENESYS TELECOMMUNICATIONS LABORATORIES, INC. ("GENESYS") "AS IS" WITHOUT ANY WARRANTY OF ANY KIND. GENESYS HEREBY DISCLAIMS ALL EXPRESS, IMPLIED, OR STATUTORY CONDITIONS, REPRESENTATIONS, AND WARRANTIES WITH RESPECT TO THIS CODE (OR ANY PART THEREOF), INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. GENESYS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY DAMAGE SUFFERED AS A RESULT OF USING THIS CODE. IN NO EVENT SHALL GENESYS AND ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, ECONOMIC, INCIDENTAL, OR SPECIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ANY LOST REVENUES OR PROFITS).