> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# File output tabular format extension workflow test

> Learn how to test a file output tabular format extension from a Maestro workflow.

This procedure explains how to set up and execute a [functional test](/extension-apps/build-an-extension-app/test/functional-tests) that invokes a [File output tabular format](/extension-apps/extension-apps-101/supported-extensions/file-output-tabular-format)  extension from a [workflow](https://support.docusign.com/s/document-item?bundleId=yff1696971835267\&topicId=dnx1696972415150.html). For this test, you configure and run a workflow that collects user data from a web form and writes the form values to an existing spreadsheet stored in a cloud storage system.

The high-level steps to create and run this test are:

* [Step 1. Identify or create a web form configuration](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#step-1-identify-or-create-a-web-form-configuration)
* [Step 2. Create and publish the workflow](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#step-2-create-and-publish-the-workflow)
* [Step 3. Execute a workflow instance](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#step-3-execute-a-workflow-instance)

This is just one of many possible approaches to setting up a workflow. For additional options, see the [workflow user documentation](https://support.docusign.com/s/document-item?bundleId=yff1696971835267\&topicId=dnx1696972415150.html).

> **Warning**
>
> Make sure that you’ve completed all the requirements listed for functional tests in [Test prerequisites](/extension-apps/build-an-extension-app/test#test-prerequisites).

## Step 1. Identify or create a web form configuration

Before you create a workflow, make sure that you have a stand-alone [web form](https://support.docusign.com/s/document-item?bundleId=gmi1660583110357\&topicId=brp1660583998599.html) in your account that can be used in a web form step in the workflow. This form collects data in the workflow, which is then exported to a spreadsheet.

## Step 2. Create and publish the workflow

To create a workflow that tests a file output tabular format extension:

1. Log in to the [Workflow Designer](https://apps-d.docusign.com/send/workflows/).
2. Follow the steps in [Create a Basic Workflow](https://support.docusign.com/s/document-item?bundleId=yff1696971835267\&topicId=uhm1697826856678.html) to create and save a workflow. When prompted, select the option to start from a blank canvas instead of a template. Your workflow should include:

   * The workflow [start method](https://support.docusign.com/s/document-item?language=en_US\&bundleId=yff1696971835267\&topicId=ztb1727892686033.html): **From within Workflow Builder**.
   * A participant: The participant fills out the web form with values that will be written to a spreadsheet. See [Workflow participant](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#workflow-participant) for configuration guidelines.
   * A web form step: This step displays a web form to collect the participant’s data. See [Web form step](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#web-form-step) for configuration guidelines.
   * A step that invokes your extension app: This step writes the values entered in the web form to a spreadsheet. See [File output tabular format extension step](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#file-output-tabular-format-extension-step) for configuration guidelines.
   * A confirmation step: This step displays a message confirming that all workflow steps are complete. See [Show a Confirmation Screen step](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#show-a-confirmation-screen-step) for configuration guidelines.
3. Complete the steps in [Review and Publish a Workflow](https://support.docusign.com/s/document-item?language=en_US\&bundleId=yff1696971835267\&topicId=iqm1698272226447.html). Then you can [execute instances of the workflow](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#step-3-execute-a-workflow-instance) to test your extension app.

### Workflow participant

Although a workflow can have multiple participants, you only need a single participant for a workflow that invokes a file output tabular format extension. See [Define Workflow Participants](https://support.docusign.com/s/document-item?bundleId=yff1696971835267\&topicId=ypt1698264964168.html) for details on configuring a participant. The participant role name you enter will be displayed on configuration screens for workflow steps that require selection of a participant.

### Web form step

The first step in your workflow should be a **Collect Data with Web Forms** step. This step collects participant information in a form. See [Configure a Collect Data with Web Forms Step](https://support.docusign.com/s/document-item?bundleId=yff1696971835267\&topicId=gua1698120920620.html) for more information on how to add this type of step.

When you add this step, configure the settings as follows:

| Setting                            | Value                                                                                                                                                                                                                                                                                                                                                                  |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Which form would you like to use?  | Select the web form that you created for the workflow test, or an existing web form that you've identified for use with the test. See [Step 1. Identify or create a web form configuration](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#step-1-identify-or-create-a-web-form-configuration) for more information. |
| Who will participate in this step? | Select the workflow participant that you defined for this test.                                                                                                                                                                                                                                                                                                        |
| Map data fields                    | Optional. This enables you to populate fields in the web form with values from the workflow. For this test, this isn’t necessary.                                                                                                                                                                                                                                      |

![A screenshot of a web form step configuration in a Maestro workflow](/_fern-files/_img/62080303a1a928b9770fe01dd2d3a4236f55ff34080f2f07c180d5fd586e439f.webp)

### File output tabular format extension step

This step will invoke your extension app.

To add this step, select the extension thatʼs defined in your extension app registration. The **Add New Step** panel's **Apps** tab displays the values from the [extensions.name](/extension-apps/extension-app-reference/app-manifest-reference/extension) and [extensions.description](/extension-apps/extension-app-reference/app-manifest-reference/extension) properties in the app manifest.

![A screenshot of the menu when adding a file output tabular format step to a workflow](/_fern-files/_img/f8677a777cae1040d7a23d7c3367835114bc2402ca964e560535b3846e47df37.webp)

**Note:** The step for your extension will not appear on the **Apps** tab if the extension app is not [installed and connected](https://support.docusign.com/s/document-item?bundleId=ous1698169987748\&topicId=ctg1698170340729.html) to your account.

When you configure this step, the following capabilities will be invoked if they are implemented in the extension app [registration](/extension-apps/build-an-extension-app/register):

* [List Drives](/extension-apps/extension-app-reference/extension-contracts/file-output-tabular-format#list-drives): Enables the step configuration page to retrieve a list of drives (or similar structures that contain files) on the cloud storage system. If the app registration does not include this capability, the UI will not display the drive selection control.
* [List Directory Contents](/extension-apps/extension-app-reference/extension-contracts/file-output-cloud-storage#list-directory-contents): Enables the step configuration page to retrieve a list of folders and tabular files from the selected drive (or similar container type) or directory. If the app registration does not include this capability, the UI will not display file selection controls.
* [List Headers](/extension-apps/extension-app-reference/extension-contracts/file-output-tabular-format#list-headers): Enables the step configuration page to check the column headers in the destination sheet against the selected variables and ensure that there will be no data corruption.

When you [execute an instance](https://docs.google.com/document/d/1FNfkIJqtI6M61AWvYrwuB43g0tiTipaFxWtBFPHXMS8/edit?tab=t.0#heading=h.w84lmgkmqc7o) of the workflow, this step invokes the Export to Destination action defined in the extension app registration.

When you add this step, configure the settings as follows:

| Setting                                       | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Choose where you'd like the file to be stored | **Select connection**: Select the default connection. \*\*Select drive:\*\*This setting appears only if the extension app registration includes the **List Drive** capability. Select the destination drive (or similar container type) on the cloud storage system.**Select file**: This setting appears only if the extension app registration includes the **List Directory Contents** capability. Choose the file where the values will be written. |
| What variables should we export?              | Select **Add variables** to choose the variables from the workflow that you want to export. The variables will be checked against the number of columns returned from the **List Headers** action to prevent data corruption. If the number of variables selected exceeds the number of columns, the excess variables' values will be written to new columns in the spreadsheet.                                                                        |

![A screenshot of the file output tabular format step configuration](/_fern-files/_img/36199698f1a17d85455e3bddf20e6660f1259c411ce0153d1ddcd210b97cf396.webp)

### Show a confirmation screen step

The last step in your workflow should be a **Show a Confirmation Screen** step, which displays a message to indicate that the workflow is complete. A procedure for adding this type of step appears in [Configure a Show a Confirmation Screen Step ](https://support.docusign.com/s/document-item?bundleId=yff1696971835267\&topicId=rpc1698682081448.html&_gl=1*12hqdx0*_gcl_au*MTIyNDAzOTI2Mi4xNzUwNjk3MTM1LjEyMzYzMjA5MjMuMTc1NTU0OTQwOS4xNzU1NTQ5NTUz).

When you add this step, configure the settings as follows:

| Setting                           | Value                                                                                                                                                                                                   |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Participant who will see messages | Select the role name you entered when you configured the [Workflow participant](/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow#workflow-participant). |
| Message type                      | End of participant's tasks                                                                                                                                                                              |
| Message title                     | Keep the default value                                                                                                                                                                                  |
| Message body                      | Keep the default value                                                                                                                                                                                  |

![A screenshot of the configuration screen for a confirmation screen step](/_fern-files/_img/4cab6d554fe04c446f147751cd6da83a8b8148618ff378767d302f004532b136.webp)

## Step 3. Execute a workflow instance

After you publish your test workflow, you can execute a workflow instance, follow the steps as a customer would, and verify that the correct spreadsheet is successfully updated with the values of the expected variables. You can [monitor the progress](https://support.docusign.com/s/document-item?bundleId=yff1696971835267\&topicId=vcp1698707326210.html) of the workflow instance as it executes.

To execute a workflow instance:

1. Follow the steps in the **From Within Workflow Builder** section of [How to Start a Workflow](https://support.docusign.com/s/document-item?bundleId=yff1696971835267\&topicId=glx1730400747416.html) to execute a workflow instance.

   The web form is displayed in your browser.
2. Fill out and submit the web form.

   The file output step is executed and the confirmation page is displayed.
3. Check the cloud storage file to which the external service writes data and confirm that the file output step succeeded.

> **Warning**
>
> If your extension is not invoked successfully, run the Developer Console [connection and extension tests](/extension-apps/build-an-extension-app/test/integration-tests) for the extension app to get detailed error messages and troubleshoot.

## Next steps

* Find out more about [functional tests](/extension-apps/build-an-extension-app/test/functional-tests).
* Review the [File output tabular format extension contract reference](/extension-apps/extension-app-reference/extension-contracts/file-output-tabular-format).
* Learn how to run [integration tests](/extension-apps/build-an-extension-app/test/integration-tests).