I'm writing some record producers to allow users to update configuration items automatically.
The way I've implemented this is by creating change_request record producers, and adding a Script field to the RP table for Fulfillment Script. When the change is created, once it is approved I check back against the record producer to see if it has a script to run, and then I process the script using eval.
This works fine for me, but I've been told by several people at Service-Now and now calgary is telling me it as well that "eval is evil".