Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.prisme.ai/llms.txt

Use this file to discover all available pages before exploring further.

WebDAV The WebDAV app provides read/write access to any WebDAV-compatible file server — Nextcloud, ownCloud, a generic Apache mod_dav instance or any vendor-specific WebDAV endpoint. It can be used either as a Builder app (automations call WebDAV instructions directly) or as a remote MCP server consumed by an AI agent. Authentication supports HTTP Basic (username + password) and Bearer token. An optional allowedPath restricts every operation to a subtree of the server. The connector exposes a single files tool that dispatches across 10 file/directory operations: listing, reading, writing, copying, moving, deleting, recursive search, full directory trees and directory creation.

Browse

List directories, fetch metadata, walk full nested trees, search by name and modification date

Read & Write

Download file content, upload or overwrite files with a custom MIME type, create directories

Organize

Move, rename, copy or delete files and directories — with optional overwrite-on-target

Prerequisites

  • A reachable WebDAV server with a stable base URL. Examples:
    • Nextcloud / ownCloudhttps://cloud.example.com/remote.php/dav/files/<username>
    • Generic Apache mod_davhttps://files.example.com/dav
    • Vendor-specific — refer to the provider’s documentation for the WebDAV endpoint
  • Credentials matching the chosen authentication mode:
    • Basic — a username + password (often an app password if the provider supports 2FA, e.g. Nextcloud)
    • Token — a Bearer token issued by the provider
  • (Optional) An allowed path to restrict every operation to a single subtree — useful when the WebDAV user has access to more than you want to expose.
When using basic auth against a Nextcloud or ownCloud instance with two-factor authentication enabled, create a dedicated app password in the user settings (Security → Devices & sessions → Create new app password) and use it as the password. The main account password will be rejected.

Installation

  1. Go to Apps in your workspace
  2. Search for WebDAV and install it
  3. Open the app instance configuration and fill in the required fields

Configuration

FieldDescription
WebDAV Base URLWebDAV server base URL — e.g. https://cloud.example.com/remote.php/dav/files/user. All paths in tool calls are resolved relative to this URL
Authentication Typebasic for username/password, token for Bearer token
UsernameUsername for Basic Auth (ignored in token mode)
PasswordPassword (or app password) for Basic Auth (stored as a workspace secret)
Bearer TokenBearer token for token mode (stored as a workspace secret)
Allowed path (optional)If set, every file operation is rejected when the resolved path falls outside this subtree. Leave empty to expose the full base URL
MCP EndpointAuto-populated on install — URL of the MCP endpoint for this instance
MCP API KeyAuto-populated on install — signed key used in the mcp-api-key header. Do not modify
MCP Endpoint and MCP API Key are generated automatically by the onInstall flow. The Basic / Bearer credentials are stored as workspace secrets.

Available Instructions

Every instruction resolves credentials from the workspace configuration. All paths are interpreted relative to the baseUrl; leading / is allowed but optional.

Files & Directories

InstructionArguments
listFilespath, depth
getFilepath*
getFilePropertiespath*
uploadFilepath, content, contentType
deleteFilepath*
moveFilesourcePath, destinationPath, overwrite
copyFilesourcePath, destinationPath, overwrite
getDirectoryTreepath*
searchFilespath, dateFrom, dateTo, query, page, pageSize, sortOrder
createDirectorypath*
Arguments flagged with * are required. depth accepts 0 (path info only) or 1 (immediate children, default). deleteFile deletes directories recursively.

DSUL Examples

List the contents of a folder

- WebDAV.files:
    action: list
    path: '/Documents'
    depth: 1
    output: listing

Download a file and decode its content

- WebDAV.files:
    action: get
    path: '/Reports/2026/q1-results.md'
    output: report
- emit:
    event: report.fetched
    payload:
      size: '{{report.size}}'
      excerpt: '{% slice({{report.content}}, 0, 500) %}'

Upload a generated PDF

- WebDAV.files:
    action: upload
    path: '/Generated/{{run.date}}-summary.md'
    content: |
      # Daily summary
      
      {{summary.body}}
    contentType: 'text/markdown'

Move yesterday’s exports to an archive folder

- WebDAV.files:
    action: move
    sourcePath: '/Exports/{{yesterday}}.csv'
    destinationPath: '/Archive/{{yesterday}}.csv'
    overwrite: false

Search for recent reports by name

- WebDAV.files:
    action: search
    path: '/Reports'
    query: 'q2'
    dateFrom: '2026-04-01T00:00:00Z'
    dateTo: '2026-07-01T00:00:00Z'
    sortOrder: desc
    pageSize: 25
    output: matches

Walk a full directory tree

- WebDAV.files:
    action: getTree
    path: '/Projects/Acme'
    output: tree

Error Handling

WebDAV uses standard HTTP status codes plus a handful of WebDAV-specific ones (RFC 4918).
HTTP StatusMeaningTypical Cause
400Bad RequestMalformed path, invalid depth, missing required parameter
401UnauthorizedWrong username / password, expired or revoked Bearer token
403ForbiddenThe configured user does not have the WebDAV permission required for the operation, or the path falls outside allowedPath
404Not FoundThe path does not exist on the server
405Method Not AllowedCalling a method (e.g. MKCOL) on a path that already exists
409ConflictcreateDirectory called on a path whose parent does not exist (MKCOL parent missing)
412Precondition Failedmove/copy with overwrite: false but the destination already exists
423LockedAnother client holds a WebDAV lock on the resource — retry later
429Rate LimitedProvider throttling (Nextcloud rate limits, reverse-proxy WAF)
507Insufficient StorageThe user is over quota on the provider
500 / 502 / 503Server ErrorTransient error from the upstream server or proxy. Retry with exponential backoff

Common Issues

“Not configured” — The app instance is missing either baseUrl or the credentials for the chosen type (Basic or token). Fill in the configuration. “Invalid API key” (MCP) — The mcp-api-key header does not match the central app secret. Reinstall the app instance to regenerate a signed key. “Credentials lookup failed” — The MCP endpoint could not reach the getConfig webhook of the installed app. Verify that the app instance is still installed in the expected workspace. Nextcloud / ownCloud 401 with the right password — Two-factor authentication on the account requires an app password. Create one in Security → Devices & sessions and use it as the password. “Path outside allowed subtree” (403) — The resolved path is not under the configured allowedPath. Either widen the allow-list or rewrite the call to a path within it. getTree times out on a large folder — Prefer list with depth: 1 and recurse from the client, or use search with dateFrom/dateTo to scope the request. upload with binary content fails — The content parameter is a string. For binary payloads, stage the file elsewhere (a previously uploaded file in WebDAV, a public URL, etc.) and use copy or an out-of-band upload. The MCP server does not currently accept base64-encoded content. Trailing slashes — Some WebDAV servers are strict about trailing slashes on directories. If a directory listing returns 404, retry with a trailing /.

External Resources

WebDAV (RFC 4918)

Official WebDAV protocol specification

Tool Agents

Build AI agents that call MCP tools dynamically