You can ask your user to send a mail to your zammad instance, this will create a ticket and the user as a costumer, they will be notified by mail and can already set for a password at your zammad-instance.com/#password_reset
While they set their password you can already edit that user’s permissions/role, so when they login for the first time they will already be an agent.
If you don’t want this way, you can set a trigger to send an email when your admin creates a new user.