LDAP Tools

Overview

This Plug-in provides the ability to update Appian user profiles from data retrieved from an LDAP server. The data that can be synchronized include all the default user profile fields except the username (e.g. first name, last name, address, phone, supervisor, title, etc…) as well as the custom fields.

Key Features & Functionality

  • LDAP User Profile Synchronization (Smart Service) - available in the Process Modeler under Integration Services > Connectivity Services
  • LDAP Sync Process Model (Sample Process Model) - will need to be tailored and tested based on identity management requirements
  • ldapSearch() Function - returns an array of LDAP attributes for a specific search query

See the instructions documentation (attached PDF) and https://community.appian.com/w/the-appian-playbook/520/ldap-synchronization for more information.

Anonymous
  • We see LDAP tools reported in the health check report , any remediation for this?

    adusersynchronizationwithusernamesMediumLDAP Tools (adusersynchronizationwithusernames) references deprecated Appian APIs
    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getContentService(com.appiancorp.services.ServiceContext)
    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getDiscussionMetadataCoreService(com.appiancorp.services.ServiceContext)
    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getPortalAdministrationService(com.appiancorp.services.ServiceContext)
    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getProcessAnalyticsService2(com.appiancorp.services.ServiceContext)
    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getProcessDesignService(com.appiancorp.services.ServiceContext)
    [deprecated] com.appiancorp.suiteapi.content.ContentOutputStream.close()
    [deprecated] com.appiancorp.suiteapi.content.ContentService.getInternalFilename(java.lang.Long)
    [deprecated] com.appiancorp.suiteapi.content.ContentService.notifyUsersCreation(java.lang.String[])
    [deprecated] com.appiancorp.suiteapi.content.ContentService.upload(com.appiancorp.suiteapi.knowledge.Document, java.lang.Integer)
    [deprecated] com.appiancorp.suiteapi.forums.DiscussionMetadataCoreService.notifyUsersCreation(java.lang.String[])
    [deprecated] com.appiancorp.suiteapi.personalization.UserRank.getId()
    [deprecated] com.appiancorp.suiteapi.personalization.UserRank.setId(java.lang.Long)
    [deprecated] com.appiancorp.suiteapi.portal.AdministrationService.notifyUsersCreation(java.lang.String[])

  • Is any limitation with LDAP Sync Application (How many roles we can configure for sync?)

  • What are the possible reasons behind users getting failed sync. Getting one bot user in usersFailed output

  • having the same error did you reach any solution

  • Has anyone encountered discrepancies in how ldapSearch() functions vs LDAP Profile Synch? We are seeing cases where a specific filter returns certain results in ldapSearch() but different results in LDAP Profile Synch.

    Specifically, doing a filter for "not a group member" ((!(isMemberOf=X)) is not being respected in the Synch but is in the search.

  • Hello,

    We are using the LDAP User Profile Synchronization Smart service in our LDAP Sync process model and It is working fine for all other domains but it is failing for the MHF domain (tried multiple times) with the following error:

    com.appiancorp.services.exceptions.ServiceException: com.appiancorp.services.exceptions.ServiceException: javax.naming.CommunicationException: Connection reset [Root exception is java.net.SocketException: Connection reset]; remaining name 'DC=mhf,DC=mhc'

    Can you please help with this issue?

  • Hello,

    the ldapSearch() function has a problem with searching. When no order is specified, sorting by the 'mail' field is being added by default. This causes an issue where if you want to search for objects that don't have this field, such as an organizational unit, the filter never returns them. For now, I've addressed this by adding sorting based on the 'name' field. I take this opportunity to also request a change to be able to add scope to the search

  • We installed the latest version 1.5.1. Now LDAP sync is working fine.

    Thanks.

  • We are getting below error after upgrading to Appian 23.3

    We are usinng Ldap tools version 1.4.0

    2024-03-05 05:02:22,435 [http-nio-80-exec-7] ERROR com.appiancorp.common.struts.BaseAction - Error executing action: com.appiancorp.suiteapi.personalization.UserValidationUtils.isValidNameLength(Ljava/lang/String;I)Z
    java.lang.NoSuchMethodError: com.appiancorp.suiteapi.personalization.UserValidationUtils.isValidNameLength(Ljava/lang/String;I)Z