New: Virto Calendar App now opens right inside Teams, Outlook and Microsoft 365 Learn more about Virto Calendar App in Teams, Outlook and Microsoft 365→

Home> Blog> Task management> SharePoint Forms: How to Create, Customize and Add Approval

SharePoint Forms: How to Create, Customize and Add Approval

Kristina Mel by Kristina Mel Published: Jul 22, 2026 Latest update: Oct 15, 2026
Reading Time: 21 mins

Quick answer: what is a SharePoint form? A SharePoint form is the New, Edit or Display view of an item in a SharePoint list, and every list gets all three automatically. You can change them in four ways: the default form with JSON formatting, Power Apps, a form designer such as Virto Forms Designer App, or the retired SharePoint Designer. Approval runs next to the form, in Approvals in Lists or Power Automate.

Most questions about SharePoint forms come down to three: how do I make one, how do I make it fit my process, and how does a request get approved. This guide answers them in that order, as of SharePoint Online in October 2026, then compares list forms with Microsoft Forms. Where one of our own apps helps, we say what it does and where it stops.

What SharePoint forms are and when to use them

A SharePoint form is the screen people use to add, read and change an item in a list, or the properties of a file in a library. The form does not hold the data: each field is a column of the list, and each saved form is one list item that can be sorted, filtered, approved and traced in its version history.

Every list comes with three forms:

  • New, for creating an item;
  • Edit, for changing it;
  • Display, for reading it.

Use a SharePoint form when the data belongs to a process inside your organization: requests, tickets, registrations, inspections, anything that still has a status and an owner after it is submitted. For a quick poll, a quiz or a survey sent to people outside the organization, Microsoft Forms is the better tool; the comparison is further down.

What is a SharePoint form library?

A form library is a document library made to store XML forms: the data files that InfoPath forms produced from an .xsn template. Microsoft removed InfoPath Forms Services from SharePoint Online after July 14, 2026, so a form library is now an archive of old submissions, and new forms are built on lists. Our guide to InfoPath end of life explains how to find old InfoPath forms and what to rebuild each type with.

Create a SharePoint list form (step by step)

Most SharePoint forms start with a list: you create the list, add its columns, and SharePoint builds the form from them. The example below is a vacation request, but the same steps work for an IT ticket, an equipment request or an incident report.

Step 1: create a SharePoint list

  1. Go to your SharePoint site.
  2. Select New → List.

The New menu on a SharePoint site with the List option, used to create a new list

Pic. 1. Creating a new list on a SharePoint site

  1. Choose Blank list or a template, name it (for example, Vacation requests) and select Create.

Step 2: add columns

Each column becomes a field on the form. For a vacation request:

  • Employee, a Person column;
  • Start date and End date, Date and time columns;
  • Reason, Multiple lines of text;
  • Status, a Choice column with New, Pending approval, Approved and Rejected;
  • Manager comments, Multiple lines of text.

Select Add column, pick the type, give it a name and save.

The Create a column picker of a SharePoint list with the types Text, Choice, Date and time, Multiple lines of text, Person and Number

The Create a column panel of a Vacation Requests list with the name Start Date and the type Date and time

Pic. 2 and 3. Adding columns to a SharePoint list

Step 3: check the form

Select New in the list. The form already shows every column you added, in the order you added them. Two settings are worth making before anyone else uses it:

  • Required columns. In a column’s settings, Require that this column contains information stops a form from being saved without it.
  • A validation rule. List settings → Validation settings stops impossible values on every form, for example an end date before the start date: =[End date]>=[Start date]. Our guide to the SharePoint leave request form adds a formula that counts working days.

From here the form works. The next section changes how it looks and what it does.

Customize a SharePoint list form: 4 ways

The list’s columns decide what a form contains. Customization decides how it looks, who sees which part, and what happens when a value changes. There are four ways to do it, from free and built in to a separate app.

The command bar of a SharePoint list with the Integrate menu open on Power Apps, Power Automate and Power BI, next to the Forms and Virto Forms buttons

Pic. 4. The list command bar: Forms, Integrate with Power Apps and Power Automate, and Virto Forms, which appears once the app is installed

1. The default form with JSON formatting

