[LDAP integration] Merge existing users based on attribute

Dear Zammad Community,

I’m referring to the following, sadly already closed, Ticket:

  1. What is your original issue/pain point you want to solve?
    The exact same issue like on the ticket mentioned above also comes up at our installation quite often, as people join with a different mail address early, then get one from our company and if they leave again will get another mail or use a private one for some time.

we have an account on the mail server bob@here.com, but we don’t have bob@here.com in freeipa.
zammad creates accounts when it sees an email address, so it sees the address bob@here.com and creates an account.
6 months later we create a user on freeipa for bob@here.com
zammad sees the new user the next ldap sync run and tries to create an account but it can’t as there’s already an account with the email bob@here.com

  1. Which are one or two concrete situations where this problem hurts the most?
    I guess in most companys those things happen. It is very uncomfortable to find those issues and then move the tickets around manually. You would have to:
  • locate both users
  • rename the unwanted user (that was created by zammad by sending mail to it) to Bob (old) and change the address to bob@here.com.invalid
  • move all the single tickets of Bob (old) to new user Bob synced by LDAP integration
  • let the LDAP integration run to update the new users Bob mailaddress

In bigger environments this is really annoying and time consuming.

  1. Why is it not solvable with the Zammad standard?
    The function to merge users is missing completely. We have not found a way to automate those issues in a safe way.

  2. What is your expectation/what do you want to achieve?
    I request a feature that lets us decide what zammad should do in this situation:

  • throw error somewhere we can see / monitor
  • merge the existing user with mail bob@here.com to the synced user from ldap integration
  • do nothing / create new user

Or at least a function to merge users, that lets us decide which information we want to keep - the one from the LDAP integration or the one that zammad set up on first contact. Maybe you can also set this up in a way that it can be used with the API.

My Zammad environment:

  • Zammad 6.0.0-1692176490.0e2399eb.bullseye on Debian 11 (bullseye)
  • Average concurrent agent count: 5
  • Average tickets a day: 25
1 Like