---
category: [Administration & Integrations, Platform and Product Extensions, Platform and Product Extensions/Integration, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
keyword: [Extend, Presentation Components, widgets, tags, UI components]
nav: wcp_docs
parent_url: /wcp_docs/
title: hidden
layout: subsection
wd_wcptag: hidden
---

<a id="section_N10021_N1001E_N10001"></a>
A hidden tag on the page, which is similar to a hidden form element in HTML.

<a id="section_xz1_wjc_ccb"></a>
You can use `hidden` to store computed values temporarily for dynamic bindings on the page. You can also use it to send values to the next page in a flow using its `valueOutBinding` or `valuesOut` attribute.

<b>Note:</b> With PMD Scripting, instead of using the `hidden` tag:

-   To store temporary values on a page, you can add custom variables to the `pageVariables` predefined app variable.
-   To send values to an outbound endpoint, you can use the `onSend` event handler.


Use `hidden` on edit pages.

The `hidden` widget value accepts the data type of its assigned value.

To use the `hidden` tag in a grid `column`, you must wrap the `hidden` tag inside a container, such as a `section` tag. See the <b>Adding Hidden Values to a Column</b> section of [Concept: grid](/wcp_docs/tgx1652476064414.html) for details. Example:

```
{
  "type": "column",
  "columnId": "columnId",
  "label": "Label",
  "cellTemplate": {
    "type": "section",
    "children": [
      { 
        "type": "hidden", 
        "id": "hiddenId",
        "value": "ABC" 
      }
    ]
  }
}
```

## <a id="section_ns1_plm_xpb"></a>Example

This `hidden` tag saves and hides an ID, which the page sends to the `requisition` outbound endpoint.

```
{
  "type": "hidden",
  "id": "hiddenTagId",
  "value": "<% queryParams.id %>",
  "valueOutBinding": "requisition.requester.id"
}
```

## <a id="section_lg4_v1g_khb"></a>Mobile Support

Android, iOS

## <a id="section_attributes"></a>Attributes

-   <b>id</b>

    Data type: binding-String

    Unique identifier used to reference this widget from other tags.

    Notes:

    -   The `id` must start with a letter.
    -   The `id` must be unique per page.
    -   To enable other widgets to reference this widget `id`, place this widget before the other widgets on the PMD. The PMD validation returns an "Undefined variable" error if it doesn't find a previously defined `id` in the PMD.
    -   Workday recommends that you include the `id` in your tag definitions for debugging purposes.

-   <b>render</b>

    Data type: binding-Boolean

    If true, this tag renders as a widget on the page. If false, the loaded page doesn't add this tag or its children. The default is true.

    Unlike the `visible` attribute, when `render` is false, other tags on the page can't reference this tag or widget on edit pages. On view pages, a tag can't reference other tags regardless of the `render` attribute value.

-   <b>value</b>

    Data type: dynamicBinding-String

    The displayed value when the page renders. Users can change this value on edit pages.

    Example: You can set the `value` attribute to a value from an inbound endpoint, script, or any app variable (such as <i>queryParams.someVariable</i>). The page displays the initial value when the page loads. When the user changes this value on an edit page, it sends the `value` with `valueOutBinding` as the JSON field binding in the outbound request payload.

    <b>Note:</b> If you're using `valuesOut` instead of `valueOutBinding` as a root-level attribute, the root-level `value` is the inbound value for the page load while the `value` in `valuesOut` corresponds to the outbound value sent with the `valueOutBinding`.

-   <b>valueOutBinding</b>

    Data type: dynamicBinding-String

    A binding to the JSON field that stores the widget value in the outbound request payload.

    If you want to send an array of JSON values to the outbound endpoint, specify the path using this pattern: `anEndpointName.[].aJsonFieldName`.

    Example: To send this array to the sample outbound endpoint:

    ```
    [{"memo":"First memo"}, {"memo":"Second memo"}]
    ```

    Specify this `valueOutBinding`:

    ```
    "valueOutBinding" : "expensesPostEndpoint.[].memo"
    ```

    <b>Note:</b> If the `visible` attribute is false for this widget on an edit page, the outbound endpoint doesn't include the widget's `valueOutBinding` data in the outbound payload. To include the `valueOutBinding` data in the payload, use the `onSend` event handler.

-   <b>valuesOut</b>

    Data type: list of outValue objects

    An array of values and their bindings to JSON fields in the outbound request payload.

    An array item consists of these attributes:

    -   `value` - An object binding of the value to include in the outbound JSON.
    -   `valueOutBinding` - A string binding of the JSON field that contains the value in the request payload. We send the request payload with the outbound endpoint when the user submits the page.

    You can use `valuesOut[]` to:

    -   Send a single piece of data to multiple outbound fields or endpoints. Example: A street address persisting to a Billing Address field and a Shipping Address field or different endpoints.
    -   Apply a function to the outbound value when persisting the data. Example: Convert a date to a specific format or convert a list to a string.

    In this example, the value of the `country` widget is sent to 2 different outbound fields `shippingAddress.country` and `billingAddress.country`.

    ```
    "valuesOut": [
    {
      "value": "<% country.value[0] %>",
      "valueOutBinding": "anOutboundEndpoint.shippingAddress.country.id"
    },
    {
      "value": "<% country.value[0] %>",
      "valueOutBinding": "anOutboundEndpoint.billingAddress.country.id"
    }
    ]
    ```

    This example uses PMD functions to extract the year and month from date values, and sends them separately to the outbound endpoint:

    ```
    "valuesOut": [
    {
      "value": "<% date:month(date1.value) %>",
      "valueOutBinding": "anOutboundEndpoint.dateMonth"
    },
    {
      "value": "<% string:toString(date:year(panelList1Date1.value)) %>",
      "valueOutBinding": "anOutboundEndpoint.dateYear"
    }
    ]
    ```

    <b>Note:</b> If the `visible` attribute is false for this widget on an edit page, the outbound endpoint doesn't include the widget's `valuesOut` data in the outbound payload. To include the `valuesOut` data in the payload, use the `onSend` event handler.



## <a id="section_pmdScriptingMethods"></a>PMD Scripting Methods

-   <b>getValue()</b>

    Return type: `Object`

    Description: Returns the value of this widget.

-   <b>getValueOutBinding()</b>

    Return type: `string`

    Description: Returns the outbound value binding of this widget.

-   <b>setValue(Object value)</b>

    Return type: `void`

    Description: Sets the value of this widget.

-   <b>setValueOutBinding(String valueOutBinding)</b>

    Return type: `void`

    Description: Sets the outbound value binding to this widget.



### Related Information

[Concept: PMD Scripting](/wcp_docs/oli1581402304020.html)

[Reference: Predefined App Variables](/wcp_docs/urd1528494500512.html)

