From e4c750e0d7f8149900656c80c1d8c235db2e7d8f Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:15:55 -0400 Subject: [PATCH 01/13] Add files via upload --- .../PPTWORDTemplateGenerator_1_0_0_2.zip | Bin 0 -> 77669 bytes src/pages/scenarios/PR_BODY.md | 26 + src/pages/scenarios/README.md | 18 + .../scenarios/brand-template-generation.astro | 193 ++++++ src/pages/scenarios/index.astro | 560 ++++++++++++++++++ src/pages/scenarios/templatize_docx.py | 156 +++++ 6 files changed, 953 insertions(+) create mode 100644 src/pages/scenarios/PPTWORDTemplateGenerator_1_0_0_2.zip create mode 100644 src/pages/scenarios/PR_BODY.md create mode 100644 src/pages/scenarios/README.md create mode 100644 src/pages/scenarios/brand-template-generation.astro create mode 100644 src/pages/scenarios/index.astro create mode 100644 src/pages/scenarios/templatize_docx.py diff --git a/src/pages/scenarios/PPTWORDTemplateGenerator_1_0_0_2.zip b/src/pages/scenarios/PPTWORDTemplateGenerator_1_0_0_2.zip new file mode 100644 index 0000000000000000000000000000000000000000..158da8d51646f98f71ef2d6f14a96860d27539d3 GIT binary patch literal 77669 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 b4O(1RUx#7c%E!dPKP?^zTDKW|nSuTTe}Uge literal 0 HcmV?d00001 diff --git a/src/pages/scenarios/PR_BODY.md b/src/pages/scenarios/PR_BODY.md new file mode 100644 index 0000000..6a2d97e --- /dev/null +++ b/src/pages/scenarios/PR_BODY.md @@ -0,0 +1,26 @@ +## Summary +- Adds a fifth scenario: **Brand template generation** — preserves the customer's PPT/Word template shapes, logos, formatting, and layout while filling placeholders from contextual inputs. +- Registers the scenario card on the landing page. +- Ships the available contributed `PPTWORDTemplateGenerator` solution zip and `templatize_docx.py` helper under `sample/templates/`. + +## Why +Existing "make me a deck" flows regenerate slides from scratch and lose brand fidelity. This scenario shows how ETC can chain a templatize step with contextual placeholder filling so the source file's shapes, logos, fonts, and layout stay untouched. + +## How it works +1. `templatize_*` walks the file, preserves brand elements, and replaces editable text with named placeholders. +2. The agent uses ETC to decide which placeholders need clarifying questions vs. tool calls vs. inference. +3. A fill step writes values back in place so the output preserves the original document design outside placeholder text. + +## Test plan +- [x] `npm run build` succeeds +- [x] New `/scenarios/brand-template-generation/` route builds +- [x] New card is registered on the home page +- [ ] Solution zip downloads from the linked path after PR is published +- [ ] Add/confirm companion fill script and verify end-to-end with ETC enabled in a Power Platform Early Release environment + +## Notes +- Local contribution files included `PPTWORDTemplateGenerator_1_0_0_2.zip` and `templatize_docx.py`; the companion fill script referenced by the scenario was not present locally. +- Early Release wording follows the existing sample README language. + +## Credit +Contributed by Betty Le (Microsoft, Cloud Solution Architect). diff --git a/src/pages/scenarios/README.md b/src/pages/scenarios/README.md new file mode 100644 index 0000000..c6933bc --- /dev/null +++ b/src/pages/scenarios/README.md @@ -0,0 +1,18 @@ +# Brand template generation sample + +This folder contains the contributed assets for the brand template generation scenario. + +## Contents + +| Path | Description | +|---|---| +| `PPTWORDTemplateGenerator_1_0_0_2.zip` | Power Platform solution package for the template generation scenario. | +| `scripts/templatize_docx.py` | Python helper that converts editable Word document text into named placeholders while preserving document structure and formatting. | + +## Setup + +1. Import `PPTWORDTemplateGenerator_1_0_0_2.zip` into a Power Platform environment with Copilot Studio on the **Early Release** channel. +2. Turn on Enhanced Task Completion in the agent's Generative AI settings. +3. Add the scripts in `scripts/` as template-processing tools or knowledge-backed code assets. + +The companion fill script described in the scenario was not present with the local contribution files used for this PR. Add it to `scripts/` before validating the full templatize-and-fill flow end to end. diff --git a/src/pages/scenarios/brand-template-generation.astro b/src/pages/scenarios/brand-template-generation.astro new file mode 100644 index 0000000..a04f31b --- /dev/null +++ b/src/pages/scenarios/brand-template-generation.astro @@ -0,0 +1,193 @@ +--- +import Base from '../../layouts/Base.astro'; + +const base = import.meta.env.BASE_URL; +--- + + +

+
+ ← All scenarios + +
+ Template-Aware Generation +

Brand Template Generation

+

+ The agent reads a brand-styled PowerPoint or Word template, preserves its + shapes, logos, and formatting, and fills placeholders with contextual content + from the user's request and prior tool calls. +

+
+ +
+

The conversation

+

+ Use this with a brand-approved template when the source file's layout, logos, + and formatting must stay intact. +

+ +
    +
  1. +
    1
    +
    +
    You
    +
    +
    + Here's our standard customer QBR deck. Identify the shapes and logos + that should be preserved and turn the editable text into placeholders. +
    +
    +
    +
  2. +
  3. +
    +
    +
    Agent
    +
    +
    templatize_* preserves decorative shapes, logos, images, and layout
    +

    Replaces editable text frames with named placeholders such as {'{{exec_summary}}'} and {'{{section_1_title}}'}.

    +
    +
    +
  4. +
  5. +
    2
    +
    +
    You
    +
    +
    + Using this templatized deck, generate a Q1 review for Contoso. The + exec summary should pull from the email thread I shared, and the + metrics slide should use the figures from the attached spreadsheet. +
    +
    +
    +
  6. +
  7. +
    +
    +
    Agent
    +
    +

    Reads the placeholder list, determines which values can be inferred, and asks only for missing details.

    +
    fill_template writes placeholder values back in place
    +

    Returns the finished file with the original brand system intact.

    +
    +
    +
  8. +
+
+ +
+

Why this matters

+

+ Most "make me a deck" agents regenerate slides from scratch and lose the + customer's brand system in the process: fonts shift, logos move, footers + disappear, and color palettes drift. This scenario keeps the original file as + the source of truth and only writes into the spots that are meant to change. +

+
+ +
+

Setup

+
+
+

Import the solution

+

+ Import sample/templates/PPTWORDTemplateGenerator_1_0_0_2.zip + into a Power Platform environment with Copilot Studio on the + Early Release channel. +

+
+
+

Add the scripts

+

+ Use the scripts under sample/templates/scripts/ as the + template-processing tools. Add any companion fill script from the + contributed package before running the end-to-end flow. +

+
+
+

Enable ETC

+

+ Turn on Enhanced Task Completion in the agent's Generative AI settings so + the agent can plan across placeholder discovery, clarifying questions, and + final file generation. +

+
+
+
+ +
+

ETC capabilities demonstrated

+
+
+

Preserve brand fidelity

+

Shapes, images, logos, headers, footers, fonts, and layout stay untouched while editable text is replaced with structured placeholders.

+
+
+

Ask only when needed

+

The agent decides which placeholders require clarifying questions and which can be filled from context, files, or tool calls.

+
+
+

Chain file tools

+

Templatizing and filling are separate steps, letting the agent pass a placeholder map forward without regenerating the whole document.

+
+
+
+ +
+

Variants

+
+
+

Cowork + Skills

+

Run the same pipeline as a Cowork skill if you prefer that surface. The host changes, but the template-preserving flow is identical.

+
+
+

Word documents

+

Use the same flow for .docx files to preserve headers, footers, logos, tables, and body formatting.

+
+
+
+ +
+

Credit

+

Contributed by Betty Le (Microsoft, Cloud Solution Architect).

+
+
+
+ + + diff --git a/src/pages/scenarios/index.astro b/src/pages/scenarios/index.astro new file mode 100644 index 0000000..e417f6e --- /dev/null +++ b/src/pages/scenarios/index.astro @@ -0,0 +1,560 @@ +--- +import Base from '../layouts/Base.astro'; +import ScenarioCard from '../components/ScenarioCard.astro'; + +const base = import.meta.env.BASE_URL; +--- + + + +
+
+
+
+
+ CAT +
+ Copilot Studio CAT + Feature Guide +
+
+

Enhanced Task
Completion

+

+ This guide helps you get started with Enhanced Task Completion, + a new experimental orchestration mode that lets agents reason dynamically, chain tools, + delegate to other agents, and recover from failures. Explore the scenarios + below, then try the deployable sample. +

+ +
+
+
+
+ + + +
+
+
I'm Sarah Mitchell. I'd like to return my Apex headphones, they have a crackling sound. Also, where's my LumiRead order?
+
Let me look up your orders!
+
🔍 search_orders
+
Found 3 orders. Pulling details...
+
📦 get_order ×2
+
🔄 request_return
+
🚚 get_shipment
+
Return initiated! RA-50022 – your $349.99 refund is on the way.
+
+
+
+
+
+ + +
+
+ +

What your agent can do with ETC

+

With Enhanced Task Completion enabled, your agent gains new capabilities that let it handle complex, multi-step tasks autonomously.

+ +
+
+
🧠
+

Ask clarifying questions

+

Instead of guessing, the agent asks targeted follow-up questions to gather the information it needs before taking action.

+
+
+
🔗
+

Chain tools intelligently

+

Recognizes when one tool's output feeds into another, sequences dependent calls, and parallelizes independent ones.

+
+
+
🔄
+

Adapt its plan

+

Adjusts its approach mid-conversation based on what it learns from tool results, user responses, and changing context.

+
+
+
💬
+

Natural conversation

+

Interleaves questions, tool calls, and responses fluidly across multiple turns. Keeps the user informed at every step.

+
+
+
+

Follow instructions closely

+

Adheres to the instructions you provide, resulting in more consistent and predictable behavior.

+
+
+
🛡️
+

Recover from errors

+

When a tool call fails, the agent retries with corrected parameters or finds an alternative approach rather than giving up.

+
+
+
+
+ + +
+
+ +

See it in action

+

Each scenario demonstrates a different Enhanced Task Completion capability through a realistic e-commerce customer service example with 9 tools across two MCP servers.

+ +
+ + + + + +
+
+
+ + +
+
+
+
+ +

Try it yourself

+

Import one solution zip, create connections, publish, and start testing. No servers or code needed, everything runs inside the Power Platform.

+ +
+
+
+ 1 +
+ Import the solution +

Upload the zip file in Power Apps

+
+
+
+ 2 +
+ Create connections +

Click Create for each MCP connector

+
+
+
+ 3 +
+ Publish & test +

Publish both agents, then try the prompts

+
+
+
+ 4 +
+ Deploy the chat UI optional +

A lightweight web app for demos to non-makers

+
+
+
+
+
+
+ + + diff --git a/src/pages/scenarios/templatize_docx.py b/src/pages/scenarios/templatize_docx.py new file mode 100644 index 0000000..e407fa0 --- /dev/null +++ b/src/pages/scenarios/templatize_docx.py @@ -0,0 +1,156 @@ +""" +Convert a Word document into a template by replacing every shape's and +paragraph's text with a {{name}} placeholder. Preserves run formatting, +table structure, text boxes, and content controls (SDTs). + +Walks: + - Body paragraphs and tables + - Text boxes inside drawings (w:txbxContent) + - Structured Document Tags / content controls (w:sdt) + - Headers and footers + +Usage: + python templatize_docx.py input.docx output.docx +""" + +import re +import sys + +from docx import Document +from docx.oxml.ns import qn + +W = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" + + +def slugify(name: str) -> str: + name = re.sub(r"[^A-Za-z0-9]+", "_", name or "field").strip("_").lower() + return name or "field" + + +class PlaceholderNamer: + def __init__(self): + self.seen: dict[str, int] = {} + + def next(self, raw_name: str) -> str: + base = slugify(raw_name) + count = self.seen.get(base, 0) + 1 + self.seen[base] = count + return base if count == 1 else f"{base}_{count}" + + +def paragraph_text(p_elem) -> str: + parts = [] + for t in p_elem.iter(qn("w:t")): + parts.append(t.text or "") + return "".join(parts) + + +def replace_paragraph_text(p_elem, token: str) -> None: + """Replace paragraph text with {{token}}, keeping the first run's formatting.""" + runs = p_elem.findall(qn("w:r")) + if not runs: + # No runs -- create a minimal run. + r = p_elem.makeelement(qn("w:r"), {}) + t = p_elem.makeelement(qn("w:t"), {}) + t.text = f"{{{{{token}}}}}" + r.append(t) + p_elem.append(r) + return + + first_run = runs[0] + + # Remove all but the first run. + for r in runs[1:]: + p_elem.remove(r) + + # Inside the first run, drop everything except w:rPr (formatting), then add a fresh w:t. + rPr = first_run.find(qn("w:rPr")) + for child in list(first_run): + if child.tag != qn("w:rPr"): + first_run.remove(child) + if rPr is None: + # rPr was absent -- nothing extra to do. + pass + + t = first_run.makeelement(qn("w:t"), {"{http://www.w3.org/XML/1998/namespace}space": "preserve"}) + t.text = f"{{{{{token}}}}}" + first_run.append(t) + + +def container_name(elem) -> str: + """Best-effort name for a container (text box, sdt, etc.).""" + # Text boxes: the parent drawing has a wp:docPr / wps:cNvPr with a name attr. + parent = elem.getparent() + while parent is not None: + for child in parent.iter(): + tag = child.tag.split("}")[-1] + if tag in ("docPr", "cNvPr") and child.get("name"): + return child.get("name") + parent = parent.getparent() if hasattr(parent, "getparent") else None + # Don't walk forever. + break + + # SDT alias / tag. + sdtPr = elem.find(qn("w:sdtPr")) + if sdtPr is not None: + alias = sdtPr.find(qn("w:alias")) + if alias is not None and alias.get(qn("w:val")): + return alias.get(qn("w:val")) + tag = sdtPr.find(qn("w:tag")) + if tag is not None and tag.get(qn("w:val")): + return tag.get(qn("w:val")) + return "" + + +def process_paragraphs_in(scope_elem, namer: PlaceholderNamer, default_prefix: str = "field") -> int: + """Walk every w:p inside scope_elem and replace its text if non-empty.""" + count = 0 + for p in scope_elem.iter(qn("w:p")): + text = paragraph_text(p).strip() + if not text: + continue + + # Try to derive a name from the nearest ancestor container. + name = "" + ancestor = p.getparent() + while ancestor is not None: + tag = ancestor.tag.split("}")[-1] + if tag in ("txbxContent", "sdtContent", "tc"): + name = container_name(ancestor.getparent() if tag == "sdtContent" else ancestor) + if name: + break + ancestor = ancestor.getparent() if hasattr(ancestor, "getparent") else None + + token = namer.next(name or default_prefix) + replace_paragraph_text(p, token) + count += 1 + return count + + +def templatize(src: str, dst: str) -> None: + doc = Document(src) + namer = PlaceholderNamer() + total = 0 + + # Body + total += process_paragraphs_in(doc.element.body, namer, default_prefix="body") + + # Headers and footers + for section in doc.sections: + for hf in (section.header, section.footer, + section.first_page_header, section.first_page_footer, + section.even_page_header, section.even_page_footer): + try: + total += process_paragraphs_in(hf._element, namer, default_prefix="header_footer") + except Exception: + continue + + doc.save(dst) + print(f"Done. {total} placeholder(s) written to {dst}") + + +if __name__ == "__main__": + if len(sys.argv) != 3: + print("Usage: python templatize_docx.py input.docx output.docx") + sys.exit(1) + templatize(sys.argv[1], sys.argv[2]) From 417f1417de1fc9de147f873a5d062dfc7f9210be Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:18:01 -0400 Subject: [PATCH 02/13] Update index.astro --- src/pages/index.astro | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/pages/index.astro b/src/pages/index.astro index 73bbbae..8f488b9 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -134,6 +134,14 @@ const base = import.meta.env.BASE_URL; href={`${base}scenarios/conversational-guidance`} image={`${base}images/scenario-reasoning.png`} /> + From 0646a69255b2409e0eae04b141dc0a7efc9a5dfc Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:20:38 -0400 Subject: [PATCH 03/13] Update index.astro --- src/pages/index.astro | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/index.astro b/src/pages/index.astro index 8f488b9..32a55cf 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -134,6 +134,7 @@ const base = import.meta.env.BASE_URL; href={`${base}scenarios/conversational-guidance`} image={`${base}images/scenario-reasoning.png`} /> + Date: Mon, 18 May 2026 11:25:17 -0400 Subject: [PATCH 04/13] Register brand template generation scenario --- src/pages/index.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index 32a55cf..5ca6e3d 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -540,7 +540,7 @@ const base = import.meta.env.BASE_URL; } .hero__subtitle { font-size: 0.95rem; - } + } .hero__actions { flex-direction: column; } From 71a4215d979f7d0e36a4d0cde3d7278a9308076b Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:27:24 -0400 Subject: [PATCH 05/13] Add brand template sample README --- sample/templates/README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 sample/templates/README.md diff --git a/sample/templates/README.md b/sample/templates/README.md new file mode 100644 index 0000000..08d1b17 --- /dev/null +++ b/sample/templates/README.md @@ -0,0 +1,18 @@ +# Brand template generation sample + +This folder contains the contributed assets for the brand template generation scenario. + +## Contents + +| Path | Description | +|---|---| +| `PPTWORDTemplateGenerator_1_0_0_2.zip` | Power Platform solution package for the template generation scenario. | +| `scripts/templatize_docx.py` | Python helper that converts editable Word document text into named placeholders while preserving document structure and formatting. | + +## Setup + +1. Import `PPTWORDTemplateGenerator_1_0_0_2.zip` into a Power Platform environment with Copilot Studio on the **Early Release** channel. +2. Turn on Enhanced Task Completion in the agent's Generative AI settings. +3. Add the scripts in `scripts/` as template-processing tools or knowledge-backed code assets. + +The companion fill script described in the scenario was not present with the local contribution files used for this PR. Add it to `scripts/` before validating the full templatize-and-fill flow end to end. From 0a934b611a628e8f0bbfd08e8d1e5c4597d97303 Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:29:32 -0400 Subject: [PATCH 06/13] Add templatize docx helper script --- sample/templates/scripts/templatize_docx.py | 156 ++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 sample/templates/scripts/templatize_docx.py diff --git a/sample/templates/scripts/templatize_docx.py b/sample/templates/scripts/templatize_docx.py new file mode 100644 index 0000000..e407fa0 --- /dev/null +++ b/sample/templates/scripts/templatize_docx.py @@ -0,0 +1,156 @@ +""" +Convert a Word document into a template by replacing every shape's and +paragraph's text with a {{name}} placeholder. Preserves run formatting, +table structure, text boxes, and content controls (SDTs). + +Walks: + - Body paragraphs and tables + - Text boxes inside drawings (w:txbxContent) + - Structured Document Tags / content controls (w:sdt) + - Headers and footers + +Usage: + python templatize_docx.py input.docx output.docx +""" + +import re +import sys + +from docx import Document +from docx.oxml.ns import qn + +W = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" + + +def slugify(name: str) -> str: + name = re.sub(r"[^A-Za-z0-9]+", "_", name or "field").strip("_").lower() + return name or "field" + + +class PlaceholderNamer: + def __init__(self): + self.seen: dict[str, int] = {} + + def next(self, raw_name: str) -> str: + base = slugify(raw_name) + count = self.seen.get(base, 0) + 1 + self.seen[base] = count + return base if count == 1 else f"{base}_{count}" + + +def paragraph_text(p_elem) -> str: + parts = [] + for t in p_elem.iter(qn("w:t")): + parts.append(t.text or "") + return "".join(parts) + + +def replace_paragraph_text(p_elem, token: str) -> None: + """Replace paragraph text with {{token}}, keeping the first run's formatting.""" + runs = p_elem.findall(qn("w:r")) + if not runs: + # No runs -- create a minimal run. + r = p_elem.makeelement(qn("w:r"), {}) + t = p_elem.makeelement(qn("w:t"), {}) + t.text = f"{{{{{token}}}}}" + r.append(t) + p_elem.append(r) + return + + first_run = runs[0] + + # Remove all but the first run. + for r in runs[1:]: + p_elem.remove(r) + + # Inside the first run, drop everything except w:rPr (formatting), then add a fresh w:t. + rPr = first_run.find(qn("w:rPr")) + for child in list(first_run): + if child.tag != qn("w:rPr"): + first_run.remove(child) + if rPr is None: + # rPr was absent -- nothing extra to do. + pass + + t = first_run.makeelement(qn("w:t"), {"{http://www.w3.org/XML/1998/namespace}space": "preserve"}) + t.text = f"{{{{{token}}}}}" + first_run.append(t) + + +def container_name(elem) -> str: + """Best-effort name for a container (text box, sdt, etc.).""" + # Text boxes: the parent drawing has a wp:docPr / wps:cNvPr with a name attr. + parent = elem.getparent() + while parent is not None: + for child in parent.iter(): + tag = child.tag.split("}")[-1] + if tag in ("docPr", "cNvPr") and child.get("name"): + return child.get("name") + parent = parent.getparent() if hasattr(parent, "getparent") else None + # Don't walk forever. + break + + # SDT alias / tag. + sdtPr = elem.find(qn("w:sdtPr")) + if sdtPr is not None: + alias = sdtPr.find(qn("w:alias")) + if alias is not None and alias.get(qn("w:val")): + return alias.get(qn("w:val")) + tag = sdtPr.find(qn("w:tag")) + if tag is not None and tag.get(qn("w:val")): + return tag.get(qn("w:val")) + return "" + + +def process_paragraphs_in(scope_elem, namer: PlaceholderNamer, default_prefix: str = "field") -> int: + """Walk every w:p inside scope_elem and replace its text if non-empty.""" + count = 0 + for p in scope_elem.iter(qn("w:p")): + text = paragraph_text(p).strip() + if not text: + continue + + # Try to derive a name from the nearest ancestor container. + name = "" + ancestor = p.getparent() + while ancestor is not None: + tag = ancestor.tag.split("}")[-1] + if tag in ("txbxContent", "sdtContent", "tc"): + name = container_name(ancestor.getparent() if tag == "sdtContent" else ancestor) + if name: + break + ancestor = ancestor.getparent() if hasattr(ancestor, "getparent") else None + + token = namer.next(name or default_prefix) + replace_paragraph_text(p, token) + count += 1 + return count + + +def templatize(src: str, dst: str) -> None: + doc = Document(src) + namer = PlaceholderNamer() + total = 0 + + # Body + total += process_paragraphs_in(doc.element.body, namer, default_prefix="body") + + # Headers and footers + for section in doc.sections: + for hf in (section.header, section.footer, + section.first_page_header, section.first_page_footer, + section.even_page_header, section.even_page_footer): + try: + total += process_paragraphs_in(hf._element, namer, default_prefix="header_footer") + except Exception: + continue + + doc.save(dst) + print(f"Done. {total} placeholder(s) written to {dst}") + + +if __name__ == "__main__": + if len(sys.argv) != 3: + print("Usage: python templatize_docx.py input.docx output.docx") + sys.exit(1) + templatize(sys.argv[1], sys.argv[2]) From 7aadaca3b87fd2ff2935dafb8d0f1d32ce473869 Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:31:35 -0400 Subject: [PATCH 07/13] Add files via upload --- .../PPTWORDTemplateGenerator_1_0_0_2.zip | Bin 0 -> 77669 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sample/templates/PPTWORDTemplateGenerator_1_0_0_2.zip diff --git a/sample/templates/PPTWORDTemplateGenerator_1_0_0_2.zip b/sample/templates/PPTWORDTemplateGenerator_1_0_0_2.zip new file mode 100644 index 0000000000000000000000000000000000000000..158da8d51646f98f71ef2d6f14a96860d27539d3 GIT binary patch literal 77669 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 b4O(1RUx#7c%E!dPKP?^zTDKW|nSuTTe}Uge literal 0 HcmV?d00001 From 8b87d6d646fbdd551be2d707499872fa638a5ef4 Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:32:56 -0400 Subject: [PATCH 08/13] Remove misplaced PR_BODY.md --- src/pages/scenarios/PR_BODY.md | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 src/pages/scenarios/PR_BODY.md diff --git a/src/pages/scenarios/PR_BODY.md b/src/pages/scenarios/PR_BODY.md deleted file mode 100644 index 6a2d97e..0000000 --- a/src/pages/scenarios/PR_BODY.md +++ /dev/null @@ -1,26 +0,0 @@ -## Summary -- Adds a fifth scenario: **Brand template generation** — preserves the customer's PPT/Word template shapes, logos, formatting, and layout while filling placeholders from contextual inputs. -- Registers the scenario card on the landing page. -- Ships the available contributed `PPTWORDTemplateGenerator` solution zip and `templatize_docx.py` helper under `sample/templates/`. - -## Why -Existing "make me a deck" flows regenerate slides from scratch and lose brand fidelity. This scenario shows how ETC can chain a templatize step with contextual placeholder filling so the source file's shapes, logos, fonts, and layout stay untouched. - -## How it works -1. `templatize_*` walks the file, preserves brand elements, and replaces editable text with named placeholders. -2. The agent uses ETC to decide which placeholders need clarifying questions vs. tool calls vs. inference. -3. A fill step writes values back in place so the output preserves the original document design outside placeholder text. - -## Test plan -- [x] `npm run build` succeeds -- [x] New `/scenarios/brand-template-generation/` route builds -- [x] New card is registered on the home page -- [ ] Solution zip downloads from the linked path after PR is published -- [ ] Add/confirm companion fill script and verify end-to-end with ETC enabled in a Power Platform Early Release environment - -## Notes -- Local contribution files included `PPTWORDTemplateGenerator_1_0_0_2.zip` and `templatize_docx.py`; the companion fill script referenced by the scenario was not present locally. -- Early Release wording follows the existing sample README language. - -## Credit -Contributed by Betty Le (Microsoft, Cloud Solution Architect). From d3440c2560e548f44a0a209fdea237e243d983f1 Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:34:01 -0400 Subject: [PATCH 09/13] Remove misplaced PPTWORDTemplateGenerator_1_0_0_2.zip --- .../PPTWORDTemplateGenerator_1_0_0_2.zip | Bin 77669 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/pages/scenarios/PPTWORDTemplateGenerator_1_0_0_2.zip diff --git a/src/pages/scenarios/PPTWORDTemplateGenerator_1_0_0_2.zip b/src/pages/scenarios/PPTWORDTemplateGenerator_1_0_0_2.zip deleted file mode 100644 index 158da8d51646f98f71ef2d6f14a96860d27539d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77669 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 b4O(1RUx#7c%E!dPKP?^zTDKW|nSuTTe}Uge From 67fc268408908745fad13080cfd2c00a96c950ad Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:35:05 -0400 Subject: [PATCH 10/13] Remove misplaced README.md --- src/pages/scenarios/README.md | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 src/pages/scenarios/README.md diff --git a/src/pages/scenarios/README.md b/src/pages/scenarios/README.md deleted file mode 100644 index c6933bc..0000000 --- a/src/pages/scenarios/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Brand template generation sample - -This folder contains the contributed assets for the brand template generation scenario. - -## Contents - -| Path | Description | -|---|---| -| `PPTWORDTemplateGenerator_1_0_0_2.zip` | Power Platform solution package for the template generation scenario. | -| `scripts/templatize_docx.py` | Python helper that converts editable Word document text into named placeholders while preserving document structure and formatting. | - -## Setup - -1. Import `PPTWORDTemplateGenerator_1_0_0_2.zip` into a Power Platform environment with Copilot Studio on the **Early Release** channel. -2. Turn on Enhanced Task Completion in the agent's Generative AI settings. -3. Add the scripts in `scripts/` as template-processing tools or knowledge-backed code assets. - -The companion fill script described in the scenario was not present with the local contribution files used for this PR. Add it to `scripts/` before validating the full templatize-and-fill flow end to end. From 8ba55e908f87e191f197054eb1c01b4f08e9f0f2 Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:36:09 -0400 Subject: [PATCH 11/13] Remove misplaced index.astro --- src/pages/scenarios/index.astro | 560 -------------------------------- 1 file changed, 560 deletions(-) delete mode 100644 src/pages/scenarios/index.astro diff --git a/src/pages/scenarios/index.astro b/src/pages/scenarios/index.astro deleted file mode 100644 index e417f6e..0000000 --- a/src/pages/scenarios/index.astro +++ /dev/null @@ -1,560 +0,0 @@ ---- -import Base from '../layouts/Base.astro'; -import ScenarioCard from '../components/ScenarioCard.astro'; - -const base = import.meta.env.BASE_URL; ---- - - - -

-
-
-
-
- CAT -
- Copilot Studio CAT - Feature Guide -
-
-

Enhanced Task
Completion

-

- This guide helps you get started with Enhanced Task Completion, - a new experimental orchestration mode that lets agents reason dynamically, chain tools, - delegate to other agents, and recover from failures. Explore the scenarios - below, then try the deployable sample. -

- -
-
-
-
- - - -
-
-
I'm Sarah Mitchell. I'd like to return my Apex headphones, they have a crackling sound. Also, where's my LumiRead order?
-
Let me look up your orders!
-
🔍 search_orders
-
Found 3 orders. Pulling details...
-
📦 get_order ×2
-
🔄 request_return
-
🚚 get_shipment
-
Return initiated! RA-50022 – your $349.99 refund is on the way.
-
-
-
-
-
- - -
-
- -

What your agent can do with ETC

-

With Enhanced Task Completion enabled, your agent gains new capabilities that let it handle complex, multi-step tasks autonomously.

- -
-
-
🧠
-

Ask clarifying questions

-

Instead of guessing, the agent asks targeted follow-up questions to gather the information it needs before taking action.

-
-
-
🔗
-

Chain tools intelligently

-

Recognizes when one tool's output feeds into another, sequences dependent calls, and parallelizes independent ones.

-
-
-
🔄
-

Adapt its plan

-

Adjusts its approach mid-conversation based on what it learns from tool results, user responses, and changing context.

-
-
-
💬
-

Natural conversation

-

Interleaves questions, tool calls, and responses fluidly across multiple turns. Keeps the user informed at every step.

-
-
-
-

Follow instructions closely

-

Adheres to the instructions you provide, resulting in more consistent and predictable behavior.

-
-
-
🛡️
-

Recover from errors

-

When a tool call fails, the agent retries with corrected parameters or finds an alternative approach rather than giving up.

-
-
-
-
- - -
-
- -

See it in action

-

Each scenario demonstrates a different Enhanced Task Completion capability through a realistic e-commerce customer service example with 9 tools across two MCP servers.

- -
- - - - - -
-
-
- - -
-
-
-
- -

Try it yourself

-

Import one solution zip, create connections, publish, and start testing. No servers or code needed, everything runs inside the Power Platform.

- -
-
-
- 1 -
- Import the solution -

Upload the zip file in Power Apps

-
-
-
- 2 -
- Create connections -

Click Create for each MCP connector

-
-
-
- 3 -
- Publish & test -

Publish both agents, then try the prompts

-
-
-
- 4 -
- Deploy the chat UI optional -

A lightweight web app for demos to non-makers

-
-
-
-
-
-
- - - From 93d57d44402cdd67dc6da8f921d0b6b60f73b38f Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:37:04 -0400 Subject: [PATCH 12/13] Remove misplaced templatize script --- src/pages/scenarios/templatize_docx.py | 156 ------------------------- 1 file changed, 156 deletions(-) delete mode 100644 src/pages/scenarios/templatize_docx.py diff --git a/src/pages/scenarios/templatize_docx.py b/src/pages/scenarios/templatize_docx.py deleted file mode 100644 index e407fa0..0000000 --- a/src/pages/scenarios/templatize_docx.py +++ /dev/null @@ -1,156 +0,0 @@ -""" -Convert a Word document into a template by replacing every shape's and -paragraph's text with a {{name}} placeholder. Preserves run formatting, -table structure, text boxes, and content controls (SDTs). - -Walks: - - Body paragraphs and tables - - Text boxes inside drawings (w:txbxContent) - - Structured Document Tags / content controls (w:sdt) - - Headers and footers - -Usage: - python templatize_docx.py input.docx output.docx -""" - -import re -import sys - -from docx import Document -from docx.oxml.ns import qn - -W = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" - - -def slugify(name: str) -> str: - name = re.sub(r"[^A-Za-z0-9]+", "_", name or "field").strip("_").lower() - return name or "field" - - -class PlaceholderNamer: - def __init__(self): - self.seen: dict[str, int] = {} - - def next(self, raw_name: str) -> str: - base = slugify(raw_name) - count = self.seen.get(base, 0) + 1 - self.seen[base] = count - return base if count == 1 else f"{base}_{count}" - - -def paragraph_text(p_elem) -> str: - parts = [] - for t in p_elem.iter(qn("w:t")): - parts.append(t.text or "") - return "".join(parts) - - -def replace_paragraph_text(p_elem, token: str) -> None: - """Replace paragraph text with {{token}}, keeping the first run's formatting.""" - runs = p_elem.findall(qn("w:r")) - if not runs: - # No runs -- create a minimal run. - r = p_elem.makeelement(qn("w:r"), {}) - t = p_elem.makeelement(qn("w:t"), {}) - t.text = f"{{{{{token}}}}}" - r.append(t) - p_elem.append(r) - return - - first_run = runs[0] - - # Remove all but the first run. - for r in runs[1:]: - p_elem.remove(r) - - # Inside the first run, drop everything except w:rPr (formatting), then add a fresh w:t. - rPr = first_run.find(qn("w:rPr")) - for child in list(first_run): - if child.tag != qn("w:rPr"): - first_run.remove(child) - if rPr is None: - # rPr was absent -- nothing extra to do. - pass - - t = first_run.makeelement(qn("w:t"), {"{http://www.w3.org/XML/1998/namespace}space": "preserve"}) - t.text = f"{{{{{token}}}}}" - first_run.append(t) - - -def container_name(elem) -> str: - """Best-effort name for a container (text box, sdt, etc.).""" - # Text boxes: the parent drawing has a wp:docPr / wps:cNvPr with a name attr. - parent = elem.getparent() - while parent is not None: - for child in parent.iter(): - tag = child.tag.split("}")[-1] - if tag in ("docPr", "cNvPr") and child.get("name"): - return child.get("name") - parent = parent.getparent() if hasattr(parent, "getparent") else None - # Don't walk forever. - break - - # SDT alias / tag. - sdtPr = elem.find(qn("w:sdtPr")) - if sdtPr is not None: - alias = sdtPr.find(qn("w:alias")) - if alias is not None and alias.get(qn("w:val")): - return alias.get(qn("w:val")) - tag = sdtPr.find(qn("w:tag")) - if tag is not None and tag.get(qn("w:val")): - return tag.get(qn("w:val")) - return "" - - -def process_paragraphs_in(scope_elem, namer: PlaceholderNamer, default_prefix: str = "field") -> int: - """Walk every w:p inside scope_elem and replace its text if non-empty.""" - count = 0 - for p in scope_elem.iter(qn("w:p")): - text = paragraph_text(p).strip() - if not text: - continue - - # Try to derive a name from the nearest ancestor container. - name = "" - ancestor = p.getparent() - while ancestor is not None: - tag = ancestor.tag.split("}")[-1] - if tag in ("txbxContent", "sdtContent", "tc"): - name = container_name(ancestor.getparent() if tag == "sdtContent" else ancestor) - if name: - break - ancestor = ancestor.getparent() if hasattr(ancestor, "getparent") else None - - token = namer.next(name or default_prefix) - replace_paragraph_text(p, token) - count += 1 - return count - - -def templatize(src: str, dst: str) -> None: - doc = Document(src) - namer = PlaceholderNamer() - total = 0 - - # Body - total += process_paragraphs_in(doc.element.body, namer, default_prefix="body") - - # Headers and footers - for section in doc.sections: - for hf in (section.header, section.footer, - section.first_page_header, section.first_page_footer, - section.even_page_header, section.even_page_footer): - try: - total += process_paragraphs_in(hf._element, namer, default_prefix="header_footer") - except Exception: - continue - - doc.save(dst) - print(f"Done. {total} placeholder(s) written to {dst}") - - -if __name__ == "__main__": - if len(sys.argv) != 3: - print("Usage: python templatize_docx.py input.docx output.docx") - sys.exit(1) - templatize(sys.argv[1], sys.argv[2]) From 25166a234527d4dc5a9e8ab65eac2a375f7a4fdf Mon Sep 17 00:00:00 2001 From: Betty Le <93009023+missbets@users.noreply.github.com> Date: Mon, 18 May 2026 11:46:03 -0400 Subject: [PATCH 13/13] Update brand template sample setup --- sample/templates/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/sample/templates/README.md b/sample/templates/README.md index 08d1b17..305fe67 100644 --- a/sample/templates/README.md +++ b/sample/templates/README.md @@ -13,6 +13,3 @@ This folder contains the contributed assets for the brand template generation sc 1. Import `PPTWORDTemplateGenerator_1_0_0_2.zip` into a Power Platform environment with Copilot Studio on the **Early Release** channel. 2. Turn on Enhanced Task Completion in the agent's Generative AI settings. -3. Add the scripts in `scripts/` as template-processing tools or knowledge-backed code assets. - -The companion fill script described in the scenario was not present with the local contribution files used for this PR. Add it to `scripts/` before validating the full templatize-and-fill flow end to end.