> 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/reusable-generator-approach.md).

# Using the Reusable Generator approach

By default, Fabricate uses the Single Dataset approach. With this approach, when you make a request, Fabricate generates one-off scripts to complete the request, and creates the data one entity at a time.

The Reusable Generator approach is intended to be used for repeatable data generation, especially when you want to generate extremely large volumes of data. For example, for a retail sales database, you might want to add 1,000,000 customers and their associated orders and payment methods.

## How the Reusable Generator approach works

With the Reusable Generator approach, the Data Agent uses the data request details to write a workflow script.

To complete the data generation, you run the workflow.

The Reusable Generator approach can work with any mode. For example, with [Plan mode](/fabricate/data-agent-tools/data-agent-modes-and-models/data-agent-plan-mode.md) and the Reusable Generator approach, the Data Agent generates and executes a plan to create the workflow. With [Autonomous mode](/fabricate/data-agent-tools/data-agent-modes-and-models/using-autonomous-mode.md) and the Reusable Generator approach, the Data Agent generates the script without prompting you for additional information.

## Changing to the Reusable Generator approach

### Automatically selecting the approach based on the request

The Data Agent can change to the Reusable Generator approach automatically based on the size of the requested data.

The Data Agent might also opt to switch to Plan mode to create a plan to write the workflow script and then generate a smaller subset of data to verify the script and data structure. It then completes the requested large-scale generation.

### Selecting the approach manually

To change to Reusable Generator approach manually:

1. Click the mode indicator.
2. Under **Approach**, select **Reusable Generator**.

<figure><img src="https://4109733485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmoU4gTR9LxlzHeWmQCUZ%2Fuploads%2FcBJnQ38mpY9wMiuNJaDb%2FDataAgent_ModeDropdown.png?alt=media&amp;token=98f55d39-becd-4e58-ba87-1310465c0bd5" alt=""><figcaption><p>Dropdown to select the Data Agent mode and data generation approach</p></figcaption></figure>

## Viewing and running Reusable Generator approach workflow jobs

The [**Workflows** list](/fabricate/data-agent-tools/workflows.md) includes workflows created for the Reusable Generator approach.

The [account **Jobs** list](/fabricate/fabricate-accounts-and-users/account-workflow-jobs.md) includes the workflow jobs.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tonic.ai/fabricate/databases-and-data/reusable-generator-approach.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
