If it runs in TSO, then should work in an OPS server. If running/testing manually, from the OPSLOG trigger to OPS server by issuing 'osfchar%pgmname' where osfchar is of course the value of your OPS server command character. This will run the pgm in TSO/E, as the OI pgmname runs in OPS/REXX. You may need to allocate 'other' DDs to the servers at the beginning of the pgm (or in OSFSTART pgm if you utilize this at OSF start up time). If need to do OPS 'work' in the pgm, access variables, query/update RDF tables including SSM tables, issue WTO, issue cmds, etc use the OPSMVS POI/TSO cmds in the pgm (OPSGETV/OPSSETV,OPSQL,OPSCMD,OPSWTO,etc). Depending on what 'other' logic you are doing/needed that is only available in OPS/REXX (like Address AOF for rule manipulation/control as there is no POI) there are ways to make this work too. I would expand on that if needed, but I think you get the picture, that you simply run the pgm in TSO/E in the OPS server if the 'work/tool' doesn't execute in OPS/REXX. To trigger from a rule you would of course use Address TSO (or OSF) "%pgmname" or "%pgmname args" if passing arguments.