Hi @Anonymous. The online help link for that version of the RunExternalRule method, which is under the Automation object, is here:
IiLogicAutomation.RunExternalRule Method
This version of that method actually allows you to supply a document object as the first input variable, then the name of the external rule as the second input variable. That first document object that you input is supposed to act as "the context in which rule is run", which means, that is the document that you want the rule to act upon. However, if your external rule is getting the 'target' document it is supposed to act upon using the term ThisApplication.ActiveDocument, this will often cause this behavior to fail. In cases like this, you would be better using the term ThisDoc.Document within that external rule to point to which document for it to target. That term will work together with this method's intent. Then if you wanted to be extra sure you are targeting the right document, you could also use the RunExternalRuleWithArguments version of that method, and put the document you want the rule to target within the 'arguments' (a NameValueMap), that you supply as the third input variable. But if you use the NameValueMap route, then the external rule needs to be prepared to receive those 'arguments', so it can use them. That is done using the RuleArguments interface.
Wesley Crihfield

(Not an Autodesk Employee)