You are currently viewing Copilot Studio and AI builder – Better together. Post 3 – Power Pages: Creating a Public Application Submission Form

Copilot Studio and AI builder – Better together. Post 3 – Power Pages: Creating a Public Application Submission Form

Introduction

When building a modern, end-to-end hiring platform on the Power Platform, one of the most critical pieces is the public-facing application form. It needs to be clean, simple, and accessible—while still integrating tightly with your backend data model for automation and tracking.

In this post, we’ll show how to use Power Pages to create a public application portal that allows job seekers to:

  • View available job listings,
  • Submit their name and contact information,
  • Upload a resume,
  • And have it all stored and linked correctly in Dataverse.

This form is built for anonymous users, meaning no login or authentication is required—ideal for public submissions. Behind the scenes, the form creates Candidate, Resume, and Application records in a structured, relational format that sets the stage for automation via Power Automate, AI Builder, and Copilot Studio.

This post is part of an ongoing blog series exploring how to build a modern, AI-powered talent intake system using the Power Platform from end to end—including Dataverse modeling, Model-Driven Apps, Power Pages, and intelligent automation.


Why Power Pages?

Power Pages was the natural choice for exposing our application system to the public. It gave us the flexibility to:

  • Display live job listings directly from Dataverse.
  • Capture candidate information and resumes via a simple, secure form.
  • Trigger downstream automation immediately after submission (e.g., resume parsing, screening workflows).
  • Maintain full control over permissions and styling.

Form Flow Overview

The public application process is structured as follows

  1. Select a Job Posting

    The landing page displays a filtered list of active job postings. When a candidate selects one, we carry the Job Posting ID into the next step.

  2. Submit Candidate Information

    In this step, the user enters their name and email. This creates a new Candidate record in Dataverse if one is not already added.

  3. Upload Resume

    The candidate uploads a pdf resume, which is saved as a new Resume record related to the Candidate.

  4. Create Application Record

    Finally, we create an Application record linking the selected Job Posting and the uploaded Resume. This record becomes the entry point for screening, interview tracking, and Power BI reporting.

All of this happens anonymously—no need for user authentication. We handle relational logic and validations via JavaScript and Web API calls behind the scenes.

Web API in Action

To keep the experience smooth and responsive, we bypassed traditional Power Pages forms in favor of custom HTML and JavaScript that call the Dataverse Web API directly. This allowed us to:

  • Dynamically validate whether a Candidate/Resume combination already exists.
  • Chain entity creation in real time, carrying IDs between steps.
  • Control the look, feel, and logic of the form entirely—without sacrificing data integrity.

This API-first approach laid the groundwork for integrating Copilot Studio and AI Builder in upcoming posts, where we’ll add intelligent classification, screening automation, and follow-up communication.


 

Next Steps

With the public form in place, the pipeline is now open—from job posting to application intake. In the next post, we’ll enhance the process by using Copilot Studio to classify applications and extract key data from resumes using AI Builder.

Leave a Reply