# Interactive Forms in SharePoint: Let Copilot Build the Interface for the Job

> Build an interactive form over a SharePoint list with Copilot: a three-part prompt, rules it checks as you click, approving the update and saving it as a skill.

- URL: https://www.danielanderson.io/articles/copilot-sharepoint-interactive-forms/
- Author: Daniel Anderson, Microsoft MVP (https://www.danielanderson.io/)
- Published: 2026-11-13
- Video: https://www.youtube.com/watch?v=AXc9F45JL2I

## Key takeaways

- Copilot in SharePoint can generate an interactive form over a list or library from a prompt. You make your choices in the form and the list is updated after you approve the change.
- A prompt with three parts worked in my build: how to lay out the items, the rules to check as you click, and which columns to write back on submit.
- Submitting the form sends a message to Copilot. In my build, nothing in the list changed until I clicked Update on the Update items card.
- Saying "make this a skill" saved my form as an HTML template in Site Assets and a SKILL.md in Agent Assets, which I then ran on a second list with /leave-cover and that list's rules.
- A saved template can be changed from chat. I asked for requests with missing dates to be highlighted and set to Decline, and the next run of the skill did that.

Copilot in SharePoint can now build an interactive form over the top of a list or library. You describe the job and the rules in a prompt, Copilot generates a form on the data already in the list, you make your choices in it, and the list is updated once you approve the change.

We've all seen HTML views of lists and libraries by now. This goes the other way: it's about how you put data in. Microsoft calls these AI input forms. In my build, one form handled 11 Christmas leave requests in a single pass, with 7 approved, 4 declined and a decision note written against each one.

## Before you start

- **Copilot in SharePoint.** You build the form through Copilot in SharePoint, so the person building it needs a Microsoft 365 Copilot licence.
- **The feature in your tenant.** At the time of writing it's still rolling out, so it may not have reached your tenant yet.
- **A list with the right columns.** The form reads and writes columns. Mine had Employee, Team, Key role, Leave start, Leave end, Status and Decision note, with Team, Key role and Status as choice columns.

Everything below comes from a demo tenant with sample data. The two leave lists and the people in them are fictional.

## Which jobs suit an interactive form?

Typing gets you a long way with Copilot, but some jobs are hard to get through in text. Leave over Christmas is one of them. Everybody loves a leave calendar, and every approval changes the cover for that person's team.

To do that in chat you'd have to describe every decision in sentences, then ask what it did to the roster, then go again. In the list you'd be working through rows, grid view and the edit form, and counting in your head.

A form puts all of it in front of you while you work. Mine showed the pending requests as cards grouped by team, with a cover check for each team beside them that recalculated every time I clicked Approve or Decline. When a decision left a team short, the form said which days and why before I'd submitted anything.

A form earns its place when you need to put data in. To read a list a different way, use an [HTML list view](https://www.danielanderson.io/articles/sharepoint-html-list-views/).

## How do you prompt Copilot for an interactive form?

Open the list, open Copilot in SharePoint and ask for an interactive form. My prompt had three parts, and each one did a separate job.

**1. The layout.** What each item looks like and what you can do to it.

> Generate an interactive form for approving the Christmas leave requests in this list. Show each Pending request as a card grouped by team, with the person's name, dates and key role, and Approve and Decline buttons.

**2. The rules.** What the form has to check while you work, in plain words.

> Beside the cards, show a cover check for each team that updates as I click. Service Desk needs at least 4 in and a Team lead on every working day. Finance needs 3 and a Payments approver. Sales needs 2. Operations needs 3 and a Warehouse supervisor. Working days are 21 to 24 December, 29 to 31 December and 4 to 8 January. If a team breaks a rule, say which days and why in plain words, otherwise show a green tick.

**3. The write-back.** Which columns change when you submit.

> On submit, write Status and a one-line Decision note back to the list for each request.

Copilot rendered the form in an HTML preview over the list, with a Team cover panel on the right and a Submit decisions button underneath it.

## What happens when you submit the form?

In my build the form didn't write to the list itself. Submitting sent my decisions to Copilot as a chat message, and I saw that message before it went.

Copilot then showed an **Update items** card naming the list, the site and the columns it was about to change. Mine read "Item ID 1, Item ID 2 and 9 other items will be updated", with **Update** and **Cancel** buttons. I'm the human in the loop here. Nothing changed until I clicked Update.

Copilot's reply confirmed 11 requests updated in the Melbourne list, 7 approved and 4 declined, with the requests I hadn't selected left unchanged.

## How do you save the form as a skill?

I didn't want to re-prompt the whole thing every time, so I asked Copilot to keep it:

> Make this a skill called leave-cover. Save the form as a template in Site Assets, and have the skill load it with any leave list and that team's cover rules every time.

Copilot saved the form as an HTML template in Site Assets and created the skill. You can check it under **Site contents**, then **Agent Assets**, then **Skills**, where there's a leave-cover folder with a SKILL.md file inside. It also showed as enabled under **Site skills** in the site navigation. If skills are new to you, [what SharePoint skills are and how to build one](https://www.danielanderson.io/articles/sharepoint-skills/) covers the basics.

To run it, type a forward slash and the skill name, then give it the rules for that list:

> /leave-cover Finance needs 3 and a Payments approver. Operations needs 3 and a Warehouse supervisor. Sales needs 2. Service Desk needs 4 and a Team lead.

## Can you change the form after it's saved?

Yes, from chat. A few requests in my list had no dates, and I wanted those to stand out and default to Decline. Copilot asked one question before it changed the template: highlight only, or highlight and preselect Decline?

With the second option, the next run of the skill flagged three pending requests with missing dates and had Decline already selected on each. I could still change any of them before submitting. One prompt, one question, done.

The same skill then ran on a second list for the Brisbane office, which has different teams and different key roles. I passed in "Customer Care needs 3 and a Team lead, Dispatch needs 2 and a Dispatch supervisor" and got the same form with those two teams, their own cover checks, and Decline already set on the requests with a missing date.

## Write the rules down before you ask for the form

Copilot built my form from one prompt. The cover check in it was only as good as the sentence that said "Service Desk needs at least 4 in and a Team lead on every working day".

So before you prompt, I'd get the person who owns the policy to write the rules in plain words. They know who has to be in and on which days, and one line per team was enough for mine.

Then check the list can carry it. My rules lean on the Key role column, which is a choice column, so every team lead's row says Team lead. I haven't tested the same form over a free-text column, and I wouldn't want to. I've covered why in [why your SharePoint needs an information architecture before AI](https://www.danielanderson.io/articles/sharepoint-information-architecture-before-ai/).

I'd also keep the list as the record. The form is a more intuitive way of getting data in, and Status and Decision note still land in columns you can filter and report on. Once both lists were updated I asked Copilot for an HTML page that reads the two of them and shows approved, pending and declined leave on one calendar, with filters for office and team.

And I'd leave the Update step exactly where it is. Copilot in SharePoint works within the permissions of the person using it, and Update is where that person checks what's about to change.

## What to watch for

- **Rules go in on each run.** My skill loads the template and takes that list's cover rules from the prompt, so keep the rules somewhere your approvers can copy them from.
- **Same columns, different list.** Both of my lists had identical columns. I haven't tested the skill on a list with different column names.
- **Check the list afterwards.** Scroll across to Status and Decision note after the update and confirm they match what you chose in the form.

## Frequently asked questions

**What does the Update items card show before the list changes?**
In my build it named the list (Christmas Leave - Melbourne), the site (People Operations) and the two columns it would change, Status and Decision note. It also gave the item count, with Update and Cancel buttons underneath.

**Do interactive forms work on document libraries as well as lists?**
Microsoft has announced them for both lists and libraries. My build used two lists, so I haven't tested one over a library yet.

**Do I need a Copilot licence to use an interactive form?**
The form is generated, submitted and saved as a skill through Copilot in SharePoint, which needs a Microsoft 365 Copilot licence. I built and ran mine with a licensed account and haven't tested what an unlicensed user sees.

**How is this different from an HTML list view?**
An HTML view shows the list's data in a different layout. In [my multi-tab view](https://www.danielanderson.io/articles/sharepoint-html-view-tabs/), the Edit links open the standard SharePoint form in a new tab. An interactive form is built for input, so the changes you make in it are written back to the list through Copilot after you approve them.
