PowerPlatform 是一个用于从自然语言描述生成 Power Automate 流程的技能,属于个人 AI 基础设施(PAI)中的一项能力。它的核心目标是把用户的口语化需求,例如“当收到紧急邮件时发到 Teams 频道”或“每周一早上发送上周报告摘要”,转换成可部署的 Power Automate 解决方案文件。
用途方面,该技能主要服务于需要在工作中快速创建 Power Automate 流程的场景。用户无需手动编写复杂的 JSON 定义,只需用自然语言说明触发器、动作、条件和数据流,技能便会基于已导出的连接器架构生成对应的流程定义,并打包成可导入的解决方案 ZIP 文件。
主要能力包括:根据触发短语路由到不同的起始模板;读取工作仓库中的连接器架构和 manifest.json,确认所需连接器是否可用;解析用户请求中的触发器(如邮件到达、文件创建、定时、手动或 HTTP 请求)、动作(如发送消息、创建条目、更新记录)、条件分支和数据传递;按照 Power Automate 架构生成流程 JSON;使用 tools/package-solution.sh 打包为解决方案结构;最终保存到 generated 目录。技能内置了模板,包括 approval-flow.json(审批工作流)、notification-flow.json(事件触发的通知)、scheduled-report.json(定时数据收集)、form-processing.json(表单响应处理)和 file-sync.json(跨系统文件操作)。同时提供参考文档,如 reference/expressions.md(表达式语法)、reference/triggers.md(触发器配置)和 reference/actions.md(动作配置),以及 examples 目录下的可运行示例。
使用方式上,用户首先需要确保工作仓库中存在连接器架构和 manifest.json。技能会先读取 ~/Projects/work/scripts/power-platform/manifest.json 以确认可用连接器。如果 manifest.json 不存在或已过期,技能会提示用户在工作环境运行导出脚本。之后,技能解析用户请求,选择合适模板或从零构建,生成流程 JSON,包含唯一 GUID、正确的触发器配置、带正确操作 ID 的动作序列、所有连接器的连接引用以及动态内容的表达式语法。最后通过打包脚本生成解决方案包,保存到 ~/Projects/work/scripts/power-platform/generated/ 目录。
适用场景包括:邮件通知、文档审批、定时报告、表单处理和文件同步等常见自动化需求。用户可以用触发短语如“notify”“send a message when”“alert on new email/item”来启动通知流程,“approval”“route for sign-off”“approve/reject”启动审批流程,“scheduled report”“every week/day send”“recurring summary”启动定时报告流程,以及“save attachments”“process incoming email files”启动邮件附件处理流程。
限制方面,该技能不能直接部署流程,用户需要在工作环境中手动导入解决方案。导入时需要手动映射连接引用。部分高级连接器需要高级许可证才能使用。自定义连接器在没有架构导出的情况下不受支持。连接器架构的新鲜度取决于工作环境中的导出频率。
此外,流程使用连接引用,这些引用会映射到目标环境中的实际连接。技能使用占位符 ID,在导入时由 Power Platform 提示用户映射到自己的实际连接。表达式语法方面,Power Automate 使用特定的表达式语言,常见模式包括动态内容引用(如 @{triggerOutputs()?['body/subject']})、函数(如 @{utcNow()}、@{concat('Hello ', triggerBody()?['name'])}、@{if(equals(1,1),'yes','no')}、@{length(body('Get_items')?['value'])}、@{formatDateTime(utcNow(),'yyyy-MM-dd')})以及条件表达式。具体语法可参考 reference/expressions.md。
常见触发器包括:When_a_new_email_arrives(Office365,邮件自动化)、When_a_file_is_created(SharePoint,文档工作流)、When_an_item_is_created(SharePoint,列表自动化)、When_a_row_is_added(Dataverse,数据库触发器)、Recurrence(Schedule,定时任务)、manual(Manual,按钮触发)和 When_a_HTTP_request_is_received(HTTP,Webhook/API 触发)。常见动作包括:Send_an_email(Office365,邮件通知)、Post_message_in_a_chat_or_channel(Teams,团队通知)、Create_item(SharePoint,添加列表项)、Update_item(SharePoint,修改列表项)、Start_and_wait_for_an_approval(Approvals,审批工作流)、Create_a_row(Dataverse,数据库写入)和 HTTP(HTTP,外部 API 调用)。
架构上,工作仓库中的连接器架构、manifest.json 和 generated 目录与 PAI 技能目录形成读写关系:技能读取工作仓库中的连接器和 manifest,将生成的解决方案 ZIP 写入工作仓库的 generated 目录。