mirror of
https://github.com/github/awesome-copilot.git
synced 2026-03-12 12:15:12 +00:00
* feat: add flowstudio-power-automate-debug and flowstudio-power-automate-build skills Two companion skills for the FlowStudio Power Automate MCP server: - flowstudio-power-automate-debug: Debug workflow for failed Power Automate cloud flow runs - flowstudio-power-automate-build: Build & deploy flows from natural language descriptions Both require a FlowStudio MCP subscription: https://flowstudio.app These complement the existing flowstudio-power-automate-mcp skill (merged in PR #896). * fix: address all review comments — README, cross-refs, response shapes, step numbering - Add skills to docs/README.skills.md (fixes validate-readme CI check) - Update cross-skill references to use flowstudio- prefix (#1, #4, #7, #9) - Fix get_live_flow_run_action_outputs: returns array, index [0] (#2, #3) - Renumber Step 6→5, Step 7→6 — remove gap in build workflow (#8) - Fix connectionName note: it's the key, not the GUID (#10) - Remove invalid arrow function from Filter array expression (#11) * feat: add flowstudio-power-automate plugin bundling all 3 skills Plugin bundles: - flowstudio-power-automate-mcp (core connection & CRUD) - flowstudio-power-automate-debug (debug failed runs) - flowstudio-power-automate-build (build & deploy flows) Install: copilot plugin install flowstudio-power-automate@awesome-copilot Per @aaronpowell's suggestion in review.
109 lines
2.7 KiB
Markdown
109 lines
2.7 KiB
Markdown
# Common Build Patterns
|
|
|
|
Complete flow definition templates ready to copy and customize.
|
|
|
|
---
|
|
|
|
## Pattern: Recurrence + SharePoint list read + Teams notification
|
|
|
|
```json
|
|
{
|
|
"triggers": {
|
|
"Recurrence": {
|
|
"type": "Recurrence",
|
|
"recurrence": { "frequency": "Day", "interval": 1,
|
|
"startTime": "2026-01-01T08:00:00Z",
|
|
"timeZone": "AUS Eastern Standard Time" }
|
|
}
|
|
},
|
|
"actions": {
|
|
"Get_SP_Items": {
|
|
"type": "OpenApiConnection",
|
|
"runAfter": {},
|
|
"inputs": {
|
|
"host": {
|
|
"apiId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline",
|
|
"connectionName": "shared_sharepointonline",
|
|
"operationId": "GetItems"
|
|
},
|
|
"parameters": {
|
|
"dataset": "https://mytenant.sharepoint.com/sites/mysite",
|
|
"table": "MyList",
|
|
"$filter": "Status eq 'Active'",
|
|
"$top": 500
|
|
}
|
|
}
|
|
},
|
|
"Apply_To_Each": {
|
|
"type": "Foreach",
|
|
"runAfter": { "Get_SP_Items": ["Succeeded"] },
|
|
"foreach": "@outputs('Get_SP_Items')?['body/value']",
|
|
"actions": {
|
|
"Post_Teams_Message": {
|
|
"type": "OpenApiConnection",
|
|
"runAfter": {},
|
|
"inputs": {
|
|
"host": {
|
|
"apiId": "/providers/Microsoft.PowerApps/apis/shared_teams",
|
|
"connectionName": "shared_teams",
|
|
"operationId": "PostMessageToConversation"
|
|
},
|
|
"parameters": {
|
|
"poster": "Flow bot",
|
|
"location": "Channel",
|
|
"body/recipient": {
|
|
"groupId": "<team-id>",
|
|
"channelId": "<channel-id>"
|
|
},
|
|
"body/messageBody": "Item: @{items('Apply_To_Each')?['Title']}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"operationOptions": "Sequential"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Pattern: HTTP trigger (webhook / Power App call)
|
|
|
|
```json
|
|
{
|
|
"triggers": {
|
|
"manual": {
|
|
"type": "Request",
|
|
"kind": "Http",
|
|
"inputs": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": { "type": "string" },
|
|
"value": { "type": "number" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"actions": {
|
|
"Compose_Response": {
|
|
"type": "Compose",
|
|
"runAfter": {},
|
|
"inputs": "Received: @{triggerBody()?['name']} = @{triggerBody()?['value']}"
|
|
},
|
|
"Response": {
|
|
"type": "Response",
|
|
"runAfter": { "Compose_Response": ["Succeeded"] },
|
|
"inputs": {
|
|
"statusCode": 200,
|
|
"body": { "status": "ok", "message": "@{outputs('Compose_Response')}" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Access body values: `@triggerBody()?['name']`
|