Skip to content

Python: Support File Uploads in DevUI for Document Workflows #1473

@ShivamGoyal03

Description

@ShivamGoyal03

Feature Request: Support File Uploads in DevUI for Document Workflows

I am using PrivyDoc, a workflow built with MAF + Foundry Local, to process documents like PDFs and Word files. The workflow extracts text and performs analysis.

When using DevUI, I can see the workflow running, but it only allows typing text. There is no option to upload files, which prevents testing workflows like PrivyDoc fully in DevUI.

Current Behavior

  • DevUI inspects the starting executor input type.
  • If the input type is str, DevUI shows a textbox.
  • File inputs cannot be uploaded because DevUI does not detect complex input types like documents or files.

Problem

  • Many workflows need uploading PDFs, Word files, or other structured inputs.
  • Right now, DevUI does not support these input types, limiting testing and the developer experience.
  • Checking MIME type alone is not enough because the executor input type must be set beforehand. MIME type only helps after the file enters the workflow.

Proposed Approach / Use Case

  • Allow DevUI to recognize a File or Document type input.
  • Show a file upload UI when the workflow expects a document.
  • Within the workflow, MIME type can be used to:
    • Decide which parser or extraction method to use (PDF, Word, text)
    • Route files to specialized sub-agents for processing
    • Validate file types before processing
    • Handle large files with metadata-based methods such as chunking
  • Ensure typed message routing still functions correctly.

Use Case

  • A user uploads a PDF or Word document to start a workflow.
  • DevUI should permit the upload and pass the document correctly to the workflow.
  • Then, the workflow processes the document based on its MIME type, extracts content, and executes the intended analysis.

Benefit

  • Makes DevUI more adaptable for real-world workflows that handle documents, images, or other structured data.
  • Improves developer testing and eases the creation of document-processing workflows.

Cc: @victordibia @moonbox3

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions