---
title: Attribute Present Decision node
description: The Attribute Present Decision node checks whether an attribute is present on an object, including private attributes. There is no need to specify the value of the attribute.
component: auth-node-ref
version: latest
page_id: auth-node-ref::attribute-present-decision
canonical_url: https://docs.pingidentity.com/auth-node-ref/latest/attribute-present-decision.html
keywords: ["Nodes &amp; Trees", "Journeys", "Authentication", "Account", "Custom Attributes", "Update Passwords"]
page_aliases: ["auth-node-attribute-present-decision.adoc"]
superseded_by: https://docs.pingidentity.com/auth-node-ref/latest/attribute-present-decision.html
section_ids:
  example: Example
  availability: Availability
  inputs: Inputs
  dependencies: Dependencies
  configuration: Configuration
  outputs: Outputs
  outcomes: Outcomes
  errors: Errors
---

# Attribute Present Decision node

The Attribute Present Decision node checks whether an attribute is present on an object, including private attributes. There is no need to specify the value of the attribute.

Use this node during an update password flow to check whether the local account has a password, for example.

This node is similar to the [Attribute Value Decision node](attribute-value-decision.html) when that node is set to use the `PRESENT` operator, except it can't return the value of the attribute, but can work with private attributes.

## Example

This journey to update a password uses the Attribute Present Decision node to check whether the account has a password:

![Checking whether an account has a password](_images/update-password-journey.png)

The user has already authenticated before beginning this journey:

* The [Get Session Data node](get-session-data.html) stores the `userName` from the session.

* The Attribute Present Decision node checks whether the user object has a password attribute.

* If so, the first [Page node](page.html) with the [Platform Password node](platform-password.html) prompts the user for the current password.

* Otherwise, the [Email Suspend node](email-suspend.html) sends an email to the user and suspends the flow until the user follows the link in the message.

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

* The second [Page node](page.html) with the [Platform Password node](platform-password.html) prompts the user for the new password.

* The [Patch Object node](patch-object.html) updates the user object with the new password.

## Availability

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

1 This functionality requires that you configure AM as part of a [Ping Identity Platform deployment](https://docs.pingidentity.com/platform/8.1/sample-setup/).

## Inputs

This node reads the Identity Attribute from the shared node state. If it can't read the Identity Attribute, it reads the `userName` from the shared node state.

It uses the value to look up the identity object.

## Dependencies

This node depends on the underlying identity service (PingIDM) to look up the user object.

## Configuration

| Property           | Usage                                                                                                                                                                                                                                                                                                                                                   |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Present Attribute  | The attribute whose presence you want to verify in the the underlying identity service (PingIDM) object. This can be an otherwise private attribute, such as `password`.&#xA;&#xA;This field is case-sensitive and must match the the underlying identity service (PingIDM) object attribute. For example, givenName, not givenname.Default: `password` |
| Identity Attribute | The attribute used to identify the managed object in the underlying identity service (PingIDM).Default: `userName`                                                                                                                                                                                                                                      |

## Outputs

This node doesn't change the shared state.

## Outcomes

* `True`

  The node found the attribute in the managed identity object.

* `False`

  Any other case.

## Errors

This node doesn't log any error or warning messages of its own.
