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 are seeing a number of Health check alerts relating to deprecated api's used by this plug in (version 1.4).

    For example

    LDAP 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.ContentService.notifyUsersCreation(java.lang.String[]) [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]

    Is there a new version of the plug in scheduled for release?

  • Hi @madhan84. Do your users have username, email address, first name, and last name? Appian requires those four profile fields for a valid user account. Another thought is to check the log files. If debugging is enabled for the LDAP plugin, the logs will capture the usernames that failed to synchronize.

  • We are on 17.2 On prem setup. We are using LDAP User Profile Synchronization smart service. We have a issue were some users are not able to access Appian. While debugging this, we found that these users are part of "usernamesFailed". How can i find the reason for failure?

  • You can try a few things:

    1. Disable paging control in your first parameter (getVLVControlSupported=false)
    2. Set your pagingInfo to with startIndex=0
  • We are running Appian 19.4 & ldaptools-1.4.0.jar
    When running ldapsearch the data returned is null with no errors.
    The same query when run with the same account bound in ldp.exe returns the expected values.
    Appian support was not able to provide assistance and recommended posting here.
    Please advise.

    PDFPDFPDF

  • Hi Robert,

    I am facing exactly this , the configuration page shows 2 users for a filter but the LDAP Synch With Usernames smart service in the process returns only 1 user. Were you able to solve this ?

    Thanks.

  • Hi All, Can someone help me. I think I am doing something wrong in BASE DN and FILTERs. Connection is successful but user sync is not happening. Getting empty result from LDAP server.

  • Hi Robert,  We are on 18.1 and trying to connect LDAP server for user creation,amandment with LDAP 1.4 version application. We are able to establish connection successfully and users are not synchronizing which are in LDAP group.                                                                                                                                                                                                                                           

  • Can you provide more information? What other filters have you applied on the configuration screen? Did the users exist in the environment before running this instance of LDAP sync?

  • We managed to get the plugin working. However, we are observing an issue. In the configuration screen, the filter testing results returns 3 users, however, in the "LDAP User Synch With Usernames" node, the "usernamesUpdated_texts" var will only return 2 users, therefore, 1 of the user will be removed from the current group in appian after the sync.

    We checked the setting on all 3 users in ldap are the same, what else are we missing here? Or can anyone tell us how can the same filter returns correct number of users in a group in ldap in configuration screen, and not in the smart node in process model?