Our procedure is based on our student information system. Basically, we run a script daily that gives us a file of new users. We upload the file once a day.
So, the question is how do you know you have a new user with a specific role? Then you set up a procedure that is triggered by the new user event.