Microsoft Bookings新预约触发事件获取及第三方应用集成方案问询
Microsoft Bookings 主动事件推送实现方案
首先明确结论:Microsoft Bookings 原生支持主动推送预约事件到外部系统,你可以通过 Microsoft Graph 的变更通知(也就是你说的Webhook)机制实现需求。
核心实现逻辑
Bookings 中的所有预约数据对应 Microsoft Graph 中的 bookingAppointment 资源,你可以订阅该资源的变更事件,微软服务会在预约创建、修改、删除等动作发生时,主动向你预先配置的回调地址推送事件 payload,无需你侧轮询拉取。
不同目标系统的适配方法
- 推送到 Teams:无需代码开发,直接用 Power Automate 配置自动化流,选择「当新的预约创建时」的 Bookings 触发条件,后续绑定 Teams 消息推送动作即可,支持推送到指定频道或者客服个人账号。
- 推送到自研 ASP.NET Web App:
- 先在 Azure AD 注册应用,申请
BookingsAppointment.ReadWrite.All应用权限(如果只需要接收通知申请只读权限也可)并完成管理员同意 - 调用 Microsoft Graph 的订阅接口,配置你方 Web App 的公网 HTTPS 回调端点,按需配置事件筛选规则(比如只过滤新创建的预约事件)
- 你方回调端点需要先完成微软的首次验证逻辑,后续就能正常接收主动推送的预约全量字段数据
- 先在 Azure AD 注册应用,申请
- 推送到 Power Apps:可以直接使用 Power Platform 内置的 Bookings 连接器,搭配 Power Automate 把预约事件直接触发 Power Apps 的业务动作,也可以把预约数据同步到 Dataverse 后供 Power Apps 直接调用。
注意事项
- 订阅的默认有效期最长为 3 天,你需要在到期前调用订阅更新接口续期,避免事件推送中断
- 你方接收事件的回调端点必须使用 HTTPS 协议,且不能限制微软服务的公网IP访问,否则会出现推送失败的问题
- 可以通过 Graph 订阅的筛选参数,只订阅你需要的「新预约创建」事件,过滤修改、取消等非必要事件,减少你侧的无效请求处理量
内容的提问来源于stack exchange,提问作者Christoph
相关产品推荐
相关产品推荐

