One of the really cool features of PowerApps is the ability to use it to replace and enhance SharePoint list forms. Also if you have used InfoPath in the past for this same purpose, PowerApps is Microsoft’s preferred way of customizing SharePoint list forms going forward.

In this article, we will walk you through how to create a PowerApps SharePoint list form for a custom list. In our next article, we’ll show you how to do the same with the out of the box SharePoint lists (non-custom).

First, we need to start with either an existing custom list or create a new one. For this demo, we’ll create a simple Service Request list.

Creating the Service Request List

    1. Go to your SharePoint team site and click on New > List
    2. Enter Service Requests in the Name field and enter Used to Manage IT Service Requests in Description.
    3. Click on Create
    4. Next, let’s create the following columns (click on + Add column)
      1. Description – Multiple lines of text
      2. Requestor – Person
      3. Due Date – Date
      4. Assigned To – Person
      5. Status – Choice – Values: Pending, In Progress, On Hold, Completed, Cancelled
    1. When finished it should look like this:

    1. Click on New to see the default SharePoint list form:

Not a bad looking form – but if we want to add some branding like a logo or have a better structure for the form? That’s where we turn to PowerApps!

Using PowerApps to Customize a SharePoint List Form

  1. In your Service Requests list, click the down arrow next to PowerApps on the list toolbar and click on Customize forms:
  2. PowerApps editor will open and create a default form:
  3. Let’s make the form wider so we can have 2 columns of fields.
  4. Click on File > App Settings and change Orientation to Landscape
  5. Click on Apply
  6. Click on the back arrow to return to the PowerApps Editor:
  7. Grab the righthand middle control on the form and stretch it to the width of the page.
  8. On the data source menu, change the number of columns to 2. If you closed your data source menu, you can re-open it by click on Data – Service Requests link on the righthand edit menu.
  9. Your form should look like this:
  10. Next, let’s change the width of the Title and Description fields to cover 2 columns.
  11. Select the Title card and grab the righthand middle control and stretch it to the right side of the form.
  12. Note that the Description card was pushed down to the next line.
  13. Now select the Description card and do the same – stretch it to the right side of the form.
  14. Your form should look like this:
  15. Let’s save and publish your changes and test it with our SharePoint list.
  16. Click on File > Save
  17. Now click on Publish to SharePoint > Publish to SharePoint
  18. Click on the URL to our SharePoint list (it’s above the Saved timestamp)
  19. Back on your list, click on New
  20. You should see something similar to this:
  21. Close your form.
  22. Next, let’s add a logo and title to our form.
  23. Go back to the PowerApps Editor tab in your browser or in your Service Requests list, click the down arrow next to PowerApps on the list toolbar and click on Customize forms.
  24. In the Screens menu on the left, select your SharePoint form (SharePointForm1).
  25. Grab the top middle control on the form and drag it partially down the page (about 20%).
  26. From the Insert ribbon, click on Media > Image.
  27. On the Image menu to the right, click on Image – Select an image > Add an image file and select a logo file from your computer.
  28. Depending on what you selected, you may have to resize and reposition it.
  29. Next let’s add a Title to the form.
  30. Click on Label and double-click on Text. Enter Service Request Management.
  31. Click on Home and change the font size to 18.
  32. Change it to Semibold.
  33. Change the alignment to Center
  34. Using the controls, drag the label to the enter length of the form.
  35. Your form should look like this:
  36. Now Save, Publish and test your form:
  37. Note – if you don’t see your form changes, refresh your browser.
  38. Your form should look this this: