# Build your first app

PowerTable is a native workload on Microsoft Fabric. This section will help you create your first app in a few simple steps.

**There are several ways to create an app with PowerTable:**

<table data-header-hidden><thead><tr><th width="40" data-type="number"></th><th width="249.90911865234375">Option</th><th width="456.27276611328125">Description</th></tr></thead><tbody><tr><td>1</td><td><a href="#create-a-new-powertable-item"><strong>Import Spreadsheet</strong></a></td><td>Import data from a spreadsheet and start building your app.</td></tr><tr><td>2</td><td><a href="/pages/ItPwu3sllFpKHttzatJY"><strong>Connect to Database</strong></a></td><td>Connect to an existing database table and build an app.</td></tr><tr><td>3</td><td><a href="/pages/0wrZgA3g3448QRPorXRL"><strong>Type Data Directly</strong></a></td><td>Enter data directly into the app to create a new table in the database.</td></tr><tr><td>4</td><td><a href="/pages/yckSnTmK4ScLkDqmjVcv"><strong>Connect to Semantic Model</strong></a></td><td>Connect to a semantic model to build a writeback-enabled app.</td></tr></tbody></table>

{% hint style="info" %}
Note that in the above methods #1 to #3, the source and destination for the app will be the same - i.e., underlying database table.

When you connect to a semantic model (method #4), the semantic model would be the source, and the destination will be the database table. You can use this method to build writeback-enabled applications. You also have the option of scheduling a refresh from the semantic model.
{% endhint %}

For now, we will explore method #1, where we import data from a CSV file and build an app.&#x20;

## Create a New PowerTable item

1. Go to your Microsoft Fabric workspace folder. Click on **New item** to create a new item.&#x20;

<figure><img src="https://docs.powertable.com/~gitbook/image?url=https%3A%2F%2F1781349671-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FKyXRCFh0c08ryiUFvyMV%252Fuploads%252Fv6FMthDzshgAGStvaqgR%252Fimage.png%3Falt%3Dmedia%26token%3D44e0a878-8140-4d8b-9158-ff44d7be8aac&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=89c970e&#x26;sv=2" alt=""><figcaption><p>Create a new item</p></figcaption></figure>

2. Select **PowerTable** from the list of items. You may want to add it to your favorites by clicking on the star icon.

<figure><img src="https://docs.powertable.com/~gitbook/image?url=https%3A%2F%2F1781349671-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FKyXRCFh0c08ryiUFvyMV%252Fuploads%252FH8BMSvgpmEDArN4MAEyf%252Fimage.png%3Falt%3Dmedia%26token%3Dde2c03f7-bcd2-4350-b1b5-bd742c9ea7fa&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=4e543257&#x26;sv=2" alt=""><figcaption><p>Select 'PowerTable'</p></figcaption></figure>

3. Enter a name for your PowerTable app and select the workspace. Click on **Create.**

<figure><img src="https://docs.powertable.com/~gitbook/image?url=https%3A%2F%2F1781349671-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FKyXRCFh0c08ryiUFvyMV%252Fuploads%252FbfD4QY3B1tkCtgBttzbB%252Fimage.png%3Falt%3Dmedia%26token%3Dbad8d3b3-3803-4b04-bac3-75506e481560&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=952e6a98&#x26;sv=2" alt=""><figcaption><p>Create PowerTable item</p></figcaption></figure>

## Create a New App

4. Click on **Create a New App** to create your app. You may also select 'Explore PowerTable' to [experience a sample PowerTable app](/explore-powertable/powertable-product-tour/explore-a-sample-app.md).

<figure><img src="/files/MXx1MlDtIbiqwsecmdEb" alt=""><figcaption><p>Create a New App</p></figcaption></figure>

## Create a Database Connection

When creating a new table or connecting to an existing table in a database, you need to select your preferred data store and establish a database connection. Your app synchronizes its data with this data store.

5. Follow the steps below to create a new connection:

* Click on **New Connection.**
* Choose your preferred data platform. We'll connect to the Fabric SQL database.
* Click **Next.**

<figure><img src="/files/HP0jlhiStBytQT1gBKXN" alt=""><figcaption><p>Creating a new connection</p></figcaption></figure>

{% hint style="info" %}
If you already have a shared database connection or a private connection to the required data store, skip step 5. Instead, click on the 'Existing Connection' tab, select the one you want to use, and then click Next.
{% endhint %}

<figure><img src="/files/MqJbCiAhFJnEerU2nxdn" alt=""><figcaption><p>Choosing an existing connection</p></figcaption></figure>

6. **Setup Connection:** Enter the connection type and a unique connection name. Select the workspace and the database from the list of options and click **Next.** Your new private connection is now created.

<figure><img src="/files/sCRqIKGyMUeJRmTAB5Pg" alt=""><figcaption><p>Setup Connection</p></figcaption></figure>

## Create a New Table

7. **Choose your table where the data will be stored:** Here, you have two options:

* Select **Existing Table** to connect to an existing table in the database (or)
* Select **New Table** to create a new table in the database.

For our demonstration, we'll select **New Table** to create a new table and import our CSV dat&#x61;**.** We'll also choose a database schema (in this case— 'dbo').

<figure><img src="/files/HAvk9PRoiQtaSRT4A3SP" alt=""><figcaption><p>Create new table</p></figcaption></figure>

8. Enter a name for the table and choose **Upload Excel/CSV.**&#x20;

{% hint style="info" %}
Note that you can also choose to connect to an existing semantic model or enter data manually within the app. These are covered in the following sections.
{% endhint %}

<figure><img src="/files/Bsx0NOEy9AGUU70XoMD4" alt=""><figcaption><p>Upload CSV</p></figcaption></figure>

9. Select the file you want to upload.

<figure><img src="/files/XT9oTrywL1X3logykwU5" alt=""><figcaption><p>Select the file</p></figcaption></figure>

10. Preview the uploaded data and click **Next.**

<figure><img src="/files/Ldw3Lsms1RcLmcLorwWt" alt=""><figcaption><p>Preview Data</p></figcaption></figure>

## Edit Column Properties (Optional)

PowerTable detects column properties automatically. You can edit them if needed. Choose the primary key. You can also add additional columns in this step, using the **Add Column** option. After verifying the details, click **Finish.**

<figure><img src="/files/P9PQwExD3ZcNQNryZI3q" alt=""><figcaption><p>Click 'Finish'</p></figcaption></figure>

You have now successfully built your first app using PowerTable.

<figure><img src="/files/oauaJqxzXmdh4A7lWiOO" alt=""><figcaption><p>PowerTable app </p></figcaption></figure>

To get the most out of PowerTable, you will need to perform one or more steps listed below. We'll cover them in detail later.

* Configuring field properties
* Defining access control permissions
* Configuring workflow approvals
* Setting up automation including triggers, cascading updates, and email/Microsoft Teams notifications
* ... and more.


---

# Agent Instructions: 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.powertable.com/explore-powertable/powertable-product-tour/build-your-first-app.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.
