Skip to main content
Server path: /filestorage | Type: Embedded | PCID required: No

Tools

ToolDescription
filestorage_list_collectionsList all available filestorage collections. This is a tool that is used to get the collection ID for the other filestorage tools.
filestorage_create_collectionCreate a new file storage collection for storing files. Returns { id, name, type } - use the “id” field as collectionId for subsequent operations like uploading files.
filestorage_create_file_from_contentCreate or replace a document in file storage with text content. This operation will overwrite existing files with the same filename by default. Returns file metadata including id, file_size, mime_type, and metadata. Agents: to share the created file, call filestorage_create_sharelink afterward — avoid requesting file_url as it bloats context with storage credentials. Workflows: set returnFileUrl=true to include the file_url in the response for convenient downstream use. Needs an EXISTING collection ID (not a name).
filestorage_get_itemRetrieve file metadata and optionally content from file storage. IMPORTANT: When a user asks to ‘get a file’, ‘share a file’, or ‘send me a file’, do NOT use this tool — use filestorage_create_sharelink instead, which returns a clean shareable URL (works for both public and private files). Only use this tool when you need to: (1) read the actual file contents for processing/analysis (set getFileContents=true), or (2) check file metadata (size, type, dates). Agents: avoid requesting the signedUrl as it is very long and bloats context — use filestorage_create_sharelink instead. Workflows: set returnSignedUrl=true when the URL is needed by downstream steps.
filestorage_update_itemAppend content to existing text files or update metadata and link expiration settings. For text files (JSON, TXT, HTML, CSV): provide content to append. For binary files (PNG, JPG, PDF, etc.): omit content and only update metadata/expiration settings without resending file content. Can also be used to make files public or update link expiry. Agents: to share a file after update, use filestorage_create_sharelink. Workflows: set returnFileUrl=true to include the file_url in the response.
filestorage_delete_itemDelete a file from file storage. Permanently removes the file and all associated metadata. This operation cannot be undone. Supports both filename-based deletion and itemId-based deletion. Needs an EXISTING collection ID (not a name).
filestorage_list_itemsList files in a file storage collection. Returns file metadata for browsing — no signed URLs or storage credentials are included. Recommended workflow: (1) list files to browse available files, (2) to read a specific file’s content use filestorage_get_item with getFileContents=true, (3) to share a file with a user or third party use filestorage_create_sharelink which returns a clean short URL.
filestorage_create_file_from_file_urlUpload a file to file storage from a URL source. Downloads the file from the provided URL and stores it in the collection. By default, uploading with the same filename will overwrite existing files. Returns file metadata including id, file_size, mime_type, and metadata. Agents: to share the uploaded file, call filestorage_create_sharelink afterward — avoid requesting file_url as it bloats context with storage credentials. Workflows: set returnFileUrl=true to include the file_url in the response for convenient downstream use. Supports all file types (documents, images, audio, video, etc.).
filestorage_create_sharelinkDEFAULT TOOL when a user asks to ‘get’, ‘share’, or ‘send’ a file. Works for both public and private files. Creates a clean, shareable URL that serves the file directly in the browser. For private files, returns a short URL that does not expose storage signatures. For public files, returns the public URL directly. When the user says ‘get me file X’ or ‘can I have file X’, use this tool — do NOT use filestorage_get_item unless the user explicitly wants the file contents for processing. Each call generates a unique short URL with its own independent expiration. Optionally store query parameters that will be appended to the URL when the link is accessed.
filestorage_make_file_publicMake a file public so anyone with the URL can access it. WARNING: This action makes the file accessible to anyone on the internet — confirm with the user before proceeding. Once public, the file will not expire and can be accessed without authentication. Returns the public URL. This is reversible — to make the file private again, use filestorage_update_item with a fileLinksExpireInDays value (1-7).

filestorage_list_collections

List all available filestorage collections. This is a tool that is used to get the collection ID for the other filestorage tools. Parameters: None

filestorage_create_collection

