@ANONYMOUSE703 - You would need to identify if the hook route is being hit by the webhook from GitHub. The first thing I would do is check php artisan route:list and confirm that there is a POST route for api/hook in the output.
If you see a route then I would look at using laravel dump server if you are using Larvel 5.7 and change your controller function to
public function handle(Request $request){
dump($request);
}
If you start the server on the command line when you generate a push event in GitHub you should see the content of the request in the terminal. If not then the request isn't getting to the Controller. I would double check for any errors in storage/logs/laravel.log e.g. 500 server errors
You might also find that your middleware is preventing access. Remember that when you push the event you will not have an authenticated user so if you are using the auth or api:auth middleware they will reject the request. Try disabling them temporarily.
If none of these work it might be an issues with using ngrok. If possible I would try with HTTP instead of HTTPS when testing (assuming you aren't passing sensitive data) as you can inspect the traffic on the tunnel. Obviously in production when using a real server you would revert to HTTPS
Once you get to the point that you can see the event in Laravel you can deal with your notifications. Again bear in mind that you wont have an authenticated user so you will probably have to have some other setup for who to notify e.g. a database table/eloquent model that stores the user ids of the users to notify and you can then do a lookup on the database when you receive the web hook. However lets cross that bridge when you get to it.