Time Zone Auto Assignment - external call?

Time Zone Auto Assignment - external call?

Hi, We get leads from all over the world. Even within North America it is an issue if we call someone too early, for example. Is there a way to call out through workflow scripts to automatically update a timezone field in Leads based on the City and Country of the Lead?