How to update a People Picker field using Nintex workflow ?

  • 29 February 2016
  • 17 replies
  • 15 views

Badge +1

Hi  ,

I am trying to create a new item in another list based on the values from my current item . There is a people picker field in my list which i am copying to the new list.

178856_pastedImage_0.png

The return type i get are options for string, login name,user id and using any of them does not work properly . I get the below error "Failed to create item. Invalid data has been used to update the list item. The field you are trying to update may be read only".

Can anyone let me know which is the correct way of creating a people picker field item based on the values we have from current item ?


17 replies

Badge +5

Hello Aravind,

As a quick work around you can "Set a Variable" you can have a Variable txt_ContactOwner (as a single line of Text) and set it to the People Picker from your list  Contact Owner.

I often Have to do it this way.

Hope this helps a bit.

Badge +1

Still I am facing the same error Melissa Castillo​!  I saved it to a variable and was able to print out (loginname,id etc) and it throws the same error when trying to save it to the People picker field.

Badge +1

Thanks Melissa! I tried your method but before that I guess I had some issues with the People Field Site Column. I republished my content type and it started working.

Badge +5

aravind mp

When you place the variable in a "log History" Action are you getting the correct result?

Have you tried adding a update item to update your Contact Owner with the Variable?

Userlevel 4
Badge +10

Hi aravind mp​,

Glad you got it working. Be sure to mark Melissa's solution (or yours if you solved it yourself) as "Answered". It helps folks like me find your content in the future so we do not have to post the question again.

Userlevel 2
Badge +5

Hi,

Did you manage to solve this? As I'm having the same problem. I have tried Melissa Castillo​'s solution above and am receiving the same error message.

When you set the variable to txt_Person, are you supposed to use a particular option (display name/email address/log in name)?

Katherine

Badge +5

Hi Katherine Collins​,

Try setting the txt_Person to Display Name and capture it in a history log and see that you get.

Hope that helps

Melissa

Userlevel 2
Badge +5

Hi Melissa Castillo​,

Thanks for the suggestion, I'm getting the user's name printed in the log history, but still receiving the error. Would it be better if I used an update action rather than a create action?

Thanks,

Katherine

Userlevel 5
Badge +12

Hello,

The two actions will yield very different results.  Update should be used to update an existing item so you'll need to know the item you wish to target.  Create will simply create a new item from scratch.

Thanks,

Mike

Userlevel 2
Badge +5

Hi,

I'm aware, however I can't seem to set a people picker field with the create action, and I'm about of ideas to try. I just wondered if it would work better with update....because I'm about out of logical ideas.

Thanks,

Katherine

Userlevel 5
Badge +12

Hello,

Got it, just wanted to make sure.   So have you tried setting your people picker list value to a text variable (not a people picker variable)... Also when you did this, did you try to log the value of the text variable in the workflow to see what kind of output it is giving you?  I've had to work through similar errors in the past so I know how frustrating it can get. happy.png

Mike

Userlevel 2
Badge +5

Hi Mike,

Sorry, I was sharp this morning. To answer your question, yes, I've had it log the text value to the workflow history, and it shows up correctly as the user's name, however I still get the error about the field being read only. What should I try next?

Thanks,

Katherine

Badge +5

Katherine,

Am I understanding your requirements correctly? You have List A with Fields one of them is a people picker. You want to create a new Item in List B with some fields and the Name from the people picker in List A.

Have you tried to create the New Item in List B with out the people picker? Just to make sure that the action works. and to confirm that the action is set up correctly.

Melissa

Userlevel 2
Badge +5

Hi Melissa Castillo​,

Yes, that is correct. The action works without setting the people picker field, and it also works if instead of a people picker in list B, it's a single line of text. I can get the variable of the person's name to print to the log history and it prints the correct thing.

It seems like it should work, so I'm not sure why it doesn't.

Katherine

Badge +9

I was binding he values in the form with js and had similar issue. I did following things:

  • Created one "single line of text" column and binding he value to it by removing the claim token
  • On item updated triggered a workflow to update people picker control with "single line of text"
  • I also verified that if we include "single line of text" column without the  claim portion and include that in "to" section of send notification the mail gets triggered to correct user
Userlevel 5
Badge +12

No problem.  The reason I asked if you printed the people name stored in the text variable to see if there was issues with the formatting.  Sometimes to get this to work I had to mod the string result to make it something like domainusername to get it to work correctly, removing all other characters.   Each env. seems to treat this a bit differently.


For testing you may want to hardcode a user name on the first attempt with domainusername to see if the update goes through correctly.  Then you could swap out the hardcoded value for the people picker value and parse the string into the correct format.

Thanks

Mike

Badge +5

aravind,

Here's a link to a posting that details how to set multiple people. For future reference: how to update Person/Group Field with multiple values using Nintex Workflow 2013

Gerard

Reply