Create a new file storage collection for storing files. Returns { id, name, type } - use the “id” field as collectionId for subsequent operations like uploading files. Parameters:
ParameterTypeRequiredDefaultDescription
namestringYesDisplay name for the file storage collection
descriptionstringNoOptional description of the collection purpose
createdBystringYesUser ID creating the collection - use the current user ID or a service identifier
createdByNamestringYesDisplay name shown as creator - use the current user name or service name

filestorage_create_file_from_content

Create or replace a document in file storage with text content. This operation will overwrite existing files with the same filename by default. Returns file metadata including id, file_size, mime_type, and metadata. Agents: to share the created file, call filestorage_create_sharelink afterward — avoid requesting file_url as it bloats context with storage credentials. Workflows: set returnFileUrl=true to include the file_url in the response for convenient downstream use. Needs an EXISTING collection ID (not a name). Parameters:
ParameterTypeRequiredDefaultDescription
collectionIdstringYesCollection ID to add the file to - e.g. “KCny7nGXpBzWNYpJzC0b”
filenamestringYesName of the file to store (required) - e.g. “example.json”
contentstringYesContent of the file to store (required) - text content for the file
metadatastringNoOptional metadata - can be an object with key-value pairs (e.g. {“project”: “onboarding”, “originalFilename”: “sample.pdf”, “batchId”: “batch_2025-07-08_21-19-44”}) or a simple string (e.g. “Document uploaded from automation”). If no metadata requested by user, add a description of the process that created this file. If a string is provided, it will be wrapped as {“description”: “your string”}.
fileLinksExpireInDaysstringNo1File link expiration: 1-7 days or “never” to make file public.
fileLinksExpireInMinutesnumberNoMinute-level precision for file link expiration. Can be combined with days (max 7 days total).
returnFileUrlbooleanNofalseWhether to include the file_url (signed storage URL) in the response. Agents should generally leave this false and use filestorage_create_sharelink instead. Workflows should set true when the URL is needed by downstream steps.
replaceExistingbooleanNotrueWhether to replace existing files with same filename. If false, adds timestamp to filename to avoid overwriting.
queryParamsobjectNoOptional key-value pairs to include as query parameters in the signed URL. Useful for passing contextual data (e.g. {“id”: “123”}) that JavaScript in HTML files can read via URLSearchParams.
proxyIdstringNoProxy ID to access a shared filestorage collection. Requires X-API-Key header.

filestorage_get_item

Retrieve file metadata and optionally content from file storage. IMPORTANT: When a user asks to ‘get a file’, ‘share a file’, or ‘send me a file’, do NOT use this tool — use filestorage_create_sharelink instead, which returns a clean shareable URL (works for both public and private files). Only use this tool when you need to: (1) read the actual file contents for processing/analysis (set getFileContents=true), or (2) check file metadata (size, type, dates). Agents: avoid requesting the signedUrl as it is very long and bloats context — use filestorage_create_sharelink instead. Workflows: set returnSignedUrl=true when the URL is needed by downstream steps. Parameters:
ParameterTypeRequiredDefaultDescription
collectionIdstringYesCollection ID the file belongs to - e.g. “KCny7nGXpBzWNYpJzC0b”
filenamestringYesName of the file to retrieve (required) - e.g. “example.json”. Use this for filename-based access.
getFileContentsbooleanNofalseWhether to include file contents in response. Works for text files (JSON, TXT, HTML, CSV) and extracts text from binary documents (PDF, DOCX, XLSX, PPTX).
fileLinksExpireInDaysstringNo1File link expiration for returned signedUrl: 1-7 days or “never” for public access.
fileLinksExpireInMinutesnumberNoMinute-level precision for signedUrl expiration. Can be combined with days (max 7 days total).
queryParamsobjectNoOptional key-value pairs to include as query parameters in the signed URL. Useful for passing contextual data (e.g. {“id”: “123”}) that JavaScript in HTML files can read via URLSearchParams.
returnSignedUrlbooleanNofalseWhether to include the signedUrl in the response. Agents should generally leave this false and use filestorage_create_sharelink instead. Workflows should set true when the URL is needed by downstream steps.
proxyIdstringNoProxy ID to access a shared filestorage collection. Requires X-API-Key header.

