microsoft / microsoft/agentsleague

Project: Enterprise Agents - Article Forge

Open
#86 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

💼 Enterprise Agents
Dominant language
No language data
Stars
286
Forks
92
Avg merge
12h 44m
Merged PRs (30d)
1

Description

Track

Enterprise Agents (M365 Agents Toolkit)

Project Name

Article Forge

GitHub Username

@GeorgiaGit

Repository URL

https://github.com/GeorgiaGit/AgentForce.git

Project Description

The agent creates formatted KB articles for a SharePoint knowledge base repository by either:
a typed scenario (e.g., “Clear Teams cache on Windows and macOS”), or
an uploaded rough-draft PDF
Purpose: Rapidly respond with consistent KB articles while creating a continuous knowledge base.

Demo Video or Screenshots

Demo Video https://youtu.be/DdwH42_PuMs
Screen Shots https://github.com/GeorgiaGit/AgentForce/tree/main/assets/screenshots

Primary Programming Language

C#/.NET

Key Technologies Used
  • Microsoft Copilot Studio
  • Microsoft Graph
  • Azure Functions C#
  • AI Builder / Dataverse
Submission Type

Individual

Team Members

No response

Submission Requirements
  • My project meets the track-specific challenge requirements
  • My repository includes a comprehensive README.md with setup instructions
  • My code does not contain hardcoded API keys or secrets
  • I have included demo materials (video or screenshots)
  • My project is my own work with proper attribution for any third-party code
  • I agree to the Code of Conduct
  • I have read and agree to the Disclaimer
  • My submission does NOT contain any confidential, proprietary, or sensitive information
  • I confirm I have the rights to submit this content and grant the necessary licenses
Quick Setup Summary

Public Quick Start: Import Agent + Connect Azure Function

This guide is for a new user who cloned this public repo and wants to run the solution.

What you need first

  • A Microsoft Copilot Studio environment
  • A Power Platform environment where you can import an unmanaged solution
  • An Azure subscription where you can deploy an Azure Function
  • Power Platform + Azure admin permissions (or help from your admin)

1) Deploy the Azure Function first

Use the Azure Function project in this repo:

  • Project folder: VSCode/SharePointPageCreation_public-template

Follow the deployment steps in:

When done, save these values:

  • Function host URL (example: https://<FUNCTION_APP_NAME>.azurewebsites.net)
  • API app registration details (client/app IDs, scope URI)
  • Copilot client app registration details

2) Import the Copilot Studio unmanaged solution

  1. Open Power Apps maker portal.
  2. Select your target environment.
  3. Go to Solutions > Import. AgentForce_1_0_0_1_unmanaged.zip
  4. Select the unmanaged solution zip.
  5. Complete import and wait for success.

3) Reconnect actions after import

After import, open the solution and fix connection references:

  1. Open Connection references.
  2. Create or rebind each reference to your environment connections.
  3. For the SharePoint Page Creation connector, confirm OAuth values match your tenant/app setup.

4) Update environment-specific values

In Copilot Studio, update any placeholder or old values:

  • SharePoint site URL
  • Function/API host URL
  • OAuth scope (api://.../access_as_user)
  • Redirect URI(s) in app registration

5) Validate Easy Auth alignment (required)

In Azure Function Authentication (Easy Auth v2), make sure:

  • Allowed audiences includes your API identifier URI
  • Allowed applications includes your Copilot client app ID
  • Unauthenticated action is set appropriately (Return401 for production)

Use the runbook for exact checks:

6) Test end-to-end

  1. Open the agent in Copilot Studio.
  2. Ask it to generate a KB preview.
  3. Choose Continue (if your topic flow requires it).
  4. Confirm the SharePoint page is created.
  5. Confirm output fields return (success, message, pageUrl, serverRelativeUrl).

Common issues

  • 401/403 from API: Easy Auth allowed app/audience mismatch.
  • Connector sign-in fails: Redirect URI mismatch between connector and app registration.
  • Import works but action fails: connection reference not rebound in target environment.
  • No page created: managed identity/Graph permissions missing on function app.

Public repo safety checklist

Before pushing changes:

  • Do not commit real tenant URLs, client IDs, or environment IDs unless intended.
  • Do not commit secrets, keys, certs, or local.settings.json with real values.
  • Keep sample values as placeholders in docs and payload files.
Technical Highlights

Wiring up the Azure Function with OAuth in Copilot Studio is the one thing I'm most proud of.

Challenges & Learnings

What I’ve Learned

The biggest challenge for me was simply doing the work. From Copilot Dev Camp to Agent Academy, the examples all make perfect sense in isolation. The difficulty comes when you try to apply those concepts to a real problem—mentally shifting from traditional, linear programming to composing solutions by orchestrating AI-driven components.

Watching Luise Freese wire up Azure Functions during the agent battle was a turning point for me. It shifted my trajectory away from purely declarative creativity and back toward Copilot Studio, paired with the flexibility and power of Azure. In hindsight, starting my very first agent with these concepts may not have been the easiest path—but it was a valuable one.

The most important skill I’ve gained is learning how to build orchestration. The more I built, the more ideas I had for where this agent could evolve. A key milestone was getting Azure authentication working correctly and successfully returning a usable payload.

At this stage, the function creates the page and injects the markdown content. However, additional work is needed using the SharePoint API to fully incorporate a page template and complete the end-to-end experience.

Contact Information

https://www.linkedin.com/in/andrewkburns/

Country/Region

United States

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The submission points to GeorgiaGit/AgentForce.git and identifies VSCode/SharePointPageCreation_public-template as the Azure Function project; start with its README and copilot-easy-auth-alignment-runbook.md. Review the deployment, OAuth, Easy Auth, solution import, and end-to-end validation steps, with successful KB preview-to-SharePoint page creation as the completion check.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
ai, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.