You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Power Automate创建Dynamics 365 Appointment生成Teams会议遇阻

解决方案:通过Power Automate生成带Teams在线会议的Dataverse Appointment

方案1:使用Dataverse原生AddOnlineMeeting Action(最优解)

  • 不要直接创建带在线会议标记的Appointment,先创建草稿状态的Appointment:
    • 设置StateCode=0(草稿)、StatusCode=1(未开始)
    • 提前填好RequiredAttendees/OptionalAttendees(用分号分隔的邮箱,比如user1@contoso.com;user2@contoso.com)
  • 接着调用Dataverse的AddOnlineMeeting Action,传入刚创建的Appointment ID
  • 这个Action会自动调用Teams服务生成完整的在线会议信息(包括Join URL、Meeting ID等),且组织者默认是触发流的用户(前提是流的Dataverse连接开启了使用调用者的连接,若之前保存后重置,尝试重新创建连接并确认该选项)

方案2:修复Teams Connector的组织者问题

  • 若想用Teams Connector创建会议再同步到Dataverse,用托管身份+解决方案流绕过连接重置问题:
    1. 在Power Platform Admin Center给目标环境启用托管身份
    2. 将流移入解决方案,设置流的运行身份为调用者
    3. 创建Teams连接时选择「使用托管身份」,在「创建会议」操作中把Organizer字段设为触发流的用户邮箱(从自定义实体的创建者字段提取,比如triggerOutputs()?['body/_createdby_value@Microsoft.Dynamics.CRM.emailaddress1'])
    4. 会议创建后,将Teams会议的Join URL、Meeting ID同步到Dataverse的Appointment对应字段

方案3:修正插件实现逻辑

  • 之前插件仅设置IsOnlineMeeting=1和MeetingType无效,需调用Dataverse的AddOnlineMeeting消息:
    // 插件Post-operation阶段执行,目标为Appointment实体
    var addOnlineMeetingReq = new AddOnlineMeetingRequest
    {
        Target = new EntityReference("appointment", ((Entity)context.InputParameters["Target"]).Id),
        MeetingType = MeetingType.TeamsMeeting
    };
    context.OrganizationService.Execute(addOnlineMeetingReq);
    
  • 插件注册时设置执行用户为调用用户,确保会议组织者是触发记录创建的用户,而非插件注册账户

方案4:传统工作流+Power Automate批量补参会人

  • 若传统工作流能生成Teams会议但无法添加多参会人,用以下组合方式:
    1. 传统工作流创建带Teams会议的Appointment(先填一个参会人占位)
    2. Power Automate监听Appointment创建事件,循环处理参会人列表,通过Add Activity Party操作批量添加参会人到该Appointment

内容的提问来源于stack exchange,提问作者ReshDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:40:04