Free, built in, and enough for more forms than people expect. Open any item and select Edit form at the top of it:

  • Edit columns shows, hides and reorders columns. Each column can also get a conditional formula that shows it only when another column has a certain value, for example =if([$Category] == 'Hardware', 'true', 'false') (Microsoft Learn).
  • Configure layout takes JSON for a header, a footer and a body split into sections. Once the body has sections, the form switches to several columns (Microsoft Learn).

What it changes: the order, visibility and grouping of fields, and how the top and the bottom of the form look. What it does not change: there are no tabs, no different form for different people, and conditional formulas do not work with multi-select, currency, calculated or managed metadata columns. Formatting changes only how the form looks, never the data or who may edit it.

2. Power Apps

Integrate → Power Apps → Customize forms replaces the list’s form with a canvas app (Microsoft Learn). It can do almost anything a form can: rules that depend on several fields, values filled in from the current user, calculations on screen, data from other sources, and a layout of any shape.

Power Apps Studio with a SharePoint list form open for editing

Pic. 5. A list form in Power Apps Studio

Power Apps is justified when the form needs logic the default form cannot express and someone on the team writes Power Fx. The cost comes later:

  • Formulas, not settings. Every rule is a Power Fx formula, and when the person who built the form moves on, the next change waits for someone who can read them.
  • Moving it is a procedure. The custom form is tied to its list; for moving it to another site or tenant, Microsoft publishes a separate white paper.
  • Licences. Standard connectors are covered by Microsoft 365, but in a Managed Environment every active user needs a premium licence (Microsoft Learn).

3. A form designer app: Virto Forms Designer App

Between JSON and Power Apps sits a third option: a designer that rebuilds the list’s own New, Edit and Display forms by drag and drop. Developers can build something similar as a SharePoint Framework form customizer; a ready-made app saves that work.

Virto Forms Designer App is our SharePoint Online form designer. Without code it gives you:

  • New, Edit and Display forms built by drag and drop, with fields side by side in two or more columns;
  • tabs, accordions and panels that split a long form into parts;
  • a separate layout for a user or a SharePoint group: the requester sees a short form, the approver also sees the decision fields;
  • tabs and fields that are hidden or read-only in the form for people who do not need to change them.

Where it stops:

  • Logic is JavaScript. Validation, calculated values, cascading drop-downs and showing a field based on another field’s value are written in JavaScript in the designer; there is no setting for them. If conditional fields are all you need, the free default form above already does it.
  • Hidden is not protected. A hidden or read-only tab shapes the form; it does not protect the data. Who may change an item is still decided by the list’s permissions.
  • Required means everyone. A required field is shown to all users, so a field that only one group fills in has to be optional.
  • Publishing needs custom script. The app publishes the form as a page in the list, which requires the site to allow custom script. A SharePoint administrator turns it on, SharePoint turns it off again within 24 hours, and forms that are already published keep working.
  • People in your organization only. There are no anonymous or public forms; that is what Microsoft Forms is for.

Try the designer in an interactive demo, no install: an equipment request form gets a Handover tab that only the IT team can edit.

On SharePoint Server, the on-premises Virto Form Designer does the same job for SharePoint 2013, 2016, 2019 and Subscription Edition.

4. SharePoint Designer (retired)

SharePoint Designer 2013 reached the end of support on July 14, 2026, and it only ever edited classic forms. Do not start a new form in it. If old forms were built there, rebuild them with one of the three ways above.

Which way for which need

What you needDefault form and JSONPower AppsVirto Forms Designer App
Fields side by sideYes, body sections in JSONYesYes, drag and drop
TabsNoYes, built with controls and formulasYes, also accordions and panels
A different form per groupNoWith formulasYes, a layout per user or SharePoint group
Hide or lock a field for some peopleNoWith formulasYes, hidden or read-only; list permissions still decide who may change data
Show a field depending on another fieldYes, conditional formulaYes, formulaJavaScript
ValidationList and column validation, which apply to every formFormulas, plus list validationList validation, or JavaScript in the form
Calculated valuesCalculated column, shown after savingFormulas, live on screenCalculated column, or JavaScript
Cascading drop-downsNoYes, with formulasJavaScript
Anonymous or public respondentsNoNoNo; use Microsoft Forms
Who maintains itThe list ownerSomeone who writes Power FxThe list owner for the layout; a developer for JavaScript
CostIncludedIncluded with standard connectors; premium in a Managed EnvironmentPaid app per tenant

