> For the complete documentation index, see [llms.txt](https://docs.contextual.io/documentation-and-resources/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.contextual.io/documentation-and-resources/components-and-data/flows/node-reference/stream/list-cloud.md).

# List Cloud

Lists the files held in a connected cloud storage location.

**List Cloud** enumerates what is stored at a given location and returns a description of each file, so a Flow can discover what is available before reading, processing, or removing it.

Use a **List Cloud** node in your Flow to find files without knowing their names in advance — collecting everything dropped into an import folder, checking whether an expected export has arrived, or confirming that a *Write Cloud* or *Delete Cloud* operation had the intended effect.

List Cloud returns metadata about files, not their contents. To retrieve what is inside a file, use a *Read Cloud* node.

List Cloud does not open a source stream and does not require *Sink Collect*. It works in an ordinary row.

To configure a **List Cloud** node in the *Flow Editor*, drag it from the **Stream** group in the Palette to the Workspace canvas, then double-click the node to open and configure its behavior.

## General tab

* **Name** — optional display name for the node in the editor. By default the node shows a label of "List Cloud"; the value you provide here replaces it.
* **Config** — the tenant configuration. Defaults to the current tenant.
* **Connection** — the storage connection to list. Selected from the connections configured for the tenant. Required.
* **Remote Path** — the location to list. Set this to the container name, for example `test`. Required.
* **Output** — where the result is written. Defaults to `msg.payload`.

## What the node returns

**Output** receives an array of entries. Available metadata depends on the connection:

* **Azure Blob** — `path`, `size`, and any timestamps or content headers returned by Azure.
* **AWS S3** — `path`, `size`, and `updatedAt`; `contentMD5` is included when the ETag represents a simple MD5.
* **SFTP** — `path`, `size`, and `updatedAt`.

`contentType` is derived from the file extension. `size` is in bytes. The remaining header properties are empty unless they were set when the file was written.

`updatedAt` records the provider's last-modified time. Azure Blob listings may also include `createdAt`; AWS S3 and SFTP listings do not.

For AWS S3 and Azure Blob, `path` is relative to the bucket or container. If the connection already specifies that bucket or container, pass the returned `path` directly to *Read Cloud* or *Delete Cloud*; otherwise, prepend it. For SFTP, prepend the directory supplied as **Remote Path**.

`updatedAt` and `createdAt` are date values. They appear as ISO strings in a JSON response, but are shown as `object` in the Debug panel — a Function node reading them receives Date objects rather than strings.

## Source tab

The **Source** tab controls how the node behaves when it is processing a source stream rather than a single message.

* **Parallelism** can be set to None, Ordered, or Unordered
* **Max** — the concurrency ceiling used by Ordered and Unordered

The tab itself notes: *Configurations in this tab are only active when this node is in a source.* Outside a source stream the node processes a single message, and **Parallelism** and **Max** have no effect.

## Example

A Flow lists the files stored in a container and returns them to the caller.

```
[GET] /list → List Cloud → HTTP Response
```

### Configure the List Cloud node

Set **Connection** to the storage connection and **Remote Path** to the container, for example `test`. Leave **Output** as `msg.payload`.

### Return the result

Add an HTTP Response node.

### Confirm the result

Place a Log node after List Cloud and request `/list`. The Debug panel shows the returned array. For SFTP, the array may include files, directories, and symbolic links.

Listing a location that holds no files returns an empty result rather than an error.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.contextual.io/documentation-and-resources/components-and-data/flows/node-reference/stream/list-cloud.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
