Hi brian,
Custom user provisioning is used to perform custom logics before the sign-in ,
it checks for user session ,It won't trigger if your session is there , but if you login again in same day or next day and your session is not there it will trigger again
if you want to make some logic for first time login, create dome boolean first_time and keep ot false and when users logs in first time make this boolean true so next time skip those steps checking this first_time boolean is true or not