Fig. 1. Four ways to customize a SharePoint list form, need by need

Customize a SharePoint list form without Power Apps

You can, for most forms. The default form gives you column order, conditional fields, sections in several columns, a header and a footer, all free. List validation and calculated columns add rules that work in any form you choose later. A form designer adds what the default form lacks, tabs and a different form for each group, without code. You need Power Apps, or JavaScript in a designer, when the form itself must calculate on screen, filter one drop-down by another or pull data from other systems.

Add approval to a SharePoint form: SharePoint approval workflow options

A request is a list item, and an approval is a decision recorded on that item. So approval does not live inside the form: the form collects the request, and a separate mechanism asks the approver, records the answer and tells the requester. SharePoint Online has three such mechanisms. Pick one per list, because Microsoft does not combine content approval with Approvals in Lists.

Approvals in Microsoft Lists

Turn it on in the list with Integrate → Configure approvals → Enable approvals. On an item, Request approval opens a dialog for the approvers and details; any one approver can decide, or you can require a response from all of them. Approvers answer in the list or in the Approvals app in Teams, and an Approval status column shows where each request stands. Lists created from the Travel requests with approvals and Content scheduler with approvals templates have it set up already (Microsoft Support).

Request approval dialog in Microsoft Lists with the fields Name, Approver(s) and Details, the switch Require a response from all approvers, and the Submit and Cancel buttons

Pic. 6. The Request approval dialog in Microsoft Lists. Source: Microsoft Support

Three limits from Microsoft’s own list matter for request forms: an approver who cannot see the item does not get access to it automatically, editing the item cancels the approval in progress, and the approval columns show only the latest activity, with the full history in Teams.

Power Automate: Start and wait for an approval

Choose Power Automate when approval has more than one stage, depends on a value such as the amount, or needs your own email wording.

  1. Go to Power Automate and select Create → Automated cloud flow.

The Create page of Power Automate with Automated cloud flow highlighted

Pic. 7. Starting an automated cloud flow in Power Automate

  1. Choose the SharePoint trigger When an item is created and select your site and list.
  2. Add the action Start and wait for an approval and assign the approver, for example the person in the request’s Approver column.
  3. Add a Condition on the outcome. If approved, set the item’s status to Approved and email the requester; if rejected, set Rejected and include the approver’s comments.

Microsoft’s own approval tutorial builds this flow for vacation requests (Microsoft Learn). Approvers answer from email, the Approvals app in Teams or the approvals center in Power Automate.

Content approval

The oldest option: List settings → Versioning settings → Require content approval for submitted items. A new item stays pending until someone with approval rights approves it, and Draft item security can hide pending items from everyone except the approvers and the author. It sends no notifications on its own, so pair it with a list rule or a reminder.

Approvals in ListsPower AutomateContent approval
StagesOne; one approver or allAny number, with conditionsOne
Where approvers answerThe list or the Approvals app in TeamsEmail, Teams, the approvals centerThe list
NotificationsThe Approvals app in TeamsBuilt into the flowNone; add a rule or a reminder
Pick it whenOne person signs offApproval depends on amount, type or several peopleItems should stay hidden until approved

Fig. 2. Three ways to approve a request in SharePoint Online

What the requester sees and what the approver sees

When the decision fields sit on the same item as the request, the requester and the approver work with one record. With Virto Forms Designer App, the form can have a tab that only the approving group edits, while everyone else sees it read-only. In our purchase request form, the employee fills in the Request tab and finance completes the Order tab:

Edit form of a Purchase requests list built with Virto Forms Designer App, on the Request tab: item, quantity, estimated amount, department, supplier, needed-by date, approver and the reason for the request in two columns

Pic. 8. The Request tab of a purchase request, filled in by the employee

In the IT change request form, the change advisory board records its decision on a tab of its own:

The CAB decision tab of an IT change request form built with Virto Forms Designer App: CAB decision Approved with conditions and the conditions Run it after 19:00 and tell the service desk the day before

Pic. 9. The CAB decision tab, edited only by the change advisory board

