Power Automate非工作时间OOO自动回复配置调试问题
解决Power Automate非工作时间自动OOO回复的Condition报错问题
报错原因
你用int(outputs('Convert_time_zone'))时,传入的不是单纯的小时数字字符串,而是Convert Time Zone动作的整个输出对象(哪怕输出显示是"13",实际结构是类似{"body": "13"}的JSON),int函数无法把整个对象转成整数,因此触发报错。
解决步骤
- 正确提取小时值:把表达式改成
int(outputs('Convert_time_zone')?['body']),其中?['body']用来从输出对象里提取真正的小时字符串,?是安全访问符,能避免字段不存在时流程崩溃。 - 规范对比值类型:Condition里的对比值别用字符串"08"、"07",直接用数字
8、7,避免类型匹配问题。
修改后的Condition代码
{ "type": "If", "expression": { "or": [ { "greater": [ "@int(outputs('Convert_time_zone')?['body'])", 8 ] }, { "less": [ "@int(outputs('Convert_time_zone')?['body'])", 7 ] } ] }, "actions": { "Send_an_email_(V2)": { "type": "OpenApiConnection", "inputs": { "parameters": { "emailMessage/To": "@{triggerOutputs()?['body/from']}@{triggerOutputs()?['body/toRecipients']}", "emailMessage/Subject": "RE: @{triggerOutputs()?['body/subject']}", "emailMessage/Body": "redacted so i dont dox my client", "emailMessage/Importance": "Normal" }, "host": { "apiId": "/providers/Microsoft.PowerApps/apis/shared_office365", "connection": "shared_office365", "operationId": "SendEmailV2" } } } }, "else": { "actions": {} }, "runAfter": { "Convert_time_zone": [ "Succeeded" ] } }
补充说明
你疑惑的int确实是将值转换为整数的函数,问题核心是没正确获取到Convert Time Zone输出的小时字符串,而是传入了整个动作输出对象。修改后就能正常判断时间是否在非工作时段了。
内容的提问来源于stack exchange,提问作者Herman Poon
相关产品推荐
相关产品推荐

