sn_fd.FlowAPI.getRunner().action().inBackground().run() (or sn_fd.FlowAPI.startAction()) runs the action as system when we expect it to be run as the user who initiated the session with the api callDescriptionsn_fd.FlowAPI.getRunner().action().inBackground().run() (or sn_fd.FlowAPI.startAction()) run the action as system when we expect it to be run as the user who initiated the session with the api call According to the documentation for paris-- "Note:This method runs the action as the user who initiates the session." (https://docs.servicenow.com/bundle/paris-application-development/page/app-store/dev_portal/API_reference/ScriptableFlowAPI/concept/ScriptableFlowAPI.html#ScriptableFlow-startAction)Steps to Reproduce 1. create an action named "DEF0200280" with a script step with an output "variable" and the following script(function execute(inputs, outputs) { outputs.variable = gs.getUserName();})(inputs, outputs); 2. in the background scripts area start the action with--sn_fd.FlowAPI.getRunner().action('global.DEF0200280').inBackground().run();or equivalent deprecated script--sn_fd.FlowAPI.startAction('global.DEF0200280'); 3. open the action and go to executions, open the latest execution and observe that variable is "system" and not the userWorkaroundRunning in the foreground will run the action as the current user-- sn_fd.FlowAPI.getRunner().action().inForeground().run() (or sn_fd.FlowAPI.executeAction()) 2. Wrap the action in a subflow which runs as the user 3. Alternatively a script step can be added to the action to impersonate a specific user. Related Problem: PRB1486008