---
title: "How to add instructional text for Scaffolding fields"
canonical: "https://support.appfire.com/space/SUPPORT/1080951134/How%20to%20add%20instructional%20text%20for%20Scaffolding%20fields"
format: markdown
---
When using Scaffolding for Confluence to build forms, often users might be confused on what data should be entered into each field to the fields and having instructional text to guide the users would be beneficial. 

In this KB guide, we are going to showcase how you can add instructional text for Scaffolding fields using the [Hidden Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600014) macro.

> ⚠️ This KB article, only applies to Scaffolding for Confluence **Data Center** (it is not supported on Cloud)

## \uD83D\uDCD8 Instructions

Here are the steps on how to create a form and add instructional text:

1. Create a page or template
2. Add a [Table Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600119) macro and give it a unique name (eg. *requirement-checklist*).
3. Within the [Table Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600119) macro, add an HTML table with 3 columns (eg. *Number, Requirement, Solution*). Add a [Number Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600141) macro and [Text Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600110) macro for each column and name them accordingly.   
To know more on how you can create a dynamic table, please refer to this guide: [https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477598775](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477598775)
4. Add a [Hidden Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600014) macro inside each column and place it above the Scaffolding macros. Edit each [Hidden Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600014) macro and within the field `whenNoRows`, enter the name of the [Table Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600119) (`requirement-checklist`). This way only when the [Table Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600119) has no rows, the [Hidden Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600014) macro will be displayed to end users.
5. Enter your instructional text within the [Hidden Data](https://appfire.atlassian.net/wiki/spaces/SCAFS/pages/477600014) macro body. You can check out some examples in the image below:
6. Now when the end user clicks on the **Edit Contents** button, they will be able to see the instructional text when adding a new row to the table.

> ℹ️ Please make sure to give** **each macro a unique name to avoid conflicts.

Here is the [storage format](https://confluence.atlassian.com/doc/confluence-storage-format-790796544.html) that you can import to your Confluence Data Center:

<details>
<summary>Storage Format</summary>

```html
<ac:structured-macro ac:macro-id="6fb5394d-c52a-48d7-9468-83531221ddd7" ac:name="table-data" ac:schema-version="1">
  <ac:parameter ac:name="name">requirement-checklist</ac:parameter>
  <ac:rich-text-body>
    <table class="wrapped">
      <colgroup>
        <col/>
        <col/>
        <col/>
      </colgroup>
      <tbody>
        <tr>
          <th scope="col">#</th>
          <th scope="col">
            <strong style="text-align: left;">Requirement</strong>
          </th>
          <th scope="col">
            <strong>Solution/Change Component</strong>
          </th>
        </tr>
        <tr>
          <td>
            <div class="content-wrapper">
              <ac:structured-macro ac:macro-id="8d6c5e15-aeb5-4fa7-a693-6ccdf3f68173" ac:name="hidden-data" ac:schema-version="1">
                <ac:parameter ac:name="whenNoRows">requirement-checklist</ac:parameter>
                <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                <ac:rich-text-body>
                  <p>
                    <span style="color: rgb(122,134,154);">
                      <em>Please enter the row number...</em>
                    </span>
                  </p>
                </ac:rich-text-body>
              </ac:structured-macro>
              <ac:structured-macro ac:macro-id="955aa26b-d8e0-44b2-8f6d-22d897c7445f" ac:name="number-data" ac:schema-version="1">
                <ac:parameter ac:name="name">number</ac:parameter>
                <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              </ac:structured-macro>
            </div>
          </td>
          <td>
            <div class="content-wrapper">
              <ac:structured-macro ac:macro-id="cf64063f-1b74-4e37-b420-a3f94b5dac71" ac:name="hidden-data" ac:schema-version="1">
                <ac:parameter ac:name="whenNoRows">requirement-checklist</ac:parameter>
                <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                <ac:rich-text-body>
                  <p>
                    <span style="color: rgb(122,134,154);">
                      <em>Provide data feed to XYZ(application)...</em>
                    </span>
                  </p>
                </ac:rich-text-body>
              </ac:structured-macro>
              <ac:structured-macro ac:macro-id="3c1a73f9-b472-4c4e-a732-d33316ba40f2" ac:name="text-data" ac:schema-version="1">
                <ac:parameter ac:name="name">requirement</ac:parameter>
                <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              </ac:structured-macro>
            </div>
          </td>
          <td>
            <div class="content-wrapper">
              <ac:structured-macro ac:macro-id="10c7a3d3-acd1-44be-8b24-1a5d68145928" ac:name="hidden-data" ac:schema-version="1">
                <ac:parameter ac:name="whenNoRows">requirement-checklist</ac:parameter>
                <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                <ac:rich-text-body>
                  <p>
                    <span style="color: rgb(122,134,154);">
                      <em>Trading Core to provide required data through ABC to XYZ (application)...</em>
                    </span>
                  </p>
                </ac:rich-text-body>
              </ac:structured-macro>
              <ac:structured-macro ac:macro-id="26cdf142-2c1b-4b67-bae4-879f927a0e10" ac:name="text-data" ac:schema-version="1">
                <ac:parameter ac:name="name">solution</ac:parameter>
                <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                <ac:rich-text-body>
                </ac:rich-text-body>
              </ac:structured-macro>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  </ac:rich-text-body>
</ac:structured-macro>
```
</details>

## \uD83D\uDCCB Related articles

> Macro (contentbylabel)