I don’t know how you would automatically assign a role, wouldn’t you want an onboarding process to do that?
For “date joined”, if you’re connecting your app with a Google Sheets (you don’t need to store any meaningful data in there), you’ll have an Apps: Login sheet that is filled automatically, and you can track the timestamp of each first login for each email.