Skip to main content

User: Update Node

The User: Update Node allows a workflow to update an existing Experience User inside the current application, and optionally add the updated user to the current workflow payload.

User: Update Node

Configuration

Configuration for the User: Update Node is broken up into several sections.

User Selection and Data Method

First, select a user to update and a method for providing the updated properties ...

  • ID or Email Template: The node accepts either a user ID or email address - which are both unique within the context of the application, and so will match at most a single user. This field is templatable, and so supports finding a user based on the current workflow payload. The example above is doing exactly that, and is referencing the field experience.user.id on the workflow payload.
  • Data Method: Choose one of the following options for providing updates to the user ...
    • Individual Fields: When selected, user updates are broken up into additional sub-sections as described below.
    • JSON Template: When selected, you must provide a User JSON Template that validates against the Experience User Patch schema.
    • Payload Path: When selected, you must provide a User Payload Path that resolves to an object on the payload that validates against the Experience User Patch schema.

When selecting Individual Fields, the following configuration options are exposed ...

User Profile

You may enter new values for any of the following fields, or leave the fields blank to retain their current values. Each input supports string templates ...

  • Email Address Template: If provided, this must be a valid email address or a template that resolves to one. Note that most application experiences allow users to sign in using their email address, so take care when changing this value.
  • First Name Template: If provided, this updates the user profile's First Name field.
  • Last Name Template: If provided, this updates the user profile's Last Name field.
  • Password Template: If provided, this updates the user's password for signing in. This must resolve to a string of at least 8 characters. Note that many application developers require additional password complexity for their application experiences; the User: Update Node does not enforce password complexity rules. Those rules should be validated against user input prior to invoking the User: Update Node using a Validate Payload Node or through other methods.

User Groups

Optionally, you may update the user's Experience Group membership by checking the Edit group membership checkbox. If checked, the groups provided in the Groups selector will replace all the groups the user is currently assigned to - or if no groups are provided, the user will be removed from all Experience Groups.

To leave the user's group membership unchanged, leave the box unchecked.

User Tags

If desired, you may add, change, or remove any user tags. Changes configured in the node are merged with the existing user tags; in other words, any tag key that is not explicitly set or removed when the node is invoked will retain its current value.

To add a new tag or modify the value of an existing tag, add a Set User Tag operation to the node. Then, provide a Key Template resolving to the name of a new or existing key, along with a Value Template for the value to save against that key.

To remove an existing tag, add a Remove User Tag operation to the node. Then, provide a Key Template resolving to the name of an existing key to remove it. If no tag matching that key exists on the user, no action is taken.

Invalidate Tokens

Optionally, you may check the Invalidate tokens box to immediately revoke access to authenticated endpoints using existing tokens for the user being updated. This is helpful in cases of password updates or when the user signs out of your experience.

Result Path

Optionally, you can provide a payload path in the Result Path field so that the updated experience user can be placed at that path on the workflow payload. In the case of a successful user update operation, this will be the updated user object. In the case of a failed user update, this will be an object of the errors that occurred trying to update the user.

Node Example

Given a POST request and an Endpoint Trigger execution for an Experience User attempting to change their password, with the new password in the body of the request in the newPassword field, the User: Update Node can be invoked with the following configuration ...

  • ID or Email Template: {{experience.user.id}}
  • Password Template: {{data.body.newPassword}}
  • Result Path: working.updatedUser
{
"experience": {
...
"user": {
"email": "test@example.com",
"id": "58dc4ecf9e8df60001fbea0a",
"userTags": { "phone": "5135551212" },
...
}
},
"data": {
"body": {
"newPassword": "myNewPassword"
},
},
"working": {
"updatedUser": {
"email": "test@example.com",
"firstName": "Jane",
"lastName": "Doe",
"applicationId": "58dc4ec29e8df60001fbea01",
"creationDate": "2017-03-29T00:15:18.302Z",
"lastUpdated": "2025-07-05T00:18:23.903Z",
"userTags": { "phone": "5135551212" },
"passwordLastUpdated": "2025-07-05T00:18:23.903Z",
"experienceUserId": "58dc4ecf9e8df60001fbea0a",
"id": "58dc4ecf9e8df60001fbea0a",
"experienceGroups": []
}
},
...
}

Node Errors

Given the example above, this is a possible result for a failed update, where the new password was not long enough:

{
"experience": {
...
"user": {
"email": "test@example.com",
"id": "58dc4ecf9e8df60001fbea0a",
"userTags": { "phone": "5135551212" },
...
}
},
"data": {
"body": {
"newPassword": "12345"
},
},
"working": {
"updatedUser": {
"error": {
"type": "Validation",
"message": "password has less length than allowed"
}
}
},
...
}

Was this page helpful?


Still looking for help? You can also search the Losant Forums or submit your question there.