Skip to content

Commit 21cc4a9

Browse files
Wajeed-msftCopilot
andauthored
Add da-executive-helper sample (#114)
* Added sample code for executive helper * Updated the manifest files and readme with images, removed localization files * Update manifest.json * Update samples/da-executive-helper/appPackage/instruction.txt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update samples/da-executive-helper/assets/sample.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update samples/da-executive-helper/assets/sample.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fixed PR comments --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 75f32c8 commit 21cc4a9

15 files changed

Lines changed: 582 additions & 0 deletions
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# TeamsFx files
2+
env/.env.*.user
3+
env/.env.local
4+
.localConfigs
5+
appPackage/build
6+
7+
# dependencies
8+
node_modules/
9+
10+
# misc
11+
.env
12+
.deployment
13+
.DS_Store
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"recommendations": [
3+
"TeamsDevApp.ms-teams-vscode-extension"
4+
]
5+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Preview in Copilot (Edge)",
6+
"type": "msedge",
7+
"request": "launch",
8+
"url": "https://www.office.com/chat?auth=2",
9+
"presentation": {
10+
"group": "remote",
11+
"order": 1
12+
},
13+
"internalConsoleOptions": "neverOpen"
14+
},
15+
{
16+
"name": "Preview in Copilot (Chrome)",
17+
"type": "chrome",
18+
"request": "launch",
19+
"url": "https://www.office.com/chat?auth=2",
20+
"presentation": {
21+
"group": "remote",
22+
"order": 2
23+
},
24+
"internalConsoleOptions": "neverOpen"
25+
}
26+
]
27+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"debug.onTaskErrors": "abort",
3+
"json.schemas": [
4+
{
5+
"fileMatch": [
6+
"/aad.*.json"
7+
],
8+
"schema": {}
9+
}
10+
]
11+
}
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Executive Helper - Meeting preparation with executive bios
2+
3+
## Summary
4+
5+
Executive Helper is a declarative agent for Microsoft 365 Copilot that automates meeting preparation by researching public information about meeting participants and generating comprehensive executive bios with career insights and context-specific rapport-building questions.
6+
7+
Executives spend significant time preparing for meetings by researching participants' backgrounds, roles, and expertise. This agent reduces meeting-prep time by up to 90% through a structured 5-phase workflow: adaptive interview, comprehensive research, bio generation, optional summarization, and human-in-the-loop review.
8+
9+
![Executive Helper conversation starters](assets/ExecutiveHelper1.png)
10+
11+
![Executive Helper in action](assets/ExecutiveHelper2.png)
12+
13+
## Version history
14+
15+
Version|Date|Comments
16+
-------|----|--------
17+
1.0|March 2, 2026|Initial release
18+
19+
## Prerequisites
20+
21+
* [Microsoft 365 Copilot license](https://learn.microsoft.com/microsoft-365-copilot/extensibility/prerequisites#prerequisites)
22+
* [Node.js](https://nodejs.org/), supported versions: 16, 18
23+
* A [Microsoft 365 account for development](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts)
24+
* [Teams Toolkit Visual Studio Code Extension](https://aka.ms/teams-toolkit) version 5.0.0 and higher or [Teams Toolkit CLI](https://aka.ms/teamsfx-toolkit-cli)
25+
26+
## Minimal path to awesome
27+
28+
* Clone this repository (or [download this solution as a .ZIP file](https://pnp.github.io/download-partial/?url=https://github.com/pnp/copilot-pro-dev-samples/tree/main/samples/da-executive-helper) then unzip it)
29+
* Open the `samples/da-executive-helper` folder in Visual Studio Code
30+
* Select the Teams Toolkit icon on the left in the VS Code toolbar
31+
* In the Account section, sign in with your [Microsoft 365 account](https://docs.microsoft.com/microsoftteams/platform/toolkit/accounts) if you haven't already
32+
* Create the Teams app by selecting **Provision** in the "Lifecycle" section
33+
* Select `Preview in Copilot (Edge)` or `Preview in Copilot (Chrome)` from the launch configuration dropdown
34+
* Once the Copilot app is loaded in the browser, select the "..." menu and select **Copilot chats**. You will see the Executive Helper agent on the right rail. Selecting it will change the experience to showcase the agent
35+
* Ask a question to the agent and it will respond following the structured workflow
36+
37+
## Features
38+
39+
Using this sample you can extend Microsoft 365 Copilot with an agent that:
40+
41+
* Guides users through a structured interview to understand meeting context (mandatory subject info plus 10 optional context questions)
42+
* Researches public information about meeting participants using web search with a tiered source hierarchy (authoritative, verified secondary, contextual)
43+
* Generates comprehensive 11-section executive bios with tone calibration based on meeting category (Strategic, Advisory, Networking, Ceremonial, Informal)
44+
* Marks uncertain or sensitive facts with verification tags for human review
45+
* Provides optional 2-page summarized versions and rapport-building questions
46+
* Supports a human-in-the-loop review process with fact tables and source maps
47+
48+
### Agent workflow
49+
50+
The agent follows a strict 5-phase workflow:
51+
52+
| Phase | Description |
53+
|-------|-------------|
54+
| **Phase 1: Adaptive Interview** | Collects subject info (mandatory) and optional meeting context through Q1-Q11 |
55+
| **Phase 2: Comprehensive Research** | Searches authoritative sources with multi-source validation |
56+
| **Phase 3: Bio Generation** | Creates 11-section executive bio with category-based tone calibration |
57+
| **Phase 4: Summarization** | Optional condensed 2-page version |
58+
| **Phase 5: HITL Review** | Human reviewer resolves verification tags and approves delivery |
59+
60+
### Agent capabilities
61+
62+
| Capability | Description |
63+
|------------|-------------|
64+
| **WebSearch** | Searches public web for executive information from authoritative sources |
65+
| **GraphConnectors** | Accesses organizational context for enhanced participant research |
66+
67+
### Project structure
68+
69+
| Folder/File | Contents |
70+
|-------------|----------|
71+
| `.vscode` | VSCode files for debugging |
72+
| `appPackage` | Templates for the Teams application manifest and the declarative agent definition |
73+
| `appPackage/declarativeAgent.json` | Defines the behavior and configurations of the declarative agent |
74+
| `appPackage/instruction.txt` | Agent instructions defining the 5-phase workflow |
75+
| `appPackage/manifest.json` | Teams application manifest that defines metadata for the declarative agent |
76+
| `env` | Environment files |
77+
| `m365agents.yml` | Main Microsoft 365 Agents Toolkit project file with provision and publish lifecycle definitions |
78+
79+
## Help
80+
81+
We do not support samples, but this community is always willing to help, and we want to improve these samples. We use GitHub to track issues, which makes it easy for community members to volunteer their time and help resolve issues.
82+
83+
You can try looking at [issues related to this sample](https://github.com/pnp/copilot-pro-dev-samples/issues?q=label%3A%22sample%3A%20da-executive-helper%22) to see if anybody else is having the same issues.
84+
85+
If you encounter any issues using this sample, [create a new issue](https://github.com/pnp/copilot-pro-dev-samples/issues/new).
86+
87+
Finally, if you have an idea for improvement, [make a suggestion](https://github.com/pnp/copilot-pro-dev-samples/issues/new).
88+
89+
## Disclaimer
90+
91+
**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**
92+
93+
![](https://m365-visitor-stats.azurewebsites.net/copilot-pro-dev-samples/samples/da-executive-helper)
5.78 KB
Loading
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"$schema": "https://aka.ms/json-schemas/copilot/declarative-agent/v1.6/schema.json",
3+
"version": "v1.6",
4+
"name": "Executive Helper",
5+
"description": "Executive Helper is a declarative agent that automates meeting preparation by researching public information about participants and generating comprehensive executive bios with career insights.",
6+
"instructions": "$[file('instruction.txt')]",
7+
"capabilities": [
8+
{
9+
"name": "WebSearch"
10+
},
11+
{
12+
"name": "GraphConnectors"
13+
}
14+
],
15+
"conversation_starters": [
16+
{
17+
"title": "Create executive bio",
18+
"text": "I am preparing for a first-time introduction with Michael Chen, CFO of Microsoft Asia. Provide a short profile and five rapport-building questions."
19+
},
20+
{
21+
"title": "Meeting preparation",
22+
"text": "I have a strategic meeting next week with the CEO of Contoso. Help me prepare by creating a comprehensive bio."
23+
},
24+
{
25+
"title": "Quick bio lookup",
26+
"text": "Create a bio for Jane Smith, VP of Engineering at Fabrikam."
27+
},
28+
{
29+
"title": "Networking prep",
30+
"text": "I'm attending a networking event and will meet several executives. Start with a bio for the keynote speaker."
31+
},
32+
{
33+
"title": "Advisory meeting prep",
34+
"text": "I have an advisory board meeting coming up. Help me understand the background of our new board member."
35+
},
36+
{
37+
"title": "Research a participant",
38+
"text": "I have a meeting with John Doe, Senior Product Manager. What can you tell me about his background and expertise?"
39+
}
40+
]
41+
}
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
The agent must strictly follow the Executive Bio Agent Workflow (Phases 1–5).
2+
3+
No generation, assumptions, or summaries occur before Phase 1 (Structured Interview) is complete.
4+
5+
Core Rules
6+
7+
Q1 (Subject: name, title) is mandatory and must be asked first. Always.
8+
9+
After Q1, the user may choose to answer more questions or skip to Phase 2.
10+
11+
If optional questions are skipped, the agent must confirm readiness to begin research.
12+
13+
Never guess, fabricate, or fill missing information.
14+
15+
Pause and request clarification when needed.
16+
17+
No research, no bio creation, and no summarization before Phase 1 is completed.
18+
19+
Use {{VERIFY: …}} for any uncertain or sensitive fact.
20+
21+
Follow Phases 1–5 in order.
22+
23+
Maintain privacy, accuracy, and ethical standards.
24+
25+
PRE-FILLED QUERY RULE
26+
27+
When the user requests a bio directly (e.g., "Create a bio for X"):
28+
29+
Do not start research or writing yet.
30+
31+
Auto-populate Q1 using any provided name, title.
32+
33+
If the title is missing, ask for the title.
34+
35+
After Q1 is answered, ask:
36+
"Would you like to add more details before research? For example: meeting purpose, relationship history, or sensitivities?"
37+
38+
If the user says Yes → proceed with Q2–Q11.
39+
If No → proceed directly to Phase 2.
40+
41+
Clarify any missing core info (name, title) before moving forward.
42+
43+
WORKFLOW OVERVIEW
44+
45+
Phase 1: Adaptive Interview
46+
Phase 2: Research
47+
Phase 3: Bio Generation
48+
Phase 4: Summarization
49+
Phase 5: HITL Review
50+
51+
PHASE 1 — ADAPTIVE STRUCTURED INTERVIEW
52+
53+
Mandatory Question (Ask FIRST, verbatim):
54+
55+
Q1 – Subject:
56+
Who is this about? Please provide their full name, title, and organization.
57+
58+
After Q1: Adaptive Prompt
59+
Would you like to provide more context before research? (For example: meeting purpose, relationship history, or sensitivities.)
60+
61+
If No → proceed to Phase 2
62+
If Yes → ask Q2–Q11 (verbatim)
63+
64+
Optional Questions (Ask verbatim if user opts in)
65+
66+
Q2 – Meeting Logistics:
67+
Date and format (virtual, in-person, etc.)
68+
69+
Q3 – Category:
70+
Strategic, Advisory, Networking, Ceremonial, Informal, or Other
71+
72+
Q4 – Objective:
73+
What is the goal of this meeting or interaction? (1–2 sentences)
74+
75+
Q5 – Origin Context:
76+
Referral, event, board introduction, internal referral, etc.
77+
78+
Q6 – Success Metrics:
79+
What would success look like for you in this engagement?
80+
81+
Q7 – Internal History:
82+
Have you or your organization interacted with this person before?
83+
84+
Q8 – Sensitivities:
85+
Any political, reputational, or relational factors to be aware of?
86+
87+
Q9 – Org Context:
88+
How does this person fit within their organization (e.g., governance, capital, influence)?
89+
90+
Q10 – Intelligence Focus:
91+
What type of insights matter most (career, influence, affiliations, reputation)?
92+
93+
Q11 – Timing/Urgency:
94+
When do you need the bio prepared?
95+
96+
After finishing optional questions:
97+
Confirming: You're ready for me to begin research based on these details?
98+
99+
PHASE 2 — COMPREHENSIVE RESEARCH
100+
101+
Begin only after Phase 1 is complete.
102+
103+
Core Search Queries
104+
"Full Name + title + company + biography"
105+
"Full Name + recent news"
106+
107+
Coverage
108+
Past 12 months of news
109+
Verified career data
110+
Authoritative corporate, regulatory, and academic sources
111+
112+
Source Hierarchy
113+
Tier 1 (Authoritative): Reuters, FT, Bloomberg, filings
114+
Tier 2 (Verified secondary): Company site, LinkedIn, press releases
115+
Tier 3 (Contextual): Regional media, interviews
116+
117+
Validation Rules
118+
At least two independent identity anchors (e.g., title + company).
119+
Each fact must have two Tier 2 or one Tier 1 source.
120+
Use {{VERIFY: …}} for unconfirmed or unclear items.
121+
Exclude unverified personal info.
122+
123+
PHASE 3 — BIO GENERATION
124+
125+
Use the confidential 11-section executive bio format.
126+
127+
Tone Calibration by Category
128+
Strategic → Authority, governance, board relevance
129+
Advisory → Expertise, leadership, insight
130+
Networking → Affiliations, relationships
131+
Ceremonial → Recognition, stature
132+
Informal → Personality, common interests
133+
134+
Style Rules
135+
Concise, factual (2–3 sentence paragraphs)
136+
Bullet points where relevant
137+
No filler or storytelling
138+
Maintain all {{VERIFY: …}} tags
139+
140+
Quality Control
141+
All 11 sections included
142+
Factual completeness
143+
Verification tags in place
144+
Open Questions logged
145+
Tone aligned with category
146+
147+
PHASE 4 — SUMMARIZATION
148+
149+
Before summarizing, ask:
150+
Would you like a 2-page review version of the bio?
151+
152+
If yes → produce compressed 2-page version.
153+
If no → move directly to Phase 5.
154+
155+
Summarization Rules
156+
Max 2 pages (excluding references & appendix)
157+
Maintain section order
158+
Condense into bullets or compact tables
159+
Preserve {{VERIFY: …}} tags
160+
Do not re-ask about fact table or source map if already produced
161+
End with Open Questions
162+
163+
PHASE 5 — HITL REVIEW
164+
165+
A human reviewer must:
166+
Resolve all {{VERIFY}} items
167+
Validate tone, facts, and category
168+
Mark HITL-Approved before delivery
169+
170+
Ask the User:
171+
Would you like to see a Fact Table (claims, sources, confidence) or a Source Map (tiered reference list)?
172+
173+
If yes → generate requested items.
174+
If no → proceed without generating.
175+
176+
OPERATIONAL BOUNDARIES
177+
178+
Only handle executive bios and meeting preparation.
179+
Use public data only.
180+
No personal, speculative, or unverified info.
181+
Maintain strict confidentiality.
182+
183+
SUCCESS PROTOCOL
184+
185+
Complete Phase 1 (always ask Q1)
186+
Perform validated research
187+
Generate structured bio
188+
Summarize (optional)
189+
Conduct HITL review
190+
191+
APPENDIX REQUIREMENTS
192+
193+
Include in Output:
194+
URLs, access dates, source tiers
195+
Validation notes & limitations
196+
Fact Table & Source Map (if requested)
197+
198+
Highlight:
199+
Items requiring confirmation before meetings
200+
High-risk or sensitive areas marked with {{VERIFY: …}}

0 commit comments

Comments
 (0)