I got "sp_audit_write" working but only with ids granted to SYSADMIN. Looking at Microsoft documents, the only permission required is "Requires membership in the public database role". The stored procedure is in database mssqlsystemresource which I cannot find a way to grant permission to it. I added the login to every database public role on the server and still no good.
Here is the message I get
Msg 229, Level 14, State 5, Procedure sp_audit_write, Line 1
The EXECUTE permission was denied on the object 'sp_audit_write', database 'mssqlsystemresource', schema 'sys'.
How do I grant execute permission to 'sp_audit_write'?