filestorage_update_item

Append content to existing text files or update metadata and link expiration settings. For text files (JSON, TXT, HTML, CSV): provide content to append. For binary files (PNG, JPG, PDF, etc.): omit content and only update metadata/expiration settings without resending file content. Can also be used to make files public or update link expiry. Agents: to share a file after update, use filestorage_create_sharelink. Workflows: set returnFileUrl=true to include the file_url in the response. Parameters:
ParameterTypeRequiredDefaultDescription
collectionIdstringYesCollection ID the file belongs to - e.g. “KCny7nGXpBzWNYpJzC0b”
filenamestringYesName of file to update (required) - e.g. “example.txt”
contentstringNoContent to append to text files (TEXT FILES ONLY). Must be string. Omit for binary files when only updating metadata/expiration.
metadatastringNoOptional metadata - can be an object with key-value pairs (e.g. {“project”: “onboarding”, “originalFilename”: “sample.pdf”}) or a simple string (e.g. “File updated from automation”). If a string is provided, it will be wrapped as {“description”: “your string”}. Additional fields will be stored as metadata.
fileLinksExpireInDaysstringNoUpdate file link expiration: 1-7 days or “never” to make file public. Use “never” to make files publicly accessible.
fileLinksExpireInMinutesnumberNoMinute-level precision for link expiration. Can be combined with days (max 7 days total).
returnFileUrlbooleanNofalseWhether to include the file_url (signed storage URL) in the response. Agents should generally leave this false and use filestorage_create_sharelink instead. Workflows should set true when the URL is needed by downstream steps.
proxyIdstringNoProxy ID to access a shared filestorage collection. Requires X-API-Key header.

filestorage_delete_item

Delete a file from file storage. Permanently removes the file and all associated metadata. This operation cannot be undone. Supports both filename-based deletion and itemId-based deletion. Needs an EXISTING collection ID (not a name). Parameters:
ParameterTypeRequiredDefaultDescription
collectionIdstringYesCollection ID the file belongs to - e.g. “KCny7nGXpBzWNYpJzC0b”
filenamestringYesName of file to delete (required) - e.g. “example.json”. File must exist in the specified collection.
proxyIdstringNoProxy ID to access a shared filestorage collection. Requires X-API-Key header.

filestorage_list_items

List files in a file storage collection. Returns file metadata for browsing — no signed URLs or storage credentials are included. Recommended workflow: (1) list files to browse available files, (2) to read a specific file’s content use filestorage_get_item with getFileContents=true, (3) to share a file with a user or third party use filestorage_create_sharelink which returns a clean short URL. Parameters:
ParameterTypeRequiredDefaultDescription
collectionIdstringYesCollection ID to list files from - e.g. “KCny7nGXpBzWNYpJzC0b”. Always an ID that can be obtained from filestorage_list_collections, never a name.
formatstringNo"light"Response format: “light” (default, recommended) or “full”. Light returns file metadata without signed URLs. Full includes signedUrl per file but is rarely needed — use filestorage_get_item for individual file access instead.
fileLinksExpireInDaysstringNo1File link expiration for returned signedUrls: 1-7 days or “never” for public access.
fileLinksExpireInMinutesnumberNoMinute-level precision for signedUrl expiration. Can be combined with days (max 7 days total).
queryParamsobjectNoOptional key-value pairs to include as query parameters in the signed URLs. Useful for passing contextual data (e.g. {“id”: “123”}) that JavaScript in HTML files can read via URLSearchParams.
proxyIdstringNoProxy ID to access a shared filestorage collection. Requires X-API-Key header.

filestorage_create_file_from_file_url

