---
title: Attribute Collector node
description: The Attribute Collector node collects the values of attributes for use later in the flow; for example, to populate a new account during registration.
component: auth-node-ref
version: latest
page_id: auth-node-ref::attribute-collector
canonical_url: https://docs.pingidentity.com/auth-node-ref/latest/attribute-collector.html
keywords: ["Nodes &amp; Trees", "Journeys", "Authentication", "Schema", "Policy", "Custom Attributes"]
page_aliases: ["auth-node-attribute-collector.adoc"]
superseded_by: https://docs.pingidentity.com/auth-node-ref/latest/attribute-collector.html
section_ids:
  example: Example
  add_date_and_datetime_fields_to_a_journey: Add date and datetime fields to a journey
  date-formatting-policies: Apply formatting and policies
  availability: Availability
  inputs: Inputs
  dependencies: Dependencies
  configuration: Configuration
  outputs: Outputs
  outcomes: Outcomes
  errors: Errors
---

# Attribute Collector node

The Attribute Collector node collects the values of attributes for use later in the flow; for example, to populate a new account during registration.

This node supports three types of attributes:\
`string`\
`boolean`\
`number`

To request a value, the attribute must be present and viewable in the identity schema for the current identity object.

|   |                                                                                                                                                                      |
| - | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | You can find more information in [Advanced Identity Cloud identity schema](https://docs.pingidentity.com/pingoneaic/identities/identity-cloud-identity-schema.html). |

The node lets you configure whether the attributes are required to continue and whether to use a policy filter of the underlying identity service (PingIDM) to validate them.

Use the node alone or within a [Page node](page.html).

## Example

### Add date and datetime fields to a journey

The Attribute Collector node lets you add properties (attributes) that follow a date or datetime (date and time of day). The format of the date comes from the locale set in your browser.

The following table displays the differences between date and datetime:

| Display format | Managed object field format                                   | Notes                                                                                                                                                                                                                                                                                                                                                                                           |
| -------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Date only      | String formatExample: `frIndexedString1`                      | The format of the date comes from the locale set in your browser.For example, if the locale is English, then the format presented to the end user is `MM-DD-YYYY`. If the local is French, the format is `DD-MM-YYYY`.                                                                                                                                                                          |
| Date and time  | String format (date and time of day)Example: `frIndexedDate1` | The format of the date comes from the locale set in your browser.For example, if the locale is English (United States), the format presented to the end user is `MM-DD-YYYY`. If the locale is French, the format is `DD-MM-YYYY`.&#xA;&#xA;You can only use the date general purpose extension attributes for datetime. Don't attempt to use the indexed date properties with the date format. |

|   |                                                                                                                                                                                                                        |
| - | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | The rendering of the date to the end user changes, depending on the locale set in the browser. However, the server *stores* the date value in UTC format as `YYYY-MM-DDHH:MM:SS`. For example, `2023-09-13T08:01:00Z`. |

To render the date or datetime UI element to an end user with the Attribute Collector node, you must do the following:

1. Specify the property to use as date or datetime:

   * [General purpose extension attributes](https://docs.pingidentity.com/pingoneaic/identities/identity-cloud-identity-schema.html#use-general-purpose-extension-attributes) — Recommended. Use OOTB indexed attributes:

     * Use the `Date` indexed properties, such as `frIndexedDate` for datetime *only*. Don't use it as a date property.

     * Use `String` data types.

   * [Create your own custom attributes](https://docs.pingidentity.com/pingoneaic/identities/identity-cloud-identity-schema.html#create-custom-attributes) — Create custom attributes, prefixed with `custom_`.

2. Apply [formatting and policies](#date-formatting-policies) to the property in the IDM admin UI for `Date` or `Datetime`.

### Apply formatting and policies

1. In the Advanced Identity Cloud admin UI, go to Native Consoles > Identity Management.

2. Select Configure > Managed Objects > *object-type*, for example, User or Alpha\_user.

3. Select the property to use.

4. To select the format of the attribute, on the Details tab, click the Format field, and select one of the following:

   * For date property — `Date`

   * For datetime property — `Datetime`

5. Click Save.

6. On the Validation tab, click + Add Policy.

7. In the Policy Id field, enter one of the following:

   * For date property — `valid-formatted-date`

   * For datetime property — `valid-datetime`

   Find more information in [Apply policies to managed objects](https://docs.pingidentity.com/pingoneaic/idm-objects/configuring-default-policy.html).

8. Click Add.

9. In your journey, in the Attribute Collector node, add the property name to the Attributes to Collect field.

   Advanced Identity Cloud provides the following properties:

   * For date property — `frIndexedString1`

   * For datetime property — `frIndexedDate1`

For an in-depth use case, add the `date` or `datetime` property to an Attribute Collector node in a registration flow.

The following video shows an example of a journey collecting the datetime from an end user using the Attribute Collector node:

**Video (Video)**

<\_images/mp4/attribute-collector-datetime.mp4>

## 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

For validation, this node reads the Identity Attribute (default: `userName`) from the shared node state. It uses the value to look up the identity object.

It prompts the user for the attributes to collect.

## Dependencies

This node depends on the underlying identity service (PingIDM) to store the user profile and perform validation.

## Configuration

| Property                | Usage                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Attributes to Collect   | A list of the attributes to collect based on those in the identity schema (PingIDM schema) for the current identity object.Default: none                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| All Attributes Required | When enabled, all attributes collected in this node are required in order to continue.Default: false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Validate Input          | When enabled, validate the content against any policies specified in the identity schema (IDM schema) for each collected attribute.Learn more in [Use policies to validate data](https://docs.pingidentity.com/pingoneaic/idm-objects/policies.html#scripting-api-node-nodeState).If you enable this property, the collected identity attributes must be *User Editable*. To make an attribute user-editable in the IDM admin UI:1) Go to Configure > Managed Objects > *object-name*.

2) Click the pencil ([icon: pencil-alt, set=fa]) icon, then click Show advanced options.

3) Select the User Editable toggle.Learn more in [Property configuration properties](https://docs.pingidentity.com/pingoneaic/idm-objects/appendix-managed-objects.html#managed-object-property-config-properties).Default: false |
| Identity Attribute      | The attribute used to identify the managed object in the underlying identity service (PingIDM).Default: `userName`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

## Outputs

The node writes the attributes and their values to the shared node state.

## Outcomes

Single outcome path; on success, downstream nodes can read the attributes from the shared node state.

## Errors

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