The designer does not run approvals itself: the decision fields are ordinary columns, and Approvals in Lists or a Power Automate flow sends the request and writes the outcome into them.

Approvers also need to hear about new requests and be reminded of the ones still waiting. Virto Alerts & Reminder App emails the approver or posts to a Teams channel when a request arrives, and sends reminders before a date in the request or once it is overdue, without building a flow. For a worked example with a working-days formula, see how to add approval to a leave request form, and for a wider look at approval tools, our guide to automated approval workflows.

SharePoint list form vs Microsoft Forms

Both are called forms and both live in Microsoft 365, but they solve different problems. A SharePoint list form edits a record that lives on: it has a status, an owner and a history. Microsoft Forms collects answers: quick to build, easy to send to anyone, and finished once submitted. Microsoft Lists adds a third option in between, a shareable form whose answers become list items.

SharePoint list formMicrosoft Lists formsMicrosoft Forms
Who fills it inPeople in your organization, and guests with access to the siteSigned-in people in your organizationAnyone, including anonymous respondents, if your administrator allows it
Where an answer is storedA list itemA list itemIn Forms; in a list only through Power Automate
Choices from list dataYes, lookup columnsYes, lookup columns (respondents need read access to the source list)No
Changing an answer laterIn the Edit form, with edit rightsIn the list, with edit rightsIn Forms only, and only if the form allows it
Status, owner, historyYes, columns and version historyYes, in the listNo
ApprovalApprovals in Lists, Power Automate, content approvalThe same, on the listPower Automate
File uploadAttachmentsAttachmentsRespondents in your organization only

Fig. 3. SharePoint list form, Microsoft Lists forms and Microsoft Forms compared

A simple rule: if an answer needs an owner, a status or an approval after it arrives, it belongs in a list. If you need answers from people outside the organization, or anonymous ones, start in Microsoft Forms and send the responses to a list. For surveys, our guide to Microsoft Forms surveys covers question types, sharing and results.

Send Microsoft Forms responses to a SharePoint list

  1. Create the list with one column per question, using matching column types: Choice for choice questions, Date and time for dates.
  2. In Power Automate, create an Automated cloud flow with the Microsoft Forms trigger When a new response is submitted, and select your form.
  3. Add the Microsoft Forms action Get response details for the same form, with the response ID from the trigger.
  4. Add the SharePoint action Create item, select the site and list, and map each column to its answer.
  5. Save the flow, submit a test response and check that the new item appears.

Microsoft describes the trigger and the action in Overview of flows with Microsoft Forms and Common ways to use a form in a flow.

Where it breaks:

  • One direction only. The flow copies a new response into a new item. An answer edited later in Forms does not change the item, and an edit in the list does not reach Forms.
  • No list data in the form. Forms cannot offer a list’s values as choices, so a question such as “Which project?” is typed by hand.
  • Choices kept twice. A choice added to the list column does not appear in the form, and the reverse; keep them in step by hand.
  • Files stay in Forms storage. File upload works only for respondents in your organization, and the files go to the form owner’s OneDrive or the group’s site, not to the list item.

SharePoint lists vs SharePoint forms

A list is the table where requests are stored; a form is the screen for one row of it. The list holds the columns, views, permissions and history, and you change it in list settings, views and rules. The form decides which of those columns a person sees and in what order, and you change it with JSON, Power Apps or a form designer. Changing a form never changes the data already in the list. For more on lists themselves, see our guide to Microsoft Lists.

SharePoint form templates and examples

Among the templates in Microsoft Lists, three fit request processes: Issue tracker, Travel requests, which comes with approvals already turned on, and Asset manager. Each gives you the columns and a working form in a minute. For nine ready request forms with their columns, layout and approval, see our collection of SharePoint form templates. The eight request forms in the next section show what such a list looks like once every team has its own tab.

Real request forms built with Virto Forms Designer App

We built eight request forms on our own SharePoint site, each a list with a form in tabs and a tab that one team owns. Every page shows the forms as people see them:

Common SharePoint form issues and solutions

