A Chime virtual agent is a compiled C# assembly or C# file that's read like a scripting file and implements a specific interface from Chime's ExtensionLibrary.dll. The purpose of a virtual agent is to perform automated tasks at specific points in the Chime session life cycle. There are three types of virtual agents per queue, all of which are optional.
We have a virtual agent SDK that includes necessary libraries, virtual agent templates, sample virtual agents, and a sandbox for testing during development. Currently we have examples of virtual agent integration with Salesforce®, Microsoft Dynamics®, ServiceNow®, and Alchemy®. You can find integration examples using their API's below.
To deploy a virtual agent from the collection of samples from the Virtual Agent SDK, first understand what the sample does by click on any of the Individual Pages on the left-hand side. Watch the Integration video, or click-through the slide show of screen shots to understand what the "out of the box" sample is programmed to do. Next open the sample (Virtual Agent SDK\Samples) in Visual Studio and (if applicable) change the credentials XML file to have your organizations credentials. Once the credentials are saved, build the project and the resulting DLL file (along with credentials file and any dependent references) can be dragged to the Plugins folder ("C:\ Program Files\Instant Technologies\Chime For Lync\Plugins") to be loaded into Chime. When the virtual agent file and any dependent files are in the Plugins folder, go to the Chime Admin section, sub-section Virtual Agents, to turn on the Extension Manager or reload the Virtual Agents to load them into Chime. Next enable a virtual agent to make it available to assign to a queue in Queue Settings sub-section People. Read the Virtual Agent SDK document HowToIntegrateWithChime for more information about any of these steps.
Some of the sample virtual agents depend on minor changes to the target integration service.
This sample creates a new Case in Dynamics and fills out some fields from information within Chime. One of the things it does is set the Case Origin field to "Chime-chat", which is a customization of the Dynamics CRM application. The pre-conversation virtual agent tries to set the "caseorigincode" field of the Case entity to "100,000,004". This may fail if there is no option for that field with a value of "100,000,004". To make this customization in Dynamics go to Settings, Customize the System, then choose Entities from the left-side navigation bar. Double-click the Case entity to open and edit, then choose Fields from the left-side navigation bar under Case. Double-click "caseorigincode" to edit this field, then choose Edit next to Option Set. Add a new option with name "Chime-chat" and value "100,000,004" and finally save the changes.
The ServiceNow sample depends on a similar kind of customization as the Dynamics sample. In this sample the pre-conversation virtual agent assumes there is an option of "chime-chat" for the contact type field of the Incident entity. The sample might not behave as expected if this field option doesn't exist. To make this customization within ServiceNow, from the Admin home page, go to Data Management, Personalize Form, then Choose Incident [incident] as the table and select Next, then in the upper navigation bar choose to go back to Configuring Incident Form. Click the cog settings button in the upper-right hand corner, then right-click the Contact type field and select "Configure Dictionary". Here you can add a new choice. Insert a new row under Choices, with label "Chime Chat", value "chime-chat", language "en", and inactive set to false. Choose Update to save these changes.