Create Table in Microsoft Dataverse [2 Ways]

In this Dataverse tutorial, I will show you how to create a Dataverse table step-by-step using different methods like Copilot and Blank table. Also, I will explain how to add various column types such as Text, Choice, Lookup, and more.

This guide will help you get started with the Dataverse table easily, even if you’re new to Power Apps. Follow along to build your own custom table and structure your data the right way.

Table in Microsoft Dataverse

In Microsoft Dataverse, a table is used to store data, much like a table in Excel or a list in SharePoint. When you create a table in Dataverse, you’re defining a place to store business data that you can use across your Power Apps, Power Automate flows, and even Power BI reports.

Each table contains columns (also known as fields) and rows (also referred to as records). You can define the type of data each column will store, such as text, number, date, choice, lookup, etc.

For example:

If you’re building an app to track customer feedback, you might create a table called Customer Feedback, and add columns like Customer Name, Email, Feedback Date, Rating, and Comments.

reate Dataverse Table Power Apps

Types of Tables in Dataverse

Microsoft Dataverse supports different types of tables depending on your business needs. Here are the main ones:

  1. Standard Tables: These are out-of-the-box tables provided by Dataverse. You can use them as-is or customize them as needed.

Examples include: Account, Contact, Email, Case, etc.

Note:

Most Power Apps use standard tables for common business data. No special configuration or licensing is needed.

  1. Activity Tables: These are a special type of standard table used to track time-based actions, like appointments, phone calls, tasks, and emails.

All activity tables share a standard structure and are part of the Activity table group.

Examples include: Email, Appointment, Phone Call, Task, etc.

Read More: Add Copilot Studio Knowledge Files Using Power Automate

Tip:

Use activity tables when you want to store interactions or communication history with users or customers.

  1. Virtual tables allow you to display data from external sources (like SQL Server, SharePoint, or Azure) inside Dataverse without storing the data in Dataverse itself.

The table looks and behaves like a normal Dataverse table in apps, but the data stays in the external system.

Note:

Use virtual tables when you need real-time access to external data without duplicating it in Dataverse.

  1. Elastic Tables: Elastic tables are optimized for handling high-volume, time-series, or log-type data. They’re designed to scale automatically and support massive amounts of data.

Elastic tables utilize a pay-as-you-go storage model, making them ideal for scenarios such as IoT data, telemetry, or audit logs.

Note:

These tables are perfect when you expect a large volume of write-heavy operations.

Dataverse Table Creation Power Apps

Check Out: Create Multi Agent in Copilot Studio

Microsoft Dataverse Table Data Types

When you create columns in a Microsoft Dataverse table, you need to select the right data type based on the kind of information you want to store. Dataverse offers a wide range of column types to handle everything from simple text to complex relationships and file uploads.

Here is a complete list of all Dataverse column data types you can use:

Data TypeDescription
TextStores a single line of text.
Text AreaStores multiple lines of plain text.
Rich TextStores formatted text with bold, italics, links, etc.
EmailStores email addresses with validation.
Phone NumberStores phone numbers.
Ticker SymbolStores stock ticker symbols.
URLStores web URLs.
Whole NumberStores integers without decimals.
DecimalStores exact numeric values with decimals.
FloatStores approximate numeric values for performance-heavy data.
Language CodeStores language codes supported by Microsoft.
DurationStores time intervals in minutes.
Time ZoneStores time zone selections.
Date and TimeStores date and time together.
Date OnlyStores only the date portion.
LookupCreates a relationship to another Dataverse table.
CustomerSpecial lookup to either the Account or Contact table.
ChoiceStores a value from a predefined dropdown list.
Yes/NoStores a boolean value (true/false).
CurrencyStores financial values with currency formatting.
AutonumberAutomatically generates a unique value for each row.
FileAllows uploading one file per record.
ImageAllows uploading one image per record.
FormulaCalculates values using Power Fx expressions.
How to Create Dataverse Table

Create a Dataverse Table

Let’s say you’re building a simple HR application using Power Apps. You want to store employee details and also track the departments to which each employee belongs.

To do this, you’ll need two Dataverse tables:

  1. Employee Table – stores employee details like name, email, joining date, and department.
  2. Department Table – stores department names and managers.

Different Ways to Create a Dataverse Table

Dataverse gives you multiple ways to create a table depending on your comfort level and data source:

MethodDescription
Get started with CopilotUse natural language to create tables and columns quickly.
Start with a blank tableManually define the table structure from scratch.
Create with Excel or .CSV fileAutomatically generate a table by uploading a spreadsheet or CSV.
Create with SharePoint listImport structure and data from an existing SharePoint list.
ImportUse the legacy data import wizard for more control over the import process.
Different Ways to Create a Dataverse Table

In this tutorial, I’ll cover the first two methods, Copilot and Blank Table.

We’ll use Copilot to create the Employee table, and start with a blank table to create the Department table in Microsoft Dataverse.

Get Started with Copilot in Microsoft Dataverse

With Copilot, you can describe your table in plain English, and Power Apps will automatically build it for you.

Now follow the below steps:

  1. Open Power Apps Maker Portal. In the left pane, click on Tables -> Select Get started with Copilot.
Dataverse Custom Table Power Apps
  1. In the textbox, type a description like:
Create a table to store employee records with Full Name, Email, Department, Joining Date, and Manager.
  1. Click Generate.
Create Table in Dataverse Using Power Apps
  1. Copilot will suggest a table structure. Review and click Save and exit.
Dataverse Table Guide Power Apps

Your new table will be created with the columns you described.

Power Apps Dataverse Table Tutorial

You can edit the table or add more columns later if needed.

Learn: Create Autonomous Agents in Copilot Studio

Start with a Blank Table in Microsoft Dataverse

If you prefer full control, you can manually create the table and define each column yourself.

Follow the below steps:

  1. From the same Power Apps Maker Portal, go to Tables. Choose Start with a blank table.
Dataverse Tables Power Apps Example
  1. Fill in the details:
    • Display Name: Department
    • Plural Name: Departments
Create Custom Table in Dataverse
  1. Then click on + New column, provide the Display name, and select the required data type:
Column NameData TypeNotes
Department NameTextPrimary column (default)
Department CodeTextUnique code for each dept
Manager NameTextName of the department head
  1. Click Save and exit once you’ve added all columns.
Create Table in Microsoft Dataverse

This way you can create a table in Microsoft Dataverse.

More: Create an Agent Flow Using Designer in Copilot Studio

Add Columns to an Existing Dataverse Table

Once your Dataverse table is created, you can always add more columns to capture additional information. Here, I’ll show you how to add individual columns to your tables step by step.

Add Designation (Text) to Employee Table in Dataverse

  1. Go to Power Apps Maker Portal. From the left menu, click Tables.
  2. Select the Employee table. Click on the + (New Columns).
Design Table in Dataverse Power Apps
  1. Set the following:
    • Display Name: Designation
    • Data Type: Text
    • Leave all other settings as default
  2. Click Save.
Create New Table in Dataverse Easily

The “Designation” column is now added to your Employee table.

Check Out: Create a New Agent Using Microsoft Copilot Studio

Add Salary (Currency) to Employee Table in Dataverse

  1. Open the Employee table from the Tables list.
  2. Set the following:
    • Display Name: Salary
    • Data Type: Currency
    • Leave all other settings as default.
  3. Click Save.
Add Salary (Currency) to Employee Table in Dataverse

The Salary column has been successfully added.

Read: Create an Agent Flow With Natural Language in Copilot Studio

Add Is Active (Yes/No) to Employee Table in Dataverse

  1. In the same Employee table, go to the Columns tab.
  2. Enter:
    • Display Name: Is Active
    • Data Type: Yes/No
  3. Click Save.
Add Is Active (Yes No) to Employee Table in Dataverse

You’ve now added a Yes/No column to track active employees.

Add Employment Type (Choice) to Employee Table in Dataverse

  1. Open the Employee table. Click the New Columns.
  2. Enter:
    • Display Name: Employment Type
    • Data Type: Choice
  3. Sync with global choice? select NO.
  4. Add these choices:
    • Full-Time
    • Part-Time
    • Contract
  5. Click Save to create the choice set.
Add Employment Type (Choice) to Employee Table in Dataverse

You’ve now added a drop-down choice column to your Employee table.

Add Department (Lookup) to Employee Table in Dataverse

We want to link each employee to their department using a Lookup column that points to the Department table.

  1. From the Employee table, go to the Columns tab.
  2. Set the following:
    • Display Name: Department
    • Data Type: Lookup
  3. In the Related Table dropdown, select Department.
  4. Keep all other settings default.
  5. Click Save.
Add Department (Lookup) to Employee Table in Dataverse

Dataverse Table Ownership

When you create a table in Dataverse, you must choose who owns the data in that table. This decision impacts how security and access control are applied.

There are two types of ownership:

  • User or Team-Owned Table
    • Data is owned by individual users or teams.
    • Ideal for business scenarios where record-level security is important (e.g., each employee can only view their own records).
    • You can control who can read, update, or delete each row.
  • Organization-Owned Table
    • All data is owned by the organization.
    • Best for reference or configuration tables (like countries, departments, etc.).
    • No record-level permissions, access is controlled at the table level.

If you want to apply row-level security, always go for User or Team-owned tables.

Dataverse Table Permissions (Security Roles)

Dataverse uses security roles to manage what users can do with tables and their data. You can define what actions are allowed at both the table level and row level.

Common permissions include:

  • Create – Add new records
  • Read – View records
  • Write – Edit records
  • Delete – Remove records
  • Append / Append To – Link related records (used with Lookup columns)
  • Share / Assign – Share access or reassign ownership

In this Power Apps Dataverse tutorial, you learned how to create a custom table step-by-step using Copilot and the blank table method. You also saw how to add different types of Dataverse columns, such as Text, Currency, Yes/No, Choice, and Lookup. Additionally, we covered important topics such as table ownership and permissions.

Additionally, you may find the following Dataverse interesting tutorials:

1 thought on “Create Table in Microsoft Dataverse [2 Ways]”

Leave a Comment

Power Apps functions free pdf

30 Power Apps Functions

This free guide walks you through the 30 most-used Power Apps functions with real business examples, exact syntax, and results you can see.

Download User registration canvas app

DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

Download a fully functional Power Apps Canvas App (with Power Automate): User Registration App