Welcome to the Tech Lounge! This is a space for some of us technical folks at Interactive Intelligence to post about various technical topics that are near and dear to us.
My name is Aaron Lerch and I’m a Lead Software Engineer working on several of the client applications that many end-users of our system interact with. I’m also just one of the many people who will be posting here about things we’re working on and interested in, the stuff we are passionate about. I got lucky enough to be able to write the very first post.
What can you expect from this blog?
Honestly, I’m not entirely sure. I think it’s going to grow and evolve over time as any new effort does, but always for the better, and hopefully always with a good dash of humor. What I do know is that you can expect high quality technical content about the Interaction Center platform. You can expect discussions about industry trends and technologies, from a technical perspective, by people who know what they’re talking about. I have never worked with a smarter bunch of people than at Interactive Intelligence, and I’m very proud to work here.
I can also tell you what this blog won’t be. It won’t be a place where you will get marketing-level versions of technical content (apologies to all my marketing friends) or some hyped up rose-colored-glasses sales-y version of some barely useful information (apologies to all my sales friends). As our about page says, it’s a “no-sell zone”.
Let’s get started!
I want to show you something I think is very exciting. We’re going to extend the Interaction Client by writing a custom “add-in”. This will require you get a bit dirty with some code, so there are some prerequisites:
- The 3.0 Interaction Client should be installed locally. Use the latest SU version if possible.
- Download Visual Studio C# Express if you don’t already have Visual Studio. You can use VB.NET if you prefer, however my examples will be using C#.
I’m not going to explain what all of this stuff does right now, that will all come in future posts.
First, open Visual Studio and create a new “Class Library” project and name it something fun. Like “ExampleAddIn”. That’s a fun name.
Make sure to specify .NET Framework version 2.0, 3.0, or 3.5 (and NOT 4.0!)
Second, add a reference to two files:
- “ININ.InteractionClient.AddIn.dll” which is found in the Interaction Client install directory (typically something like “c:program filesinteractive intelligenceicuserapps”), and
- System.Windows.Forms, which is found in the .NET Framework.
Third, open the “AssemblyInfo.cs” file under the Properties node and add the following lines:
![]()
(the last “using” line plus the “AddInVersion” line)
Fourth, the project should have been created with a default class called “Class1”. Modify that file as shown below:
Fifth, build your Visual Studio project! Then create a subdirectory in the Interaction Client install directory called “AddIns” (uppercase or lowercase isn’t important), and copy your newly created add-in file into that directory. Note: only copy your “ExampleAddIn” files, nothing else from the output directory is needed.
Get your add-in files here:
And copy them here:
Last, run the Interaction Client! If everything went according to plan, you should see the message box pop up indicating that our custom add-in was loaded and is ready to go.
That’s six steps to get an add-in working, and I didn’t explain any of the why behind the what. That will come in future posts, but for now, hopefully this gives you a glimpse of the kinds of things we’re going to be talking about here, and exploring some possibilities together.
Next up
There’s a number of people posting here about a variety of topics, but next up from me will be a series of posts diving deeper into extending the Interaction Client with custom add-ins and some more examples of what you can do with this new capability.
Until then, allow me to christen this tech blog!
*swings bottle of champagne towards computer*
…
(*cleans up mess and replaces motherboard that was fried from contact with a liquid*)
-Aaron

Great idea for the blog. Would be good to go over pro’s and con’s of this approach (not to mention that if launching a gui form from within the class library may block the thread )
@ThatDude-
Absolutely, there’s a ton of stuff to cover about Add-Ins, including the things you mentioned. I should’ve said in the post that my example should hardly be taken as “best practice”
That said, I’ll address plenty of other things like this in future posts, including doing some screencasts, etc. If you have topics or example implementation ideas you’d like me to cover, post it here and I’ll make sure to include it!
Great article. I would really like to see for a future topic the window interface (adding a page/tab to the client) and how to get attributes from an interaction onto that custom tab.
Really nice! Love to see more of these. I would like to see how to create COM Wrapper for calling an ICELIB application from a sample jscript application.
That’s great.
But where can I find the documentation of the API???
There is only a high level overview @ and
Thanks
Here the links again and
Thanks
Good info….
I have bookmarked ur site and i’ll be back again and again!…