For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Logo
DeveloperAcademyCommunityStatus
ReferenceGuides
ReferenceGuides
  • Agent Studio
    • Overview
    • Quickstart Guides
    • Core Concepts
    • Conversation Process
      • Slots
        • File Slots
        • Optional Slots
      • Resolver Strategies
      • Activities
      • Control Flow
      • Conversation Process Data Bank
      • Conversation Timeouts
    • Actions
    • Connectors
    • System Triggers
    • Agent Architect
    • Cookbooks
    • Development and Testing
    • AI Agent Marketplace
    • Developer Tools
  • Agentic AI
    • LLM Fundamentals
    • The Agentic Reasoning Engine
    • Memory Constructs
    • Conversational Context
    • Guardrails
    • Grounding and Hallucinations
    • Continuous Learning
    • LLMs & SLMs
    • Steerability Tools
    • Multilingual Support
  • Core Platform
    • User Identity
    • Moveworks Agent (On-Prem)
    • Approvals Engine
    • Entity Catalog
    • Moveworks Data Objects
    • Security Information and Event Management (SIEM) Logs Overview
DeveloperAcademyCommunityStatus
On this page
  • File Object Structure
  • Supported file extensions (case-insensitive)
  • Upload Interface
  • Limitations
  • Workarounds
  • Use Case: Avoid Local File Download
  • Customer API responsibility:
Agent StudioConversation ProcessSlots

File Slots

Learn how to use the File slot type to receive file attachments from users in plugins.
||View as Markdown|
Was this page helpful?
Edit this page
Previous

Optional Slots

Next
Built with

The File slot type enables plugins to receive file attachments from users. It is resolved only when the user interacts with the dedicated “Upload file” button in the assistant interface.

File Object Structure

When a an attachment is added to the File slot, it generates this object structure:

1{
2 "file_name": string, // Name used when uploading to the external system's API
3 "location": string, // File location
4 "content": string, // base-64 encoded
5}

Supported file extensions (case-insensitive)

(case-insensitive)

.png, .jpg, .jpeg, .pdf, .txt, .csv, .xlsx, .xlsm, .xls, .xltx, .xltm

Callout: Only these extensions are allowed as ticket attachments. Attempts to upload unsupported types will fail validation.

Upload Interface

Users must use the “Upload file” button.

Limitations

LimitationDetails
File size limitMaximum file size is 5MB. Files exceeding this limit will fail to upload.
No file delivery to usersFiles cannot be sent back to end users in chat responses.
No content manipulationThe system cannot read, parse, or modify file contents beyond base64 encoding.
Upload only via dedicated buttonUploading files directly in chat (e.g., Slack drag-and-drop) will not populate the File slot — it triggers BriefMe instead. Use only the “Upload file” pop-up that appears when the File slot is requested.

Workarounds

Use Case: Avoid Local File Download

Problem:

You do not want users to download files to their machine. Instead, you want users to paste a link (e.g., from Google Drive, OneDrive, or internal file server) directly into the assistant.

Limitation:

The platform cannot download files from external URLs on behalf of the user.

Solution:

Use a string slot named file_link instead of File.

Customer API responsibility:

Your API will need to handle the file download from the link passed by the user.

  • Download file from file_url
  • Validate content/type
  • Process as needed

This bypasses local upload entirely. No file is stored or transmitted through the assistant.