> 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

# Capabilities

> Learn about optional extension app actions that enhance an extension's base functionality.

Capabilities are optional [actions](/extension-apps/extension-apps-101/concepts/actions) that an extension app can implement to provide features in addition to the base functionality of an extension’s required actions. For example, the file output cloud storage extension has one required action: **Write File**, which writes a file to cloud storage. The extension also supports capabilities. One is **List Directory Contents**, which returns a list of folders on the cloud storage system to allow selection of a destination for the **Write File** action.

## Define a capability in the app manifest

If you register an extension app [using an app manifest file](/extension-apps/build-an-extension-app/register/use-manifest), you define capabilities within the manifest file `actions` object. An example capability definition, including the URL of the endpoint to call when the capability is invoked, is shown here. See [Action schema](/extension-apps/extension-app-reference/app-manifest-reference/action) for details about the properties.

```text
"actions": [
  {
    "name": "list-directory-contents",
    "description": "Returns a list of folders on the cloud storage system",
    "template": "FileIO.Version1.ListDirectoryContents",
    "connectionsReference": "authentication",
    "params": {
      "uri": "https://fontara.com/api/listdirectorycontents"
    }
  }
]
```

> **Note**
>
> In addition to defining each capability in the `actions` object, the manifest file must reference the capabilities in the `extensions.actionReferences` and `extensions.capabilities` arrays. See [Extension schema](/extension-apps/extension-app-reference/app-manifest-reference/extension) for details.

## Update capability settings in a form

When registering an extension app [using a form](/extension-apps/build-an-extension-app/register/use-form), you can update each capability’s settings on the [extension app's integration details](/extension-apps/build-an-extension-app/register/use-form/integration-details#access-integrations-details-for-an-extension-app) page.

> **Note**
>
> During the form-based extension app registration process, if you select a [file IO extension](/extension-apps/extension-apps-101/supported-extensions), its required actions are automatically added to the app. You can then configure the actions' endpoint URIs and other properties on the [Integration Details](/extension-apps/build-an-extension-app/register/use-form/integration-details) page. The extension's optional capabilities can be added or removed only by [editing the app manifest file](/extension-apps/build-an-extension-app/update-registration/use-manifest). After you've added capabilities via the manifest file, you can edit them on the Integration Details page. See [Action schema](/extension-apps/extension-app-reference/app-manifest-reference/action) for information about action and capability properties in the app manifest file.

![List Directory Contents capability](/_fern-files/_img/57d44e4d0d6ecc6f94bb4689917ff1ba88634dcf045a2e5e3cea898381542c0a.webp)

## Shared capabilities

An extension app can include multiple [extensions](/extension-apps/extension-apps-101/supported-extensions). If more than one extension supports the same action or capability, that action or capability can be defined only once for the app, and the extensions will share its definition. For example, if an extension app includes both the file input cloud storage and file output cloud storage extensions, the app can have only one definition for the **List Directory Contents** action, and both extensions will use that definition. Docusign does not support multiple versions of the same action or capability in the same extension app.

## Next steps

* Get details about the [app manifest schema](/extension-apps/extension-app-reference/app-manifest-reference/action) for actions and capabilities.
* Learn more about [connections](/extension-apps/extension-apps-101/concepts/connections).
* See [sample app manifest files](/extension-apps/build-an-extension-app/example-use-case) for all supported extensions.