We can use the API to query, then execute UI Actions. The following is the current method to execute:
params = dict(sysparm_table='x_snc_some_table', sysparm_sys_id=sys_id)
r = self.client.session.post(f"{self.client.instance}/api/now/ui/ui_action/{ui_action_sys_id}", params=params, json={})
But we could easily make this part of the client. Something like self.client.execute_ui_action(...) or perhaps even a self.client.UiAction(table, ...) deal like attachment?
Similarly the record object has a gr.add_attachment so maybe we could have also gr.exeute_ui_action?