---
title: Set Session Properties node
description: Configure the Set Session Properties node to add key-value properties to the authenticated session or update session timeout settings during an PingAM journey.
component: platform
version: 7.5
page_id: platform:auth-node-ref:set-session-properties
canonical_url: https://docs.pingidentity.com/platform/7.5/auth-node-ref/set-session-properties.html
llms_txt: https://docs.pingidentity.com/platform/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["Nodes &amp; Trees", "Journeys", "Authentication"]
page_aliases: ["auth-node-set-session-properties.adoc"]
section_ids:
  availability: Availability
  inputs: Inputs
  dependencies: Dependencies
  configuration: Configuration
  outputs: Outputs
  outcomes: Outcomes
  errors: Errors
  examples: Examples
---

# Set Session Properties node

The Set Session Properties node adds `key:value` properties to the user's session on successful authentication.

|   |                                                                                                                                                                                                                                               |
| - | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | You can access session properties using a variable in a webhook. Find more information in [Configure authentication webhooks](https://docs.pingidentity.com/pingam/7.5/am-authentication/about-authentication-trees.html#auth-tree-webhooks). |

## Availability

| Product                               | Available? |
| ------------------------------------- | ---------- |
| PingOne Advanced Identity Cloud       | Yes        |
| PingAM (self-managed)                 | Yes        |
| Ping Identity Platform (self-managed) | Yes        |

## Inputs

None. This node does not read shared node state data.

## Dependencies

Make sure the user can successfully authenticate and get a session.

If the `noSession` query parameter is used during authentication, the journey will fail.

## Configuration

| Property   | Usage                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Properties | The session properties to set.- To add a session property:

  1. Click [icon: plus, set=fa], then [icon: plus, set=fa]Add in the Properties modal.

  2. Enter the session property name in the Key field and the value to set in the Value field.

  3. Click Done.

- To edit a property:

  1. Click its pencil icon ([icon: pencil-alt, set=fa]).

  2. Update the Key and Value as when adding properties.

- To remove a property, click its delete icon ([icon: trash, set=fa]).When finished, click Save to keep your settings. |

## Outputs

This node sets *session* properties; it does not change the shared state data.

This node cannot override system session properties, such as the principal or the authentication level. Use a different journey to re-authenticate the user rather than trying to change such properties with this node.

## Outcomes

Single outcome path: when the journey completes successfully, this node sets the configured session properties.

## Errors

This node does not log messages of its own.

## Examples

The following example uses the Set Session Properties node to update the `successURL` session property.

* A first platform journey updates the session property on successful authentication:

  ![Setting a session property](_images/set-session-properties-journey.png)

  * The [Page node](page.html) containing the [Platform Username node](platform-username.html) and [Platform Password node](platform-password.html) prompts for credentials.

  * The [Data Store Decision node](data-store-decision.html) validates the username-password credentials.

  * The [Increment Login Count node](increment-login-count.html) updates the number of successful authentications in the user profile.

  * The Set Session Properties node, sets the `successURL` session property.

    Configure the Properties to add a `successURL` property with the URL of your choice.

  When the journey completes successfully, Ping Identity Platform updates the `successURL` in the user's session data.

* A second journey uses a script to display the session properties after the user authenticates:

  ![Showing session properties in the shared state data](_images/debug-session-properties-journey.png)

  The [Scripted Decision node](scripted-decision.html) calls the following script to inject the session properties into the shared state data so the journey can display them though a debug popup:

  ```javascript
  if (typeof existingSession !== 'undefined') {
    nodeState.putShared('session', existingSession)
    action.goTo('hasSession')
  } else {
    nodeState.putShared('session', null)
    action.goTo('noSession')
  }
  ```

  The second journey has Debug mode and Enable Debug Popup selected.

Follow these steps to try the example:

1. Create both journeys using the journey editor.

2. Sign in through the first journey with a test user account.

   The browser shows the user profile page.

3. In the same browser window, browse to the URL for the second journey.

   The debug popup window displays the shared state data including session properties:

   ```json
   {
       "transactionId": "...",
       "session": {
           "successURL": "<your-success-url>",
           "...": "..."
       },
       "realm": "/alpha",
       "authLevel": 0,
       "username": "test"
   }
   ```

   The `successURL` property is set to \<your-success-url>, the one you configured as the value in Properties of the Set Session Properties node.

4. Sign out as the test user.

5. Sign in through the *default* journey as the test user.

   The default journey doesn't use the Set Session Properties node with your configuration, so it uses the default value for the `successURL` session property.

6. In the same browser window, browse to the URL for the second journey again.

   The debug popup window displays the shared state data, including session properties with the default `successURL` value.
