I'm on Win10. I have the following script in folder c:/scratch and it's called temp.py. As you can see, it's sole job is to attempt to open the URL that's passed to it via its single command line parameter.
if __name__ == '__main__':
import webbrowser
from sys import argv
webbrowser.open(argv[1])
As instructed in the Zim docs, I open the Tools|Custom Tools dialogue box, and click on the 'plus' icon, then fill in the details as shown here.

Now I can go back to a Zim page with a URL like this one,

highlight the URL, then choose Launch highlighted URL from the Tools menu and presto, that page loads in my browser.
That's the basic idea anyway.