You are going to have to code it yourself. Creating a site is not as easy as it should be, :? but there are already discussions in this forum on the subject.
You will need to inject your code into the method you use to create a user. So if it is a web script then customise your own or if it is one of the UIs then inject your code into the person or invitation service as appropriate. Or you could have a policy that runs on creating a person node.