WordPress Multisite Add User

Ok, so this isn’t possible to do by default.

As I already had a hook for wpmu_activate_blog() I just created another with a lower priority which will be fired after. This function also has the 2 parameters I need. So upon activation of the account I simply remove Admin role and set a new role based of the subscription service level.

add_action( 'wpmu_activate_blog', array( $this,'set_new_user_role' ), 15, 2 );

public function set_new_user_role( $blog_id, $user_id ) {
    $user = new WP_User( $user_id, '', $blog_id );

    $user->remove_role( 'administrator' );

    // @NOTE - Set this role depending on user subscription level.
    $user->add_role( 'subscriber' );
}