Hi,
Kubig is correct. You probably want to accomplish this by using IWS commands or command chains.
When various actions occur in IWS, a chain of commands is run. The IWS APIs allow you to tack your own custom code onto command chains, or even create your own.
The documentation site explains this pretty well: http://docs.genesys.com/Documentation/IW/8.1.4/Developer/UseCustomizableCommands
In summary, you will:
[list]
[li]Identify the command chain you want to insert your custom actions on. The documentation site lists them all under Reference for Commands. Sometimes in order to figure out what command chain to add your functionality to, it is best to perform the action (like closing a case), then look in IWS logs to see what commands were fired[/li]
[li]Create a class representing your custom command, on the doc site reference CustomCommand.cs file - yours should look similar to this[/li]
[li]Register your custom command. Doing this basically inserts your command into an existing command chain, the registration code might look something like this:[/li]
[/list][code]// File: ExtensionSampleModule.cs
ICommandManager commandManager = container.Resolve<ICommandManager>();
// Add a command before the release call
// Method 1:
commandManager.CommandsByName["InteractionVoiceReleaseCall"].Insert(0, new CommandActivator() {
CommandType = typeof(BeforeReleaseCallCommand), Name = "BeforeReleaseCall" });
// Method 2 (recommended):
commandManager.InsertCommandToChainOfCommandBefore("InteractionVoiceReleaseCall", "ReleaseCall",
new CommandActivator() { CommandType = typeof(BeforeReleaseCallCommand), Name = "BeforeReleaseCall" });[/code][list]
[/list]
I took all of the above code and information from the doc site (URL above). Check it out, it should give you everything you need.
Regards,
Andrew