[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-add-mcscopilot":3,"mdc--ayje71-key":43,"related-repo-microsoft-add-mcscopilot":912,"related-org-microsoft-add-mcscopilot":1001},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":38,"sourceUrl":41,"mdContent":42},"add-mcscopilot","add Copilot Studio connectors to Power Apps","Adds Microsoft Copilot Studio connector to a Power Apps code app. Use when invoking Copilot Studio agents, sending prompts to agents, or integrating agent responses.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,17,20,23],{"name":13,"slug":14,"type":15},"Integrations","integrations","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Copilot Studio","copilot-studio",{"name":21,"slug":22,"type":15},"Agents","agents",{"name":24,"slug":25,"type":15},"Power Apps","power-apps",564,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills","2026-07-31T05:54:39.025597",null,114,[32,33,34,35,25,36,37],"claude-code-plugin","claude-code-skills","code-apps","github-copilot-plugin","power-pages","power-platform",{"repoUrl":27,"stars":26,"forks":30,"topics":39,"description":40},[32,33,34,35,25,36,37],"A plugin marketplace for Claude Code\u002FGitHub Copilot that provides Power Platform development plugins, including reusable skills, agents, and commands for building and deploying solutions.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Ftree\u002FHEAD\u002Fplugins\u002Fcode-apps\u002Fskills\u002Fadd-mcscopilot","---\nname: add-mcscopilot\ndescription: Adds Microsoft Copilot Studio connector to a Power Apps code app. Use when invoking Copilot Studio agents, sending prompts to agents, or integrating agent responses.\nuser-invocable: true\nallowed-tools: Read, Edit, Write, Grep, Glob, Bash, LSP, TaskCreate, TaskUpdate, TaskList, TaskGet, AskUserQuestion, Skill\nmodel: sonnet\n---\n\n**📋 Shared Instructions: [shared-instructions.md](${PLUGIN_ROOT}\u002Fshared\u002Fshared-instructions.md)** - Cross-cutting concerns.\n\n# Add Microsoft Copilot Studio\n\n## Workflow\n\n1. Check Memory Bank → 2. Add Connector → 3. Configure → 4. Build → 5. Update Memory Bank\n\n---\n\n### Step 1: Check Memory Bank\n\nCheck for `memory-bank.md` per [shared-instructions.md](${PLUGIN_ROOT}\u002Fshared\u002Fshared-instructions.md).\n\n### Step 2: Add Connector\n\n**First, find the connection ID** (see [connector-reference.md](${PLUGIN_ROOT}\u002Fshared\u002Fconnector-reference.md)):\n\nRun the `\u002Flist-connections` skill. Find the Microsoft Copilot Studio connection in the output. If none exists, direct the user to create one using the environment-specific Connections URL — construct it from the active environment ID in context (from `power.config.json` or a prior step): `https:\u002F\u002Fmake.powerapps.com\u002Fenvironments\u002F\u003Cenvironment-id>\u002Fconnections` → **+ New connection** → search for the connector → Create.\n\n```bash\npa app add data-source --connector microsoftcopilotstudio -c \u003Cconnection-id>\n```\n\n### Step 3: Configure\n\nAsk the user which Copilot Studio agent they want to invoke and what operations they need.\n\n**Agent Setup Prerequisites** (manual steps the user must complete in Copilot Studio):\n\n1. **Publish the agent**: In Copilot Studio, click Channels → select Teams → add to Teams → click Publish.\n2. **Get the agent name**: Under Channels, click \"Web app\". The connection string URL contains the agent name. Example: `https:\u002F\u002F...api.powerplatform.com\u002Fcopilotstudio\u002Fdataverse-backed\u002Fauthenticated\u002Fbots\u002Fcr3e1_myAgent\u002Fconversations?...` — the agent name is `cr3e1_myAgent`.\n\n**ExecuteCopilotAsyncV2** -- execute an agent and wait for the response:\n\nUse the `ExecuteCopilotAsyncV2` operation (path: `\u002Fproactivecopilot\u002FexecuteAsyncV2`). This is the **only** endpoint that reliably returns agent responses synchronously. It is the same endpoint used by Power Automate's \"Execute Agent and wait\" action.\n\n```typescript\nconst result = await MicrosoftCopilotStudioService.ExecuteCopilotAsyncV2({\n  message: \"Your prompt or data here\", \u002F\u002F Can be a JSON string\n  notificationUrl: \"https:\u002F\u002Fnotificationurlplaceholder\" \u002F\u002F Required by API but unused; any URL works\n});\n\n\u002F\u002F Response structure:\n\u002F\u002F result.responses — Array of response strings from the agent\n\u002F\u002F result.conversationId — The conversation ID\n\u002F\u002F result.lastResponse — The last response from the agent\n\u002F\u002F result.completed — Boolean indicating if the agent finished\n```\n\n**Important:** Agents often return responses as JSON strings. Parse the `responses` array to extract meaningful data:\n\n```typescript\nconst agentResponse = result.responses?.[0];\nif (agentResponse) {\n  const parsed = JSON.parse(agentResponse);\n  \u002F\u002F Extract specific fields, e.g., parsed.trend_summary\n}\n```\n\nUse `Grep` to find specific methods in the generated service file (generated files can be very large — see [connector-reference.md](${PLUGIN_ROOT}\u002Fshared\u002Fconnector-reference.md#inspecting-large-generated-files)).\n\n#### Known Issues\n\n- **ExecuteCopilot** (`\u002Fexecute`) -- fire-and-forget, only returns `ConversationId`, not the actual response. Do NOT use this.\n- **ExecuteCopilotAsync** (`\u002FexecuteAsync`) -- returns 502 \"Cannot read server response\" errors. Do NOT use this.\n- **Conversation turn model** (`\u002Fconversations\u002F{ConversationId}`) -- only works after `\u002Fexecute`, which doesn't provide responses. Do NOT use this.\n- **Response casing varies** -- check all variations: `conversationId`, `ConversationId`, `conversationID`.\n\n### Step 4: Build\n\n```bash\nnpm run build\n```\n\nFix TypeScript errors before proceeding. Do NOT deploy yet.\n\n### Step 5: Update Memory Bank\n\nUpdate `memory-bank.md` with: connector added, agent name configured, configured operations, build status.\n",{"data":44,"body":48},{"name":4,"description":6,"user-invocable":45,"allowed-tools":46,"model":47},true,"Read, Edit, Write, Grep, Glob, Bash, LSP, TaskCreate, TaskUpdate, TaskList, TaskGet, AskUserQuestion, Skill","sonnet",{"type":49,"children":50},"root",[51,72,79,86,96,100,107,127,133,151,187,263,269,274,284,322,332,359,562,580,723,743,750,852,858,883,888,894,906],{"type":52,"tag":53,"props":54,"children":55},"element","p",{},[56,70],{"type":52,"tag":57,"props":58,"children":59},"strong",{},[60,63],{"type":61,"value":62},"text","📋 Shared Instructions: ",{"type":52,"tag":64,"props":65,"children":67},"a",{"href":66},"$%7BPLUGIN_ROOT%7D\u002Fshared\u002Fshared-instructions.md",[68],{"type":61,"value":69},"shared-instructions.md",{"type":61,"value":71}," - Cross-cutting concerns.",{"type":52,"tag":73,"props":74,"children":76},"h1",{"id":75},"add-microsoft-copilot-studio",[77],{"type":61,"value":78},"Add Microsoft Copilot Studio",{"type":52,"tag":80,"props":81,"children":83},"h2",{"id":82},"workflow",[84],{"type":61,"value":85},"Workflow",{"type":52,"tag":87,"props":88,"children":89},"ol",{},[90],{"type":52,"tag":91,"props":92,"children":93},"li",{},[94],{"type":61,"value":95},"Check Memory Bank → 2. Add Connector → 3. Configure → 4. Build → 5. Update Memory Bank",{"type":52,"tag":97,"props":98,"children":99},"hr",{},[],{"type":52,"tag":101,"props":102,"children":104},"h3",{"id":103},"step-1-check-memory-bank",[105],{"type":61,"value":106},"Step 1: Check Memory Bank",{"type":52,"tag":53,"props":108,"children":109},{},[110,112,119,121,125],{"type":61,"value":111},"Check for ",{"type":52,"tag":113,"props":114,"children":116},"code",{"className":115},[],[117],{"type":61,"value":118},"memory-bank.md",{"type":61,"value":120}," per ",{"type":52,"tag":64,"props":122,"children":123},{"href":66},[124],{"type":61,"value":69},{"type":61,"value":126},".",{"type":52,"tag":101,"props":128,"children":130},{"id":129},"step-2-add-connector",[131],{"type":61,"value":132},"Step 2: Add Connector",{"type":52,"tag":53,"props":134,"children":135},{},[136,141,143,149],{"type":52,"tag":57,"props":137,"children":138},{},[139],{"type":61,"value":140},"First, find the connection ID",{"type":61,"value":142}," (see ",{"type":52,"tag":64,"props":144,"children":146},{"href":145},"$%7BPLUGIN_ROOT%7D\u002Fshared\u002Fconnector-reference.md",[147],{"type":61,"value":148},"connector-reference.md",{"type":61,"value":150},"):",{"type":52,"tag":53,"props":152,"children":153},{},[154,156,162,164,170,172,178,180,185],{"type":61,"value":155},"Run the ",{"type":52,"tag":113,"props":157,"children":159},{"className":158},[],[160],{"type":61,"value":161},"\u002Flist-connections",{"type":61,"value":163}," skill. Find the Microsoft Copilot Studio connection in the output. If none exists, direct the user to create one using the environment-specific Connections URL — construct it from the active environment ID in context (from ",{"type":52,"tag":113,"props":165,"children":167},{"className":166},[],[168],{"type":61,"value":169},"power.config.json",{"type":61,"value":171}," or a prior step): ",{"type":52,"tag":113,"props":173,"children":175},{"className":174},[],[176],{"type":61,"value":177},"https:\u002F\u002Fmake.powerapps.com\u002Fenvironments\u002F\u003Cenvironment-id>\u002Fconnections",{"type":61,"value":179}," → ",{"type":52,"tag":57,"props":181,"children":182},{},[183],{"type":61,"value":184},"+ New connection",{"type":61,"value":186}," → search for the connector → Create.",{"type":52,"tag":188,"props":189,"children":194},"pre",{"className":190,"code":191,"language":192,"meta":193,"style":193},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pa app add data-source --connector microsoftcopilotstudio -c \u003Cconnection-id>\n","bash","",[195],{"type":52,"tag":113,"props":196,"children":197},{"__ignoreMap":193},[198],{"type":52,"tag":199,"props":200,"children":203},"span",{"class":201,"line":202},"line",1,[204,210,216,221,226,231,236,241,247,252,258],{"type":52,"tag":199,"props":205,"children":207},{"style":206},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[208],{"type":61,"value":209},"pa",{"type":52,"tag":199,"props":211,"children":213},{"style":212},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[214],{"type":61,"value":215}," app",{"type":52,"tag":199,"props":217,"children":218},{"style":212},[219],{"type":61,"value":220}," add",{"type":52,"tag":199,"props":222,"children":223},{"style":212},[224],{"type":61,"value":225}," data-source",{"type":52,"tag":199,"props":227,"children":228},{"style":212},[229],{"type":61,"value":230}," --connector",{"type":52,"tag":199,"props":232,"children":233},{"style":212},[234],{"type":61,"value":235}," microsoftcopilotstudio",{"type":52,"tag":199,"props":237,"children":238},{"style":212},[239],{"type":61,"value":240}," -c",{"type":52,"tag":199,"props":242,"children":244},{"style":243},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[245],{"type":61,"value":246}," \u003C",{"type":52,"tag":199,"props":248,"children":249},{"style":212},[250],{"type":61,"value":251},"connection-i",{"type":52,"tag":199,"props":253,"children":255},{"style":254},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[256],{"type":61,"value":257},"d",{"type":52,"tag":199,"props":259,"children":260},{"style":243},[261],{"type":61,"value":262},">\n",{"type":52,"tag":101,"props":264,"children":266},{"id":265},"step-3-configure",[267],{"type":61,"value":268},"Step 3: Configure",{"type":52,"tag":53,"props":270,"children":271},{},[272],{"type":61,"value":273},"Ask the user which Copilot Studio agent they want to invoke and what operations they need.",{"type":52,"tag":53,"props":275,"children":276},{},[277,282],{"type":52,"tag":57,"props":278,"children":279},{},[280],{"type":61,"value":281},"Agent Setup Prerequisites",{"type":61,"value":283}," (manual steps the user must complete in Copilot Studio):",{"type":52,"tag":87,"props":285,"children":286},{},[287,297],{"type":52,"tag":91,"props":288,"children":289},{},[290,295],{"type":52,"tag":57,"props":291,"children":292},{},[293],{"type":61,"value":294},"Publish the agent",{"type":61,"value":296},": In Copilot Studio, click Channels → select Teams → add to Teams → click Publish.",{"type":52,"tag":91,"props":298,"children":299},{},[300,305,307,313,315,321],{"type":52,"tag":57,"props":301,"children":302},{},[303],{"type":61,"value":304},"Get the agent name",{"type":61,"value":306},": Under Channels, click \"Web app\". The connection string URL contains the agent name. Example: ",{"type":52,"tag":113,"props":308,"children":310},{"className":309},[],[311],{"type":61,"value":312},"https:\u002F\u002F...api.powerplatform.com\u002Fcopilotstudio\u002Fdataverse-backed\u002Fauthenticated\u002Fbots\u002Fcr3e1_myAgent\u002Fconversations?...",{"type":61,"value":314}," — the agent name is ",{"type":52,"tag":113,"props":316,"children":318},{"className":317},[],[319],{"type":61,"value":320},"cr3e1_myAgent",{"type":61,"value":126},{"type":52,"tag":53,"props":323,"children":324},{},[325,330],{"type":52,"tag":57,"props":326,"children":327},{},[328],{"type":61,"value":329},"ExecuteCopilotAsyncV2",{"type":61,"value":331}," -- execute an agent and wait for the response:",{"type":52,"tag":53,"props":333,"children":334},{},[335,337,342,344,350,352,357],{"type":61,"value":336},"Use the ",{"type":52,"tag":113,"props":338,"children":340},{"className":339},[],[341],{"type":61,"value":329},{"type":61,"value":343}," operation (path: ",{"type":52,"tag":113,"props":345,"children":347},{"className":346},[],[348],{"type":61,"value":349},"\u002Fproactivecopilot\u002FexecuteAsyncV2",{"type":61,"value":351},"). This is the ",{"type":52,"tag":57,"props":353,"children":354},{},[355],{"type":61,"value":356},"only",{"type":61,"value":358}," endpoint that reliably returns agent responses synchronously. It is the same endpoint used by Power Automate's \"Execute Agent and wait\" action.",{"type":52,"tag":188,"props":360,"children":364},{"className":361,"code":362,"language":363,"meta":193,"style":193},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const result = await MicrosoftCopilotStudioService.ExecuteCopilotAsyncV2({\n  message: \"Your prompt or data here\", \u002F\u002F Can be a JSON string\n  notificationUrl: \"https:\u002F\u002Fnotificationurlplaceholder\" \u002F\u002F Required by API but unused; any URL works\n});\n\n\u002F\u002F Response structure:\n\u002F\u002F result.responses — Array of response strings from the agent\n\u002F\u002F result.conversationId — The conversation ID\n\u002F\u002F result.lastResponse — The last response from the agent\n\u002F\u002F result.completed — Boolean indicating if the agent finished\n","typescript",[365],{"type":52,"tag":113,"props":366,"children":367},{"__ignoreMap":193},[368,417,458,489,508,517,526,535,544,553],{"type":52,"tag":199,"props":369,"children":370},{"class":201,"line":202},[371,377,382,387,393,398,402,407,412],{"type":52,"tag":199,"props":372,"children":374},{"style":373},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[375],{"type":61,"value":376},"const",{"type":52,"tag":199,"props":378,"children":379},{"style":254},[380],{"type":61,"value":381}," result ",{"type":52,"tag":199,"props":383,"children":384},{"style":243},[385],{"type":61,"value":386},"=",{"type":52,"tag":199,"props":388,"children":390},{"style":389},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[391],{"type":61,"value":392}," await",{"type":52,"tag":199,"props":394,"children":395},{"style":254},[396],{"type":61,"value":397}," MicrosoftCopilotStudioService",{"type":52,"tag":199,"props":399,"children":400},{"style":243},[401],{"type":61,"value":126},{"type":52,"tag":199,"props":403,"children":405},{"style":404},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[406],{"type":61,"value":329},{"type":52,"tag":199,"props":408,"children":409},{"style":254},[410],{"type":61,"value":411},"(",{"type":52,"tag":199,"props":413,"children":414},{"style":243},[415],{"type":61,"value":416},"{\n",{"type":52,"tag":199,"props":418,"children":420},{"class":201,"line":419},2,[421,427,432,437,442,447,452],{"type":52,"tag":199,"props":422,"children":424},{"style":423},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[425],{"type":61,"value":426},"  message",{"type":52,"tag":199,"props":428,"children":429},{"style":243},[430],{"type":61,"value":431},":",{"type":52,"tag":199,"props":433,"children":434},{"style":243},[435],{"type":61,"value":436}," \"",{"type":52,"tag":199,"props":438,"children":439},{"style":212},[440],{"type":61,"value":441},"Your prompt or data here",{"type":52,"tag":199,"props":443,"children":444},{"style":243},[445],{"type":61,"value":446},"\"",{"type":52,"tag":199,"props":448,"children":449},{"style":243},[450],{"type":61,"value":451},",",{"type":52,"tag":199,"props":453,"children":455},{"style":454},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[456],{"type":61,"value":457}," \u002F\u002F Can be a JSON string\n",{"type":52,"tag":199,"props":459,"children":461},{"class":201,"line":460},3,[462,467,471,475,480,484],{"type":52,"tag":199,"props":463,"children":464},{"style":423},[465],{"type":61,"value":466},"  notificationUrl",{"type":52,"tag":199,"props":468,"children":469},{"style":243},[470],{"type":61,"value":431},{"type":52,"tag":199,"props":472,"children":473},{"style":243},[474],{"type":61,"value":436},{"type":52,"tag":199,"props":476,"children":477},{"style":212},[478],{"type":61,"value":479},"https:\u002F\u002Fnotificationurlplaceholder",{"type":52,"tag":199,"props":481,"children":482},{"style":243},[483],{"type":61,"value":446},{"type":52,"tag":199,"props":485,"children":486},{"style":454},[487],{"type":61,"value":488}," \u002F\u002F Required by API but unused; any URL works\n",{"type":52,"tag":199,"props":490,"children":492},{"class":201,"line":491},4,[493,498,503],{"type":52,"tag":199,"props":494,"children":495},{"style":243},[496],{"type":61,"value":497},"}",{"type":52,"tag":199,"props":499,"children":500},{"style":254},[501],{"type":61,"value":502},")",{"type":52,"tag":199,"props":504,"children":505},{"style":243},[506],{"type":61,"value":507},";\n",{"type":52,"tag":199,"props":509,"children":511},{"class":201,"line":510},5,[512],{"type":52,"tag":199,"props":513,"children":514},{"emptyLinePlaceholder":45},[515],{"type":61,"value":516},"\n",{"type":52,"tag":199,"props":518,"children":520},{"class":201,"line":519},6,[521],{"type":52,"tag":199,"props":522,"children":523},{"style":454},[524],{"type":61,"value":525},"\u002F\u002F Response structure:\n",{"type":52,"tag":199,"props":527,"children":529},{"class":201,"line":528},7,[530],{"type":52,"tag":199,"props":531,"children":532},{"style":454},[533],{"type":61,"value":534},"\u002F\u002F result.responses — Array of response strings from the agent\n",{"type":52,"tag":199,"props":536,"children":538},{"class":201,"line":537},8,[539],{"type":52,"tag":199,"props":540,"children":541},{"style":454},[542],{"type":61,"value":543},"\u002F\u002F result.conversationId — The conversation ID\n",{"type":52,"tag":199,"props":545,"children":547},{"class":201,"line":546},9,[548],{"type":52,"tag":199,"props":549,"children":550},{"style":454},[551],{"type":61,"value":552},"\u002F\u002F result.lastResponse — The last response from the agent\n",{"type":52,"tag":199,"props":554,"children":556},{"class":201,"line":555},10,[557],{"type":52,"tag":199,"props":558,"children":559},{"style":454},[560],{"type":61,"value":561},"\u002F\u002F result.completed — Boolean indicating if the agent finished\n",{"type":52,"tag":53,"props":563,"children":564},{},[565,570,572,578],{"type":52,"tag":57,"props":566,"children":567},{},[568],{"type":61,"value":569},"Important:",{"type":61,"value":571}," Agents often return responses as JSON strings. Parse the ",{"type":52,"tag":113,"props":573,"children":575},{"className":574},[],[576],{"type":61,"value":577},"responses",{"type":61,"value":579}," array to extract meaningful data:",{"type":52,"tag":188,"props":581,"children":583},{"className":361,"code":582,"language":363,"meta":193,"style":193},"const agentResponse = result.responses?.[0];\nif (agentResponse) {\n  const parsed = JSON.parse(agentResponse);\n  \u002F\u002F Extract specific fields, e.g., parsed.trend_summary\n}\n",[584],{"type":52,"tag":113,"props":585,"children":586},{"__ignoreMap":193},[587,641,658,707,715],{"type":52,"tag":199,"props":588,"children":589},{"class":201,"line":202},[590,594,599,603,608,612,616,621,626,632,637],{"type":52,"tag":199,"props":591,"children":592},{"style":373},[593],{"type":61,"value":376},{"type":52,"tag":199,"props":595,"children":596},{"style":254},[597],{"type":61,"value":598}," agentResponse ",{"type":52,"tag":199,"props":600,"children":601},{"style":243},[602],{"type":61,"value":386},{"type":52,"tag":199,"props":604,"children":605},{"style":254},[606],{"type":61,"value":607}," result",{"type":52,"tag":199,"props":609,"children":610},{"style":243},[611],{"type":61,"value":126},{"type":52,"tag":199,"props":613,"children":614},{"style":254},[615],{"type":61,"value":577},{"type":52,"tag":199,"props":617,"children":618},{"style":243},[619],{"type":61,"value":620},"?.",{"type":52,"tag":199,"props":622,"children":623},{"style":254},[624],{"type":61,"value":625},"[",{"type":52,"tag":199,"props":627,"children":629},{"style":628},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[630],{"type":61,"value":631},"0",{"type":52,"tag":199,"props":633,"children":634},{"style":254},[635],{"type":61,"value":636},"]",{"type":52,"tag":199,"props":638,"children":639},{"style":243},[640],{"type":61,"value":507},{"type":52,"tag":199,"props":642,"children":643},{"class":201,"line":419},[644,649,654],{"type":52,"tag":199,"props":645,"children":646},{"style":389},[647],{"type":61,"value":648},"if",{"type":52,"tag":199,"props":650,"children":651},{"style":254},[652],{"type":61,"value":653}," (agentResponse) ",{"type":52,"tag":199,"props":655,"children":656},{"style":243},[657],{"type":61,"value":416},{"type":52,"tag":199,"props":659,"children":660},{"class":201,"line":460},[661,666,671,676,681,685,690,694,699,703],{"type":52,"tag":199,"props":662,"children":663},{"style":373},[664],{"type":61,"value":665},"  const",{"type":52,"tag":199,"props":667,"children":668},{"style":254},[669],{"type":61,"value":670}," parsed",{"type":52,"tag":199,"props":672,"children":673},{"style":243},[674],{"type":61,"value":675}," =",{"type":52,"tag":199,"props":677,"children":678},{"style":254},[679],{"type":61,"value":680}," JSON",{"type":52,"tag":199,"props":682,"children":683},{"style":243},[684],{"type":61,"value":126},{"type":52,"tag":199,"props":686,"children":687},{"style":404},[688],{"type":61,"value":689},"parse",{"type":52,"tag":199,"props":691,"children":692},{"style":423},[693],{"type":61,"value":411},{"type":52,"tag":199,"props":695,"children":696},{"style":254},[697],{"type":61,"value":698},"agentResponse",{"type":52,"tag":199,"props":700,"children":701},{"style":423},[702],{"type":61,"value":502},{"type":52,"tag":199,"props":704,"children":705},{"style":243},[706],{"type":61,"value":507},{"type":52,"tag":199,"props":708,"children":709},{"class":201,"line":491},[710],{"type":52,"tag":199,"props":711,"children":712},{"style":454},[713],{"type":61,"value":714},"  \u002F\u002F Extract specific fields, e.g., parsed.trend_summary\n",{"type":52,"tag":199,"props":716,"children":717},{"class":201,"line":510},[718],{"type":52,"tag":199,"props":719,"children":720},{"style":243},[721],{"type":61,"value":722},"}\n",{"type":52,"tag":53,"props":724,"children":725},{},[726,728,734,736,741],{"type":61,"value":727},"Use ",{"type":52,"tag":113,"props":729,"children":731},{"className":730},[],[732],{"type":61,"value":733},"Grep",{"type":61,"value":735}," to find specific methods in the generated service file (generated files can be very large — see ",{"type":52,"tag":64,"props":737,"children":739},{"href":738},"$%7BPLUGIN_ROOT%7D\u002Fshared\u002Fconnector-reference.md#inspecting-large-generated-files",[740],{"type":61,"value":148},{"type":61,"value":742},").",{"type":52,"tag":744,"props":745,"children":747},"h4",{"id":746},"known-issues",[748],{"type":61,"value":749},"Known Issues",{"type":52,"tag":751,"props":752,"children":753},"ul",{},[754,780,797,821],{"type":52,"tag":91,"props":755,"children":756},{},[757,762,764,770,772,778],{"type":52,"tag":57,"props":758,"children":759},{},[760],{"type":61,"value":761},"ExecuteCopilot",{"type":61,"value":763}," (",{"type":52,"tag":113,"props":765,"children":767},{"className":766},[],[768],{"type":61,"value":769},"\u002Fexecute",{"type":61,"value":771},") -- fire-and-forget, only returns ",{"type":52,"tag":113,"props":773,"children":775},{"className":774},[],[776],{"type":61,"value":777},"ConversationId",{"type":61,"value":779},", not the actual response. Do NOT use this.",{"type":52,"tag":91,"props":781,"children":782},{},[783,788,789,795],{"type":52,"tag":57,"props":784,"children":785},{},[786],{"type":61,"value":787},"ExecuteCopilotAsync",{"type":61,"value":763},{"type":52,"tag":113,"props":790,"children":792},{"className":791},[],[793],{"type":61,"value":794},"\u002FexecuteAsync",{"type":61,"value":796},") -- returns 502 \"Cannot read server response\" errors. Do NOT use this.",{"type":52,"tag":91,"props":798,"children":799},{},[800,805,806,812,814,819],{"type":52,"tag":57,"props":801,"children":802},{},[803],{"type":61,"value":804},"Conversation turn model",{"type":61,"value":763},{"type":52,"tag":113,"props":807,"children":809},{"className":808},[],[810],{"type":61,"value":811},"\u002Fconversations\u002F{ConversationId}",{"type":61,"value":813},") -- only works after ",{"type":52,"tag":113,"props":815,"children":817},{"className":816},[],[818],{"type":61,"value":769},{"type":61,"value":820},", which doesn't provide responses. Do NOT use this.",{"type":52,"tag":91,"props":822,"children":823},{},[824,829,831,837,839,844,845,851],{"type":52,"tag":57,"props":825,"children":826},{},[827],{"type":61,"value":828},"Response casing varies",{"type":61,"value":830}," -- check all variations: ",{"type":52,"tag":113,"props":832,"children":834},{"className":833},[],[835],{"type":61,"value":836},"conversationId",{"type":61,"value":838},", ",{"type":52,"tag":113,"props":840,"children":842},{"className":841},[],[843],{"type":61,"value":777},{"type":61,"value":838},{"type":52,"tag":113,"props":846,"children":848},{"className":847},[],[849],{"type":61,"value":850},"conversationID",{"type":61,"value":126},{"type":52,"tag":101,"props":853,"children":855},{"id":854},"step-4-build",[856],{"type":61,"value":857},"Step 4: Build",{"type":52,"tag":188,"props":859,"children":861},{"className":190,"code":860,"language":192,"meta":193,"style":193},"npm run build\n",[862],{"type":52,"tag":113,"props":863,"children":864},{"__ignoreMap":193},[865],{"type":52,"tag":199,"props":866,"children":867},{"class":201,"line":202},[868,873,878],{"type":52,"tag":199,"props":869,"children":870},{"style":206},[871],{"type":61,"value":872},"npm",{"type":52,"tag":199,"props":874,"children":875},{"style":212},[876],{"type":61,"value":877}," run",{"type":52,"tag":199,"props":879,"children":880},{"style":212},[881],{"type":61,"value":882}," build\n",{"type":52,"tag":53,"props":884,"children":885},{},[886],{"type":61,"value":887},"Fix TypeScript errors before proceeding. Do NOT deploy yet.",{"type":52,"tag":101,"props":889,"children":891},{"id":890},"step-5-update-memory-bank",[892],{"type":61,"value":893},"Step 5: Update Memory Bank",{"type":52,"tag":53,"props":895,"children":896},{},[897,899,904],{"type":61,"value":898},"Update ",{"type":52,"tag":113,"props":900,"children":902},{"className":901},[],[903],{"type":61,"value":118},{"type":61,"value":905}," with: connector added, agent name configured, configured operations, build status.",{"type":52,"tag":907,"props":908,"children":909},"style",{},[910],{"type":61,"value":911},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":913,"total":1000},[914,927,938,948,963,976,984],{"slug":915,"name":915,"fn":916,"description":917,"org":918,"tags":919,"stars":26,"repoUrl":27,"updatedAt":926},"activate-site","provision and activate Power Pages sites","Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[920,923,924],{"name":921,"slug":922,"type":15},"Deployment","deployment",{"name":9,"slug":8,"type":15},{"name":925,"slug":36,"type":15},"Power Pages","2026-04-06T18:34:34.732549",{"slug":928,"name":928,"fn":929,"description":930,"org":931,"tags":932,"stars":26,"repoUrl":27,"updatedAt":937},"add-connector","add Power Platform connectors to apps","Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[933,934,935],{"name":13,"slug":14,"type":15},{"name":24,"slug":25,"type":15},{"name":936,"slug":37,"type":15},"Power Platform","2026-07-31T05:54:47.042251",{"slug":939,"name":939,"fn":940,"description":941,"org":942,"tags":943,"stars":26,"repoUrl":27,"updatedAt":947},"add-datasource","add data sources to Power Apps","Adds a data source or connector to a Power Apps code app. Asks what the user wants to accomplish and routes to the appropriate specialized skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[944,945,946],{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},"2026-07-03T16:31:47.822186",{"slug":949,"name":949,"fn":950,"description":951,"org":952,"tags":953,"stars":26,"repoUrl":27,"updatedAt":962},"add-dataverse","add Dataverse tables to Power Apps","Use when the user wants to add Dataverse tables (existing or new) to a Power Apps mobile app, extend an existing Dataverse table with new columns, or apply an approved data model plan.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[954,957,960,961],{"name":955,"slug":956,"type":15},"Data Modeling","data-modeling",{"name":958,"slug":959,"type":15},"Dataverse","dataverse",{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},"2026-07-31T05:54:46.078014",{"slug":964,"name":964,"fn":965,"description":966,"org":967,"tags":968,"stars":26,"repoUrl":27,"updatedAt":975},"add-excel","integrate Excel Online into Power Apps","Adds Excel Online (Business) connector to a Power Apps code app. Use when reading or writing Excel workbook data from OneDrive or SharePoint.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[969,972,973,974],{"name":970,"slug":971,"type":15},"Excel","excel",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},"2026-07-31T05:54:44.030943",{"slug":4,"name":4,"fn":5,"description":6,"org":977,"tags":978,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[979,980,981,982,983],{"name":21,"slug":22,"type":15},{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"slug":985,"name":985,"fn":986,"description":987,"org":988,"tags":989,"stars":26,"repoUrl":27,"updatedAt":999},"add-sample-data","populate Power Pages tables with sample data","Populates Dataverse tables with sample records for testing and demoing a Power Pages site. Use when the user wants to add sample data, seed data, generate test records, or insert demo data into their tables.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[990,993,994,995,996],{"name":991,"slug":992,"type":15},"Database","database",{"name":958,"slug":959,"type":15},{"name":9,"slug":8,"type":15},{"name":925,"slug":36,"type":15},{"name":997,"slug":998,"type":15},"Testing","testing","2026-04-06T18:34:41.141155",26,{"items":1002,"total":1192},[1003,1025,1044,1065,1080,1097,1108,1121,1136,1151,1168,1180],{"slug":1004,"name":1004,"fn":1005,"description":1006,"org":1007,"tags":1008,"stars":1022,"repoUrl":1023,"updatedAt":1024},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1009,1012,1015,1016,1019],{"name":1010,"slug":1011,"type":15},"Engineering","engineering",{"name":1013,"slug":1014,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":1017,"slug":1018,"type":15},"Project Management","project-management",{"name":1020,"slug":1021,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":1026,"name":1026,"fn":1027,"description":1028,"org":1029,"tags":1030,"stars":1041,"repoUrl":1042,"updatedAt":1043},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1031,1034,1035,1038],{"name":1032,"slug":1033,"type":15},".NET","net",{"name":21,"slug":22,"type":15},{"name":1036,"slug":1037,"type":15},"Azure","azure",{"name":1039,"slug":1040,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":1045,"name":1045,"fn":1046,"description":1047,"org":1048,"tags":1049,"stars":1041,"repoUrl":1042,"updatedAt":1064},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1050,1053,1054,1057,1060,1061],{"name":1051,"slug":1052,"type":15},"Analytics","analytics",{"name":1036,"slug":1037,"type":15},{"name":1055,"slug":1056,"type":15},"Data Analysis","data-analysis",{"name":1058,"slug":1059,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":1062,"slug":1063,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":1066,"name":1066,"fn":1067,"description":1068,"org":1069,"tags":1070,"stars":1041,"repoUrl":1042,"updatedAt":1079},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1071,1074,1075,1076],{"name":1072,"slug":1073,"type":15},"AI Infrastructure","ai-infrastructure",{"name":1036,"slug":1037,"type":15},{"name":1058,"slug":1059,"type":15},{"name":1077,"slug":1078,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":1081,"name":1081,"fn":1082,"description":1083,"org":1084,"tags":1085,"stars":1041,"repoUrl":1042,"updatedAt":1096},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1086,1087,1090,1091,1092,1095],{"name":1036,"slug":1037,"type":15},{"name":1088,"slug":1089,"type":15},"Compliance","compliance",{"name":1039,"slug":1040,"type":15},{"name":9,"slug":8,"type":15},{"name":1093,"slug":1094,"type":15},"Python","python",{"name":1077,"slug":1078,"type":15},"2026-07-18T05:14:23.017504",{"slug":1098,"name":1098,"fn":1099,"description":1100,"org":1101,"tags":1102,"stars":1041,"repoUrl":1042,"updatedAt":1107},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1103,1104,1105,1106],{"name":1051,"slug":1052,"type":15},{"name":1036,"slug":1037,"type":15},{"name":1039,"slug":1040,"type":15},{"name":1093,"slug":1094,"type":15},"2026-07-31T05:54:29.068751",{"slug":1109,"name":1109,"fn":1110,"description":1111,"org":1112,"tags":1113,"stars":1041,"repoUrl":1042,"updatedAt":1120},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1114,1117,1118,1119],{"name":1115,"slug":1116,"type":15},"API Development","api-development",{"name":1036,"slug":1037,"type":15},{"name":9,"slug":8,"type":15},{"name":1093,"slug":1094,"type":15},"2026-07-18T05:14:16.988376",{"slug":1122,"name":1122,"fn":1123,"description":1124,"org":1125,"tags":1126,"stars":1041,"repoUrl":1042,"updatedAt":1135},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1127,1128,1131,1134],{"name":1036,"slug":1037,"type":15},{"name":1129,"slug":1130,"type":15},"Computer Vision","computer-vision",{"name":1132,"slug":1133,"type":15},"Images","images",{"name":1093,"slug":1094,"type":15},"2026-07-18T05:14:18.007737",{"slug":1137,"name":1137,"fn":1138,"description":1139,"org":1140,"tags":1141,"stars":1041,"repoUrl":1042,"updatedAt":1150},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1142,1143,1146,1149],{"name":1036,"slug":1037,"type":15},{"name":1144,"slug":1145,"type":15},"Configuration","configuration",{"name":1147,"slug":1148,"type":15},"Feature Flags","feature-flags",{"name":1058,"slug":1059,"type":15},"2026-07-03T16:32:01.278468",{"slug":1152,"name":1152,"fn":1153,"description":1154,"org":1155,"tags":1156,"stars":1041,"repoUrl":1042,"updatedAt":1167},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1157,1160,1161,1164],{"name":1158,"slug":1159,"type":15},"Cosmos DB","cosmos-db",{"name":991,"slug":992,"type":15},{"name":1162,"slug":1163,"type":15},"NoSQL","nosql",{"name":1165,"slug":1166,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":1169,"name":1169,"fn":1153,"description":1170,"org":1171,"tags":1172,"stars":1041,"repoUrl":1042,"updatedAt":1179},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1173,1174,1175,1176,1177],{"name":1158,"slug":1159,"type":15},{"name":991,"slug":992,"type":15},{"name":9,"slug":8,"type":15},{"name":1162,"slug":1163,"type":15},{"name":1178,"slug":363,"type":15},"TypeScript","2026-07-03T16:31:19.368382",{"slug":1181,"name":1181,"fn":1182,"description":1183,"org":1184,"tags":1185,"stars":1041,"repoUrl":1042,"updatedAt":1191},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1186,1187,1188,1189,1190],{"name":1036,"slug":1037,"type":15},{"name":1158,"slug":1159,"type":15},{"name":991,"slug":992,"type":15},{"name":1058,"slug":1059,"type":15},{"name":1162,"slug":1163,"type":15},"2026-05-13T06:14:17.582229",267]