Can we ADD to a current UDA? or Do we need to create another one?
Created a large main WF, which calls a UDA (image below) - which sets the ProxyAddresses attribute field in AD.
Can I add to the configuration to this UDA?
If not, do I need to create another UDA?
We need to update the “MailNickname” attribute in AD .... (with the user's @CompanyName.com email address).
Also, we have the TargetAddress config in the main wf... can this be removed and added to the UDA (inside 1 or in its own UDA)?
Page 1 / 1
You can add to a UDA, but you’ll need to publish both the UDA as well as any Workflow that relies on that UDA, otherwise it will use the previous version.
Example. Here is a simple workflow where I’m setting the value of a Column called “List WF Val” to the value of “A” in the workflow, and then invoking a UDA that will change a Column called “UDA Val” to the value of “B”:
When I run this workflow it does exactly what I would expect it to do:
However, if I update the UDA to set the value to “C” instead of “B”:
If I were to publish ONLY the UDA, then when I run the main workflow against the item, it’ll do exactly the same thing as it did the first time (setting the columns to “A” and “B” respectively).
It’s only until I publish the Workflow that is using the UDA that it will grab the new UDA’s configuration:
As for your other questions - Yep. You can add whatever you’d like to a UDA (with a few exceptions). The biggest thing to remember is that UDAs are independent from any context, so you can’t rely on referencing anything regarding an Item’s Properties (meaning: the values of the columns of an item) as you would in a regular List Workflow.
So if you’re trying to target a certain List Item in a UDA, I would advise creating a required Parameter (which is like a Starting Variable for a typical workflow) that you’ll provide an Item’s ID to when you add the UDA to whichever workflow you’re using it from. In this way you can then reference that Input Parameter inside of UDA and do things like target a particular item b based on ID:
Example - In my UDA I’ve create a required input text Parameter called “input_TargetItemID”:
When I invoke the UDA in my regular workflow, I must pass along some value into the required parameter before it will allow me to publish the main workflow. In my case I simply pass the ID reference to the Item the Workflow is running on at the time of invocation:
You’ll notice in the example screenshots above when I show how the Update Item is setup in the UDA, I’m using that parameter as the value I’m matching against the ID of an item in the particular list that I’m targeting.
Though a bit cumbersome to deal with, UDAs are extremely powerful because they are Context Independent. Hopefully this example can help to make them a little less mysterious.
Let me know if you need additional help or have further questions.
Extensive reply - very grateful, much needed (still learning). Will continue to review & update the UDA in question.
I can’t tell how to update the attribute ‘mailNickname’ (in AD).
Ive answered my own question. I just entered free text into the Property To Retrieve field, after determine what the syntax for that field was (it wasn’t what I assumed). I added that then selected the variable I added earlier (single line of text). Then later in the wf, I added a BuildString for the email address to add to the attribute, then configured the control: UpdateADUser
was concerned about saving/pub but it went smoothly.
I saved/published this WF
then, I opened the Main wf (that calls this UDA) and without making any edits, I published it.