IssueCommon problemsRecommended solutions
Limited layoutOne long column, no tabsJSON sections, Power Apps, a form designer
Design and brandingPlain look, no logoJSON header and footer, Power Apps themes
ProcessNo approval, manual follow-upApprovals in Lists, Power Automate, list rules
CompatibilityDifferent behaviour on phones and browsersTest on the devices people use; keep forms short
PerformanceSlow forms on large listsIndexed columns, fewer lookup columns per form
SecurityToo many people can editList and item permissions, version history

Fig. 4. Common SharePoint form issues and how to fix them

Start with the lightest fix that solves the problem: JSON for layout, list validation for rules, Power Apps or a designer only when the native form falls short. Three problems deserve a closer look.

“Your account does not have required permission” when publishing a form

Virto Forms Designer App shows this message when the site does not allow custom script: publishing writes the form into the list as a page, and the Add and Customize Pages permission behind it is blocked on most SharePoint Online sites by default. It is the most common question we get about the app. A SharePoint administrator allows custom script for the site in the SharePoint admin center (Active sites → the site → Settings → Custom scripts) or with Set-SPOSite <SiteURL> -DenyAddAndCustomizePages 0. SharePoint switches it back to blocked within 24 hours (Microsoft Learn), and published forms keep working, so the permission is needed only while you publish or reset a form.

A hidden field is not a protected field

Hiding a column in the default form, hiding it with a formula in Power Apps, or making a tab read-only in a form designer all shape the form, not the data. Anyone with edit rights on the list can still change the value in grid view, in another form or through the API. To protect a value, use permissions: item-level permissions in the list’s advanced settings, or a separate list for the sensitive part with its own permissions.

A required field that only one group fills in

A required column has to be filled in on every save, and Virto Forms Designer App shows required fields to all users. Keep the columns that only approvers or one team fill in optional, and check them in the approval step instead.

Where are SharePoint forms stored?

SharePoint does not store forms as separate files; they are part of the list. Each submitted form is a list item, each field maps to a column, and attachments live in a hidden folder linked to the item.

ComponentStorage locationNotes
Standard form designThe list’s definitionThe default form
Power Apps form designThe Power Apps serviceLinked to the list, not stored in it
JSON form formattingThe list’s content typeChanges how the form looks only
Submitted dataList itemsEach field is a column
AttachmentsHidden attachments folderLinked to the list item

Fig. 5. Where SharePoint forms and their data are stored

Because the data lives in the list, it inherits SharePoint’s version history, item-level permissions, content approval, retention policies and metadata. Deleted items stay in the recycle bin for 93 days, and exporting to Excel or archiving with Power Automate adds another layer of protection.

FAQ

Can I customize a SharePoint list form without Power Apps?

Yes. The default form reorders and hides columns, shows a column only when another column has a certain value, and splits the form into sections with JSON. A form designer such as Virto Forms Designer App adds tabs and a form per SharePoint group without code; calculations on screen and cascading drop-downs need Power Apps or JavaScript.

How do I add approval to a SharePoint form?

Turn on Approvals in Lists (Integrate → Configure approvals) for a single sign-off, or build a Power Automate flow with Start and wait for an approval for several stages or rules by amount. Content approval keeps new items hidden until they are approved.

Can Microsoft Forms save responses to a SharePoint list?

Yes, with a Power Automate flow: When a new response is submitted, Get response details, then Create item in the list. The copy goes one way only: later edits in Forms do not update the item, and the form cannot show values from the list.

Can external or anonymous users fill in a SharePoint list form?

Not anonymously. A list form needs a signed-in user with access to the list, which can be a guest invited to the site. For anonymous or public respondents, use Microsoft Forms and send the answers to a list with Power Automate.

Where can I get SharePoint form templates?

Microsoft Lists has templates such as Issue tracker, Travel requests and Asset manager. The eight request forms in this guide show their columns, their layout and which team edits which tab. Our SharePoint form templates collection has nine request forms with their columns, layout and approval.

Conclusion

A SharePoint form is the front of a list, and that is its strength: every request becomes an item with a status, an owner and a history. Start with the default form, which does more than its reputation suggests. Reach for Power Apps when the form itself must calculate, or for a form designer when different people need different views of the same request. Run approval next to the form, and use Microsoft Forms when the people answering are outside your organization.

To see Virto Forms Designer App working on your own lists, book a demo.

Further reading: Customize a form for a SharePoint list (Microsoft) · What is SharePoint?