---
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
nav: wcp_docs
parent_url: /wcp_docs/
title: Add Pods
layout: subsection
---

### Prerequisites

<a id="prereq_N10021_N1001E_N10001"></a>
-   [Create Extend Apps Using App Builder](/wcp_docs/xer1651695264256.html)
-   Analysis of your app design or implementation to identify common widgets or logic duplicated in multiple PMDs. Determine how you can use parameters to pass dynamic values from multiple PMDs to a single pod template definition.


### Context

<a id="context_N10035_N1001E_N10001"></a>
A pod contains reusable PMD tags, which you can invoke from multiple pages. A pod is a `.pod` file in the <b>Page Configurations</b> &gt; <b>Reusable Pods</b> section of an app. Pods are useful for implementing a common look and feel across the pages in your app. Example: You can use a pod to define a single footer for all your app pages. You can also modularize a piece of logic into a pod and then reference it wherever it's appropriate in your app. The reusability of pods eases the maintenance of your app code. Instead of updating the same code in multiple pages, you only need to update the code in a single pod.

<b>Note:</b> The `.pod` file has a maximum file size of 100 KB.

### Steps

1.  <a id="step_N10096_N10092_N10056_N10001"></a>In App Builder, add a <b>Reusable Pod</b> component.
2.  <a id="step_N1006E_N1003C_N1001E_N10001"></a>Enter a unique name for your pod.

    The name you enter becomes the `podId`.

3.  <a id="step_N10077_N1003C_N1001E_N10001"></a>Open the newly created pod file, and edit the `parameters` and `template` attributes of the seed.

    `seed` attributes:

    -   `parameters`: An array of 1 or more parameters used in the pod template. The PMD that invokes this pod passes the parameter values to the pod.

        If the template doesn't contain parameters, omit `parameters`.

    -   `template`: Defines the reusable widget tags, which can contain parameters.

        To embed parameters in the template, use the notation `@@parameterName@@`. This sample pod uses a template with a parameter:

        ```
        {
          "podId": "simpleTextPod",
          "seed": {
            "parameters": [
              "message"
            ],
            "template": {
              "type": "text",
              "value": "@@message@@"
            }
          }
        }
        ```


4.  <a id="step_N100BB_N1003C_N1001E_N10001"></a>Edit the PMD from which you want to invoke the pod.
5.  <a id="step_N100C4_N1003C_N1001E_N10001"></a>Find the appropriate location in the `presentation` section.
6.  <a id="step_N100F5_N1003C_N1001E_N10001"></a>Insert the `pod` tag with the `podId` of the pod to invoke. If the pod replaces an existing piece of code, remove the duplicate code.

    `pod` attributes:

    -   `podId`: The ID of the pod you want to invoke.
    -   `parameters`: A map of 1 or more parameter name/value pairs that the PMD passes to the pod.

        If the template doesn't contain parameters, omit `parameters`.

        This sample `pod` tag in a PMD invokes `simpleTextPod` with a parameter value.

        ```
        {
         {
          "type": "pod",
          "podId": "simpleTextPod",
          "parameters": {
             "message": "Hello world!"
          }
        }
        ```




### Result

<a id="result_N1010A_N1001E_N10001"></a>
Presentation Components replace the `pod` tag with the content of the pod template. At runtime, if the pod template has parameters, Presentation Components evaluate how the PMD passes the parameters and populate them with the actual values.

### Next Steps

<a id="postreq_N10111_N1001E_N10001"></a>
Validate your updates, and redeploy your app to the Development tenant to test.

### Related Information

[Reference: PMD Pods](/wcp_docs/kvp1525818876970.html)

