K2 comes with a set of drag n drop templates which allows you to configure a lot of functionality. However there will be times where you will need to implement something that requires you to write code.
There are some easy options to use – there are two code templates that come with K2 which basically allows you to write code. One is the Code event template the other is the WF code event template.
WF template has an extra workflow foundation layer that allows you to implement a sequential workflow by using the Visual Studio WF designer. The code template drops straight into .NET code.
Once you have written the code you can actually package it up to be reusable in K2. This is where the wizard project type in VS.NET comes in handy.
In the VS.NET designer you get access to all the code behind the templates. You even get access to al lthe rules such as Start Rule, Destination Rule, Escalations, etc. So, what you can achieve is pretty much up to you. There is no limitations. This flexibility and ease of use is what really attracts me to K2.