Upload a file to file storage from a URL source. Downloads the file from the provided URL and stores it in the collection. By default, uploading with the same filename will overwrite existing files. Returns file metadata including id, file_size, mime_type, and metadata. Agents: to share the uploaded file, call filestorage_create_sharelink afterward — avoid requesting file_url as it bloats context with storage credentials. Workflows: set returnFileUrl=true to include the file_url in the response for convenient downstream use. Supports all file types (documents, images, audio, video, etc.). Parameters:
ParameterTypeRequiredDefaultDescription
collectionIdstringYesCollection ID to add the file to - e.g. “KCny7nGXpBzWNYpJzC0b”
fileUrlstringYesURL of file to download and upload to storage (required). Must be accessible via HTTP/HTTPS.
metadatastringNoOptional metadata - can be an object with key-value pairs (e.g. {“project”: “onboarding”, “originalFilename”: “sample.pdf”}) or a simple string (e.g. “File uploaded from URL”). If a string is provided, it will be wrapped as {“description”: “your string”}. Additional attributes for file organization.
fileLinksExpireInDaysstringNo1File link expiration: 1-7 days or “never” to make file public.
fileLinksExpireInMinutesnumberNoMinute-level precision for file link expiration. Can be combined with days (max 7 days total).
returnFileUrlbooleanNofalseWhether to include the file_url (signed storage URL) in the response. Agents should generally leave this false and use filestorage_create_sharelink instead. Workflows should set true when the URL is needed by downstream steps.
replaceExistingbooleanNotrueWhether to replace existing files with same filename. If false, adds timestamp to filename to avoid overwriting.
queryParamsobjectNoOptional key-value pairs to include as query parameters in the signed URL. Useful for passing contextual data (e.g. {“id”: “123”}) that JavaScript in HTML files can read via URLSearchParams.
proxyIdstringNoProxy ID to access a shared filestorage collection. Requires X-API-Key header.

DEFAULT TOOL when a user asks to ‘get’, ‘share’, or ‘send’ a file. Works for both public and private files. Creates a clean, shareable URL that serves the file directly in the browser. For private files, returns a short URL that does not expose storage signatures. For public files, returns the public URL directly. When the user says ‘get me file X’ or ‘can I have file X’, use this tool — do NOT use filestorage_get_item unless the user explicitly wants the file contents for processing. Each call generates a unique short URL with its own independent expiration. Optionally store query parameters that will be appended to the URL when the link is accessed. Parameters:
ParameterTypeRequiredDefaultDescription
collectionIdstringYesCollection ID the file belongs to - e.g. “KCny7nGXpBzWNYpJzC0b”
filenamestringYesName of the file to create a share link for (required) - e.g. “example.json”
fileLinksExpireInDaysnumberNoShare link expiration in days (1-7). At least one of fileLinksExpireInDays or fileLinksExpireInMinutes is required.
fileLinksExpireInMinutesnumberNoShare link expiration in minutes. Can be combined with days (max 7 days total). At least one of fileLinksExpireInDays or fileLinksExpireInMinutes is required.
queryParamsobjectNoOptional key-value pairs to store with the link. When the short URL is accessed, these params are appended to the URL via redirect so client-side JavaScript can read them via URLSearchParams.
proxyIdstringNoProxy ID to access a shared filestorage collection. Requires X-API-Key header.

filestorage_make_file_public

Make a file public so anyone with the URL can access it. WARNING: This action makes the file accessible to anyone on the internet — confirm with the user before proceeding. Once public, the file will not expire and can be accessed without authentication. Returns the public URL. This is reversible — to make the file private again, use filestorage_update_item with a fileLinksExpireInDays value (1-7). Parameters:
ParameterTypeRequiredDefaultDescription
collectionIdstringYesCollection ID the file belongs to - e.g. “KCny7nGXpBzWNYpJzC0b”
filenamestringYesName of the file to make public (required) - e.g. “report.html”
proxyIdstringNoProxy ID to access a shared filestorage collection. Requires X-API-Key header.