> For the complete documentation index, see [llms.txt](https://docs.datapancake.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.datapancake.com/guides/how-to-guides-script-builder/data-source-guides/how-to-create-a-single-datapancake-data-source-script-builder.md).

# How to Create a Single DataPancake Data Source (Script Builder)

{% hint style="warning" %}
Please ensure the [Admin Guides](/guides/how-to-guides-script-builder/admin-guides.md) have been completed before creating your first data source.
{% endhint %}

{% hint style="info" %}
This script builder is not available for the following scenarios:

* Data sources with a pre-configured schema
* Data sources that contain stream data such as Kafka

See [Creating & Configuring Data Sources](/guides/how-to-guides-ui/creating-and-configuring-data-sources.md) guides for more details.
{% endhint %}

### 1. Navigate to the "Data Source" script builder

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-10-27/44c0b16d-13e9-4b0c-aee0-c8d6c6894535/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=74,454)

### &#x20;2. Enter the custom data source name

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/e9d48242-9eae-4f2f-b5d6-c090f2092be7/ascreenshot.jpeg?tl_px=0,124\&br_px=1376,893\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=489,277)

### 3. (Optional) Change the app database name

The default is DATAPANCAKE

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/a81ebbc4-4fc7-4d54-bdc7-4d92b2a6bed5/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=421,286)

### 4. Enter the role used to install DataPancake

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/c32ac813-c6a7-4842-b37f-468dc4cf77ac/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=501,346)

### 5. Enter the role which has the select privilege for the database object to be scanned

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/16ed500a-7214-4cf6-8a27-0f7d03bf9569/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=481,409)

### 6. Select the Snowflake Database Object Type

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/64db6420-74ab-460a-b35c-919b201b6b74/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=514,410)

### 7. Select the Column Data Type (Semi-Structured Only)

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/7c527923-a9df-4783-bd78-5697d5374447/ascreenshot.jpeg?tl_px=4,187\&br_px=1380,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=523,410)

### 8. Select the Data Source Type

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/8ed1ee59-d45a-48ef-aebe-dbfa72d4f521/ascreenshot.jpeg?tl_px=164,96\&br_px=1541,865\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=667,277)

### 9. (Semi-Structured Only) Select the Data Format Type

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/1ae186a9-fdd4-46cf-aa13-926bde1415a0/ascreenshot.jpeg?tl_px=164,187\&br_px=1541,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=736,303)

### 10. Select the Attribute Create Type

"Discover" means DataPancake will discover the *all* attributes for you during the scan. "Schema" means you will provide a schema for all known attributes, on top of which DataPancake can find additional discovered attributes.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/e4b7776a-c50b-4f53-a500-5f25cc2caffb/ascreenshot.jpeg?tl_px=164,176\&br_px=1541,945\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=747,276)

### 11. Enter the Snowflake database name that contains the data

{% hint style="info" %}
If the name is case sensitive, put the name in double quotes such as `"EXAMPLE_NAME"`
{% endhint %}

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/6c849138-9691-4186-976e-c7f7a907bc02/ascreenshot.jpeg?tl_px=164,187\&br_px=1541,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=667,326)

### 12. (Optional) Indicate if the database is shared

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/b299b939-0960-4440-8b2f-a65c197463dc/ascreenshot.jpeg?tl_px=164,187\&br_px=1541,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=830,304)

### 13. Enter the name of the schema which contains the database object to be scanned

{% hint style="info" %}
If the name is case sensitive, put the name in double quotes such as `"EXAMPLE_NAME"`
{% endhint %}

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/ad937228-fb82-47ea-910e-a354837e4926/ascreenshot.jpeg?tl_px=164,187\&br_px=1541,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=699,385)

### 14. Enter the name of the database object to be scanned

{% hint style="info" %}
If the name is case sensitive, put the name in double quotes such as `"EXAMPLE_NAME"`
{% endhint %}

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/da26d165-2703-465d-aad0-ce720da49a51/ascreenshot.jpeg?tl_px=164,187\&br_px=1541,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=800,447)

### 15. (Semi-Structured Only) Enter the name of the column to be scanned

{% hint style="info" %}
If the name is case sensitive, put the name in double quotes such as `"EXAMPLE_NAME"`
{% endhint %}

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/e5d12f61-1878-420a-b995-5482ee3bff93/ascreenshot.jpeg?tl_px=164,187\&br_px=1541,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=729,522)

### 16. Select the warehouse to be used by DataPancake to scan

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-10-27/84091f61-7dd1-4a6c-a3ed-b82559c5017c/ascreenshot.jpeg?tl_px=0,0\&br_px=1376,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=443,140)

### 17. (Optional) Prevent the scan from starting automatically

If you switch this off, you will need to manually trigger the data source scan from the "Scan Data" page.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-10-27/e8910d61-ff23-4b47-9f24-738a1b69a781/ascreenshot.jpeg?tl_px=0,0\&br_px=1376,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=410,178)

### 18. (Optional) Enter a record limit for the initial scan

If you want to scan *all* records, set the limit to 0

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-10-27/f6a6b1fe-eec9-4edb-86ea-a97129e08ef1/ascreenshot.jpeg?tl_px=0,0\&br_px=1376,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=514,239)

