Home
%3CLINGO-SUB%20id%3D%22lingo-sub-974302%22%20slang%3D%22en-US%22%3E(WAL)%20-%20Workflow%20Example%20-%20Employee%20ID%20Generator%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-974302%22%20slang%3D%22en-US%22%3E%0A%20%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3DUTF-8%22%20%2F%26gt%3B%3CSTRONG%3E%20First%20published%20on%20MSDN%20on%20Jan%2015%2C%202016%20%3C%2FSTRONG%3E%20%3CBR%20%2F%3E%3CP%3EIn%20this%20Workflow%20Example%20we%20will%20demonstrate%20how%20to%20use%20the%20MIM%20WAL%20to%20build%20a%20Workflow%20that%20can%20be%20used%20to%20generate%20an%20Employee%20ID%20for%20a%20newly%20created%20user%20within%20the%20FIM%20Portal.%20This%20Workflow%20uses%20the%20following%20%22WAL%22%20Workflow%20Activities.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EPrerequisites%20for%20this%20Posting%3C%2FP%3E%3CBR%20%2F%3E%3COL%3E%3CBR%20%2F%3E%3CLI%3Eread%20%3CA%20href%3D%22http%3A%2F%2Fblogs.msdn.com%2Fb%2Fconnector_space%2Farchive%2F2016%2F01%2F15%2Fthe-mimwal-custom-workflow-activity-library.aspx%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3E%20The%20MIMWAL%20(Custom%20Workflow%20Activity%20Library)%20%3C%2FA%3E%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3ECreate%20a%20New%20Resource%20called%20Employee%2C%20you%20can%20use%20the%20following%20post%20for%20guidance%3C%2FLI%3E%3CBR%20%2F%3E%3COL%3E%3CBR%20%2F%3E%3CLI%3E%3CA%20href%3D%22http%3A%2F%2Fblogs.msdn.com%2Fb%2Fconnector_space%2Farchive%2F2014%2F12%2F12%2Fschema-management-creating-a-new-resource.aspx%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3E%20Schema%20Management%20-%20Creating%20a%20New%20Resource%20%3C%2FA%3E%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FOL%3E%0A%20%20%3C%2FOL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EUpdate%20Resource%20Activity%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3EGenerate%20Unique%20Value%20Activity%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EIn%20the%20FIM%20Portal%20navigate%20to%20the%20Workflows%20Page%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20New%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3COL%3E%3CBR%20%2F%3E%3C%2FOL%3E%0A%20%20%3CUL%3E%3CBR%20%2F%3E%3CLI%3EEnter%20the%20name%20for%20your%20Workflow%20(I%20start%20all%20my%20workflows%20with%20an%20%22_%22%20which%20makes%20it%20easy%20to%20identify%20all%20non%20custom%20workflows.%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3ESelect%20Action%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%20style%3D%22padding-left%3A%2060px%22%3E%3CIMG%20alt%3D%22%22%20border%3D%220%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F153638iFDAC6E6EB2BEFD1A%22%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20Next%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3ESelect%20WAL%3A%20Update%20Resources%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%20style%3D%22padding-left%3A%2060px%22%3E%3CIMG%20alt%3D%22%22%20border%3D%220%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F153639i9445755EEE9EFAE9%22%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3COL%3E%3CBR%20%2F%3E%3C%2FOL%3E%0A%20%20%3CUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20Select%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EConfigure%20the%201st%20Workflow%20Activity%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EType%20in%20the%20name%20for%20the%20Activity%20that%20will%20be%20used%20as%20part%20of%20the%20Workflow%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3ESelect%20Advanced%20Features%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3ESelect%20Query%20Resources%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EIn%20the%20Queries%20section%20add%20the%20following%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EKey%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EEmployee%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EXPath%20Filter%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%2FEmployee%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3EFor%20Request%20Actor%20select%20Service%20Account%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EIn%20the%20Updates%20Section%20type%20the%20following%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EValue%20Expression%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EFirst(%5B%2F%2FQueries%2FEmployee%5D)%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3ETarget%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%5B%2F%2FWorkflowData%2FEmployee%5D%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%20style%3D%22padding-left%3A%2060px%22%3E%3CIMG%20alt%3D%22%22%20border%3D%220%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F153640i1D19CFA0DE02027F%22%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%20style%3D%22padding-left%3A%2060px%22%3E%3CIMG%20alt%3D%22%22%20border%3D%220%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F153642iEAE895467F4051F1%22%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3ESelect%20Save%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20Add%20Activity%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3EFor%20the%202nd%20Activity%20select%20WAL%3A%20Generate%20Unique%20Value%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20Select%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%20style%3D%22padding-left%3A%2060px%22%3E%3CIMG%20alt%3D%22%22%20border%3D%220%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F153643iA978A9F137A797FE%22%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EConfigure%202nd%20Workflow%20Activity%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EType%20in%20the%20name%20for%20the%20Activity%20that%20will%20be%20used%20as%20part%20of%20the%20Workflow%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3ETarget%20for%20Generated%20Value%20type%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%5B%2F%2FWorkflowData%2FEmployeeID%5D%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3EConflict%20Filter%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%2FPerson%5BEmployeeID%3D'%5B%2F%2FValue%5D'%5D%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3EQuery%20LDAP%20for%20Conflicts%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%22False%22%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3EUniquness%20Key%20Seed%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E1%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3EValue%20Expression%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EAdd(ConvertToNumber(%5B%2F%2FWorkflowData%2FEmployee%2FEmployeeID%5D)%2CConvertToNumber(%5B%2F%2FUniquenessKey%5D))%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%20style%3D%22padding-left%3A%2060px%22%3E%3CIMG%20alt%3D%22%22%20border%3D%220%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F153644iB69341983972C037%22%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3ESelect%20Save%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20Add%20Activity%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3ESelect%20WAL%3A%20Update%20Resources%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3EFor%20the%203rd%20Activity%20select%20WAL%3A%20Update%20Resources%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20Select%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%20style%3D%22padding-left%3A%2060px%22%3E%3CIMG%20alt%3D%22%22%20border%3D%220%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F153645iB669593F52E37B7C%22%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EConfigure%203rd%20Workflow%20Activity%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EType%20in%20the%20name%20for%20the%20Activity%20that%20will%20be%20used%20as%20part%20of%20the%20Workflow%3C%2FLI%3E%3CBR%20%2F%3E%3CLI%3EUpdates%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EValue%20Expression%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%5B%2F%2FWorkflowData%2FEmployeeID%5D%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3ETarget%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%5B%2F%2FTarget%2FEmployeeID%5D%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3EValue%20Expression%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%5B%2F%2FWorkflowData%2FEmployeeID%5D%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CLI%3ETarget%3C%2FLI%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3E%5B%2F%2FWorkflowData%2FEmployee%2FEmployeeID%5D%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%20style%3D%22padding-left%3A%2060px%22%3E%3CIMG%20alt%3D%22%22%20border%3D%220%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F153646i44011DB39B1F826B%22%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20Save%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CUL%3E%3CBR%20%2F%3E%3CLI%3EClick%20on%20Finish%3C%2FLI%3E%3CBR%20%2F%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%3E%3C%2FP%3E%0A%20%0A%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-974302%22%20slang%3D%22en-US%22%3EFirst%20published%20on%20MSDN%20on%20Jan%2015%2C%202016%20In%20this%20Workflow%20Example%20we%20will%20demonstrate%20how%20to%20use%20the%20MIM%20WAL%20to%20build%20a%20Workflow%20that%20can%20be%20used%20to%20generate%20an%20Employee%20ID%20for%20a%20newly%20created%20user%20within%20the%20FIM%20Portal.%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-974302%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3Ecustom%20workflow%20activity%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ecustom%20workflow%20activity%20library%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Eemployee%20id%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Egenerate%20unique%20value%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Emimwal%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Eupdate%20resource%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ewal%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Microsoft
First published on MSDN on Jan 15, 2016

In this Workflow Example we will demonstrate how to use the MIM WAL to build a Workflow that can be used to generate an Employee ID for a newly created user within the FIM Portal. This Workflow uses the following "WAL" Workflow Activities.


Prerequisites for this Posting



  1. read The MIMWAL (Custom Workflow Activity Library)

  2. Create a New Resource called Employee, you can use the following post for guidance


    1. Schema Management - Creating a New Resource



  • Update Resource Activity

  • Generate Unique Value Activity



  • In the FIM Portal navigate to the Workflows Page



  • Click on New




  • Enter the name for your Workflow (I start all my workflows with an "_" which makes it easy to identify all non custom workflows.

  • Select Action




  • Click on Next

  • Select WAL: Update Resources





  • Click on Select



  • Configure the 1st Workflow Activity


    • Type in the name for the Activity that will be used as part of the Workflow

    • Select Advanced Features

    • Select Query Resources



    • In the Queries section add the following


      • Key


        • Employee




      • XPath Filter


        • /Employee



    • For Request Actor select Service Account



    • In the Updates Section type the following


      • Value Expression


        • First([//Queries/Employee])




      • Target


        • [//WorkflowData/Employee]









    • Select Save




  • Click on Add Activity

  • For the 2nd Activity select WAL: Generate Unique Value


    • Click on Select





  • Configure 2nd Workflow Activity


    • Type in the name for the Activity that will be used as part of the Workflow

    • Target for Generated Value type


      • [//WorkflowData/EmployeeID]


    • Conflict Filter


      • /Person[EmployeeID='[//Value]']


    • Query LDAP for Conflicts


      • "False"


    • Uniquness Key Seed


      • 1


    • Value Expression


      • Add(ConvertToNumber([//WorkflowData/Employee/EmployeeID]),ConvertToNumber([//UniquenessKey]))







    • Select Save


  • Click on Add Activity

  • Select WAL: Update Resources

  • For the 3rd Activity select WAL: Update Resources


    • Click on Select





  • Configure 3rd Workflow Activity


    • Type in the name for the Activity that will be used as part of the Workflow

    • Updates


      • Value Expression


        • [//WorkflowData/EmployeeID]


      • Target


        • [//Target/EmployeeID]


      • Value Expression


        • [//WorkflowData/EmployeeID]


      • Target


        • [//WorkflowData/Employee/EmployeeID]







  • Click on Save



  • Click on Finish