Trigger WiFi hotspot based on known WiFi availability or location
You can do all this using Tasker. It may not be free, and the interface may look dated but it does all this and so much more. You'll never go back to anything else once you get things setup the way you want.

This is honestly the best, and most useful app on my personal phone.