> For the complete documentation index, see [llms.txt](https://docs.tonic.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tonic.ai/fabricate/databases-and-data/data-agent-db-unstructured-files.md).

# Generating unstructured files

The Data Agent can also generated unstructured files, including:

* PDFs
* Word files (.docx)
* PowerPoint files (.pptx)
* Email messages (.eml)
* Image files:
  * .png
  * .jpeg
  * .web
  * tiff

For example:

`Generate a set of 20 email messages that confirm medical appointments. Include the doctor, office location, visit purpose, and appointment date and time.`

`Generate PDF versions of 15 resumes of engineering candidates. The candidates all have at least a BS in computer science, and have between 5 and 10 years of experience at 2-3 companies.`

If you need to frequently generate a similar set of files, you can create a [workflow](/fabricate/data-agent-tools/workflows.md).

## Providing formatting and layout guidance <a href="#file-format-layout-guidance" id="file-format-layout-guidance"></a>

You can provide guidance for document layout, formatting, and size.

One option is to upload a file that uses the layout and formatting that you want. For example:

`Use the attached file as a template to generate order 25 order confirmation email messages.`

## Using database data to populate the files <a href="#file-populate-with-data" id="file-populate-with-data"></a>

Fabricate can generate the data values when it generates the files. You can also optionally use database data to populate the files.

For example, you use the Data Agent to create a database of online retail transactions. You then prompt the Data Agent to create example order confirmation email messages based on that data.

`Use the data in the transactions database to create 30 example order confirmation email messages.`

Or from a database of business-to-business transactions, you prompt the Data Agent to generate a set of example invoices in PDF format or as image files.

`Use the data in the transactions database to generate 50 example invoices in PDF format.`

## Viewing and downloading the generated files <a href="#file-download" id="file-download"></a>

When Fabricate completes the file generation, it adds the files to the **Artifacts** list in the project navigation.

### Single file

For a single file, Fabricate places the file at the top level of the **Artifacts** list, unless you prompted the agent to place the file in a specific folder.

If you specified a folder, then Fabricate creates the folder if needed and places the file in that folder.

In the chat, Fabricate provides a link to download the file.

### Multiple files

For multiple files, Fabricate places the files in a folder in the **Artifacts** list.

* If you specified a folder in the prompt, then Fabricate creates the folder if needed and places the files in that folder.
* If you did not specify a folder, Fabricate automatically creates a folder and gives it a name.

In the chat, Fabricate provides a link to the folder.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.tonic.ai/fabricate/databases-and-data/data-agent-db-unstructured-files.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
