Both options are solid Option 1 (tool_call event without server URL) is probably cleaner since you get all the call metadata directly in the event data.
Option 2 (Assistant Override) works great for static data like userID that you know upfront.
I’d go with Option 1 for your use case since you want rich call metadata. Feel free to DM me if you need help with the implementation details