Thanks for the code.
It is not so far from what I tried, but it brings some information I missed.
I saw from your code that I do not need to build a WTStringMap for the event map
eventsMap.put("CHECK_OUT_IN", (WTStringMap)null);
That's a good point because I did not know how to do it.
I saw also that I should use a factory function to build a NotifySubscriptionRecipient, instead of calling "new".
However, when trying this new code in a workflow robot, I got the same error as before.
The root error seems to be an SQLException saying that a "LONG value can only be bound to a column of type LONG" and causing ROLLBACK exceptions.
Not very helpfull and not easy to relate to my code...
Anyway, thanks for your help.