Jump to: navigation, search

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.

Sources

Binary for Interaction Workspace 8.1.x:

Binary for Interaction Workspace 8.5.x:

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

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 Interaction Workspace 8.5.105.09
  • Visual Studio 2010 (for customization)

Running the Sample

Download the binary files and extract them to the Interaction Workspace installation. Make sure that the binary files are extracted into the same folder as the InteractionWorkspace.exe.

Setting Preview Field Labels and Adding/Removing Fields

  1. Open the file <plugin dir>/Languages/Genesyslab.Desktop.Modules.GMS.CallbackInvitation.en-US.xml.
  2. 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.

Customization (sources)

Download the Visual Studio project and extract the files to create a folder GMS_IWSPlugin. Open the GMS_IWSPlugin.sln file in Visual Studio 2010.

Procedure

  1. 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
  2. For debugging, make sure that the Project Properties > Debug settings are correct.
  3. 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>

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).

This page was last edited on November 24, 2017, at 09:50.
Comments or questions about this documentation? Contact us for support!