microsoft / microsoft/simplechat

Create CSV artifacts from non-tabular document responses

Open
#1,066 0 comments 0 reactions 1 assignee View on GitHub

@paullizer is already working on this.

Since Jul 22, 2026.

bug
Dominant language
Python
Stars
152
Forks
116
Avg merge
7h 7m
Merged PRs (30d)
122

Description

## Issue

When a user selects a non-tabular document such as a PDF or Word file and asks Chat to generate a CSV, the assistant can render comma-delimited rows in its response but no downloadable CSV artifact is created.

## Steps to Reproduce
1. Upload or select a PDF or Word document containing extractable structured information.
2. Ask Chat to turn the document into a CSV.
3. Observe that the assistant returns CSV-like text or a Markdown/code block, but no downloadable CSV artifact.

## Expected Behavior
An explicit CSV request should create a downloadable `.csv` artifact from valid comma-delimited rows rendered by the assistant, regardless of whether the source document was originally tabular.

## Actual Behavior
The response contains CSV-like text, but the artifact export path does not recognize it and no CSV file is generated.

## Impact
Users must manually copy assistant output into a file, and the existing CSV-generation affordance appears broken for common PDF and Word extraction workflows.

## Acceptance Criteria
- [ ] Explicit CSV requests over non-tabular documents create a downloadable CSV artifact when the assistant returns valid comma-delimited rows.
- [ ] CSV parsing preserves quoted commas, escaped quotes, multiline values, and column order.
- [ ] Prose and citation text outside the CSV block are not included in the export.
- [ ] Existing Markdown-table and tab-separated export behavior remains unchanged.
- [ ] Focused regression coverage validates PDF/Word-style conversion responses.

## Notes
The existing assistant-table export helper recognizes Markdown pipe tables and tab-separated output. The observed response already contains comma-delimited data, suggesting the missing capability is at the assistant-output parsing/artifact boundary.
Related context: #1031, #1055, and #1058.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.