Well it depends on how you detect that the document has reached a specific state.
If it is triggered by a user, then you would use a client event to do it. If it is triggered by some backend processing, then you would use a async server event to do it. i.e. workflow makes a call to the external system with the sever event serial number. External system makes a OpenServerItem call back with the serial number, updates the data and finishes the sever event item. This allows it to continue. You can check out this thread as well. http://k2underground.com/forums/thread/27466.aspx
In my case the client event is not too user friendly. (The user must do something what we can do automatically...)
The async server event is only available in blackpearl, isn't it? Is there some opportunity for that in Blackpoint, or any built in feature?
Thanks for reply!
Sorry forgot that this was referring to blackpoint.
Unfortunately for blackpoint, async server events is not available.
You can get creative and set a escalation rule on the client event that does a GotoActivity to a activity. In this activity, you can do a check via a external referenced component before deciding to bypass the client event or route back to it again.
Of course this would be simpler in K2 blackpearl. So you might want to consider upgrading if you find that you have various custom needs that could be easily done using the additional enterprise features in K2 blackpearl.