### 19. (Optional) Enable Additional Paid Features

{% hint style="info" %}
Explore <https://www.datapancake.com/pricing> to learn more about DataPancake's transparent, attribute-based pricing model.
{% endhint %}

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-10-27/ea931db7-a731-45bc-a1ae-94a2b2161ddd/ascreenshot.jpeg?tl_px=0,175\&br_px=1376,944\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=446,277)

### 20. (Optional) Disable Using Case Sensitivity

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-10-27/761512b4-6b97-4120-9bfb-6ed6179a3a8d/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=467,328)

{% hint style="warning" %}
The "Generate Code After Scan" will automatically create the output SQL statements based on the discovered schema at the completion of the scan.

SQL Code Generation is a paid feature available once you purchase the application or as part of an Enterprise license. Code Generation in the Trial version is not enabled.

If you choose not to generate code, skip to the "Generate Script" step below.
{% endhint %}

### 21. (Optional) Enable generating SQL code after the scan completes

With the SQL Code Generation feature enabled, you can also generate SQL code on scanned data sources from the "Generated SQL" page as needed.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-10-27/402901a2-4264-48d3-9d32-da6ec31b0379/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=473,358)

### 22. Enter the Materialized Object Type

The type of materialized object to create.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-10-27/96afab57-2d2f-40e6-8e79-ddc22e0eda35/ascreenshot.jpeg?tl_px=100,187\&br_px=1476,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=524,297)

### 23. Enter the user defined name for the root dynamic table, such as 'dt\_\<object\_name>'

The name used for the materialized object's root name and as a prefix for all nested materialized objects in the code generation process.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/8095477a-df00-4020-896f-885894145ef4/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=510,303)

### 24. Enter the name of the warehouse used to refresh dynamic tables

This warehouse name is included as part of the create dynamic SQL table statements.

{% hint style="info" %}
**"Why is this not a dropdown with options like the scan data warehouse one above?"**

The previous dropdown is the warehouse used to scan data, which *must* be connected to DataPancake.

The warehouse here is used to refresh dynamic tables and can be any warehouse, including ones not connected to DataPancake.
{% endhint %}

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/58710468-3336-44fc-85ea-2230b41a2144/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=458,358)

### 25. Select the Semantic Layer - Object Type

The type of semantic layer object to create.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/2f253667-7d14-4e9d-a774-e9baba45e052/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=367,516)

### 26. Enter the user defined name for the root level view, such as 'vw\_\<object\_name>'

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/70164187-b6a4-41ea-a6c8-d551d65644a6/ascreenshot.jpeg?tl_px=11,187\&br_px=1387,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=524,481)

### 27. Click "Generate Script"

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/ce4e7b86-8ba9-45d6-aac2-648437c481db/ascreenshot.jpeg?tl_px=0,187\&br_px=1376,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=314,529)

### 28. Copy the script

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/bcb25a40-9edb-4de3-84c4-bfaefcf50bfa/ascreenshot.jpeg?tl_px=164,0\&br_px=1541,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=987,154)

### 29. Open a new Snowflake SQL file and paste the script

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/bc98a85b-2b35-4892-98a8-074d6616ab8c/ascreenshot.jpeg?tl_px=164,78\&br_px=1541,847\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=548,277)

### 30. Scroll Down to Review the Optional Parameters as Part of the Code Generation

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/9c16da44-30ad-4c77-a467-e9911e861510/ascreenshot.jpeg?tl_px=0,0\&br_px=1376,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=314,154)

### 31. Execute the Script

Use the blue dropdown arrow at the top right and click "Run All"

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-10/f955d5f8-a2f1-41df-a244-04bab5bd796c/ascreenshot.jpeg?tl_px=164,0\&br_px=1541,769\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=1015,69)

### 32. Ensure successful execution by examining the call result column in the result set

If you mistyped any of the database connection information, the resulting error message will show you what was incorrect.

If the warehouse used has not been previously added to DataPancake, then the scan will not be initiated.

If the scan is initiated, the result message will show that the scan has started.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-13/35e24782-5023-445c-b2db-89ef9ff2b34d/ascreenshot.jpeg?tl_px=171,234\&br_px=1464,957\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=524,369)

## 33. View the scan status

On the "Scans In Process" page you can view the progress of the scan. Click the "Refresh" button to update view the latest status. When the scan is finished, you are ready to start designing your pipeline.

![](https://ajeuwbhvhr.cloudimg.io/https://colony-recorder.s3.amazonaws.com/files/2025-11-13/79e203c4-ba79-4ca8-b4fc-7ee0cc92d4d4/ascreenshot.jpeg?tl_px=0,88\&br_px=1376,857\&force_format=jpeg\&q=100\&width=1120.0\&wat=1\&wat_opacity=1\&wat_gravity=northwest\&wat_url=https://colony-recorder.s3.amazonaws.com/images/watermarks/FB923C_standard.png\&wat_pad=83,277)


---

# 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:

```
GET https://docs.datapancake.com/guides/how-to-guides-script-builder/data-source-guides/how-to-create-a-single-datapancake-data-source-script-builder.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
