How to Use a Copilot Studio Agent to Submit Power Pages Forms on Behalf of the User

Forms are everywhere on a Power Pages site. People fill them out to request support, sign up for a service, book a slot, or send a question. But forms can be a chore. They have lots of fields, some of them confusing, and visitors often abandon them halfway through. What if the visitor could just chat instead? They tell the agent what they need in plain words, and the agent fills out and submits the form for them. That is exactly what a Copilot Studio agent can do, and in this guide I will show you how.

Why Let the Agent Submit the Form

A form asks a person to do the work. They have to read each label, figure out what goes where, and type it all in. A chat agent flips that around. It asks one friendly question at a time, gathers the answers, and handles the submission behind the scenes. For many people, that feels far easier than facing a wall of fields.

This approach also cuts down on errors. The agent can check each answer as it comes in, make sure a required detail is not missing, and confirm everything before it sends. The result is cleaner data for you and less frustration for the visitor.

How the Pieces Fit Together

The setup has three main parts. First, the Copilot Studio agent talks to the visitor and collects the answers. Second, those answers get stored in variables inside the conversation. Third, a Power Automate flow takes those variables and writes them into Dataverse, which is the same place your Power Pages form would have saved them. So the agent gathers, the flow saves, and the end result is the same record the form would have created.

This works because Power Pages forms are usually backed by a Dataverse table. When you understand that the form is really just a friendly way to create a row in a table, you can see how the agent can create that same row through a flow.

Step One: Collect the Answers in the Agent

Start in Copilot Studio. Build a topic that walks the visitor through the questions your form needs. Use Question nodes to ask for each piece of information, like name, email, and the reason for their request. Store each answer in a variable with a clear name so you can use it later.

Ask one thing at a time and keep the wording warm. Instead of a cold label like “Subject,” ask “What can we help you with today?” The whole point is to make this feel like a chat, not a form in disguise. You can also add checks, so if someone leaves out an email, the agent asks again before moving on.

Step Two: Build the Flow That Saves the Data

Next, create a Power Automate flow that the agent can call. In Copilot Studio you can add an action to a topic, and that action runs your flow. The flow takes the values the agent collected as inputs. Inside the flow, you add a step that creates a new row in the right Dataverse table, mapping each input to the matching column.

When the flow finishes, it can send a result back to the agent, like the new record number or a simple success message. That way the agent can tell the visitor their request went through and give them a reference to keep.

Step Three: Connect the Agent to the Flow

Back in your topic, add the action that calls the flow and pass in the variables you collected. Place this step after the agent has gathered everything it needs. Once the flow runs and returns, the agent can confirm the submission to the visitor with a clear, friendly message.

It is smart to add a confirmation step right before the agent submits. The agent can repeat the key details back and ask “Does this look right?” If the visitor says no, the agent can fix the detail before sending. This small step builds trust and avoids bad submissions.

Keep It Secure

Submitting a form on someone’s behalf means handling their data, so handle it with care. If the form should only be used by signed-in people, make sure the agent only offers this on pages behind a login. You can also pass the signed-in user’s details into the agent so the record is tied to the right person, instead of asking them to type information you already have.

On the flow side, make sure it only writes to the tables it should and nothing more. Give it the access it needs and no extra. And respect your table permissions, so the whole path stays as safe as the form would have been.

Test the Whole Path

Before you go live, run through the chat as a real visitor would. Answer the questions, let the agent submit, and then check Dataverse to confirm the record landed with the right values in the right columns. Try leaving out a required field to make sure the agent catches it. Try giving an odd answer to see how the agent handles it.

Also test the confirmation step. Say no when the agent asks if the details look right, and make sure it lets you correct things. A few minutes of testing here saves you from a pile of broken records later.

Wrapping Up

Letting a Copilot Studio agent submit Power Pages forms turns a tiring task into a simple chat. The agent collects the answers one at a time, a Power Automate flow writes them into Dataverse, and the visitor gets the same result with far less effort. Add a confirmation step, keep the data secure, and test the full path, and you give your visitors a smooth way to get things done without ever staring at a long form.

Share the Post: