Copilot can build a data model from unstructured inputs; documents, spreadsheets, DDL, images, or plain-English requirements; so you don’t have to start from an empty canvas. This article walks through the Generate with AI flow, covers supported file types, and shows how to iterate on the first draft until the model matches what you need.
Prerequisites: Copilot must be enabled for your account and for your user. You must be working in a project where you have edit permissions. If Generate with AI is not visible on the Reverse Engineering screen, contact your administrator.
When to use reverse engineering with Copilot
This workflow is the fastest way to get moving when you have:
- A requirements document, specification, or business write-up in Word, PDF, or Excel.
- DDL scripts from a source system you want converted into a working model.
- An existing diagram in Miro, Lucidchart, Draw.io, or a screenshot from another modeling tool.
- A Power Designer PDM file that needs to become a Snowflake or Databricks model.
- Handwritten or whiteboard notes captured as an image.
Copilot pulls the entities, attributes, and relationships out of your input and creates a starting point that’s typically 80 percent complete. You refine from there.
Supported input formats
Copilot accepts the following formats in the Generate with AI flow:
- PDF: requirements documents, design specs, architecture write-ups.
- Word (.docx): works well for text-heavy requirements. Very large files can slow processing.
- Excel (.xlsx) and CSV (.csv): column lists, interface definitions, entity catalogs. For large Excel files, save as CSV before uploading; this significantly reduces file size and improves processing.
- Plain text: paste requirements directly into the prompt box.
- Images (PNG, JPG): ERD screenshots, whiteboard photos, diagrams exported from other tools.
- DDL scripts: SQL CREATE TABLE statements from any supported source database.
- Draw.io diagrams: exported as image or XML.
- PDM files: from Power Designer or similar tools.
Tip: You can mix formats in a single prompt. For example, upload a PDM file for the base schema, then add a text requirements document describing the new tables you want built on top. Copilot merges them into a single coherent model.
Running Generate with AI
From an open project (empty or existing):
- Open the Reverse Engineering screen from the left-hand navigation.
- Click Generate with AI. A prompt dialog opens.
- Describe what you’re trying to build in natural language. Be specific; name the schema, list the entities you want, mention data types or constraints if you know them.
- Attach one or more supporting files if you have them (optional).
- Click Create and Import. Copilot parses your input, generates the proposed structure, and shows you the diagram.
- Review the proposed diagram. Accept it to land the changes in your project, or cancel and refine your prompt.
Iterating on the first draft
Copilot’s first pass is a starting point, not a finished model. After the initial generation, you can build on it with additional requirements; Copilot retains the full context of your existing project and appends or modifies rather than starting over.
Typical iteration patterns:
- Medallion architecture layers. First prompt creates your bronze/raw tables. Second prompt: “create silver-layer dimensions and facts from these bronze tables” builds the next layer on top of what’s already there.
- Add missing relationships. If the first pass didn’t wire up foreign keys the way you expected, describe the relationships explicitly in a follow-up prompt.
- Extend an existing model. When a new requirement document arrives, run Generate with AI again and upload the new document. Copilot proposes changes that align with the existing schema rather than creating duplicates.
Project standards and naming conventions
When Copilot generates a model, it applies any global modeling standards, naming conventions, templates, or pre-prompts configured in the project. If you already have a project-level pre-prompt that says “all fact tables must be prefixed FCT_ and all dimensions DIM_,” generated tables will follow that convention automatically.
If you don’t yet have standards configured, see “Configuring Copilot settings and pre-prompts” before you generate a large model. It’s much easier to set standards once than to rename objects after the fact.
Troubleshooting
- The diagram is missing relationships I expected. Describe the expected relationships explicitly in a follow-up prompt, or edit your source document to make the relationships clearer and try again.
- My Excel file was rejected as too large. Save the Excel file as CSV and upload the CSV instead. Excel files carry zipped internal content that inflates file size without adding information Copilot needs.
- Copilot created a table that already exists. Make sure you’re iterating in the same project where the original table lives. Copilot’s context is scoped to the current project. Cross-project awareness is planned for a future release.
- The generation timed out or failed. Very large inputs can exceed the AI’s context window. Break the input into smaller chunks and run Generate with AI iteratively, one logical slice at a time.
Related articles
- Getting started with Copilot
- Configuring Copilot settings and pre-prompts
- Talk to your model
- Reverse Engineering