自动化每日Outlook日历会议摘要

自动化每日Outlook日历会议摘要

总体目标

该工作流会在预定时间(默认每天上午8点)自动运行,计算当天的日期范围,从指定的Microsoft Outlook账户获取当天的所有日历事件,将这些事件格式化为用户友好的HTML电子邮件,然后将摘要发送到指定邮箱。


工作原理(逐步分解):

节点:计划触发器(计划触发器节点)

  • 类型: n8n-nodes-base.scheduleTrigger
  • 目的: 在预定义时间自动启动工作流。
  • 配置:
    • 规则 > 间隔 > 触发时间:8

      (根据n8n服务器的时区,每天上午8:00触发)
  • 输出: 在预定时间触发工作流执行。

节点:代码(代码节点)

  • 类型: n8n-nodes-base.code
  • 目的: 动态计算“今天”的开始和结束时间戳,基于工作流触发时间。
  • 配置(JS代码):
    • 获取当前日期和时间(工作流运行时间)。
    • today设置为当天的开始时间(00:00:00)。
    • tomorrow设置为下一天的开始时间(00:00:00)。
    • 将这些转换为ISO字符串格式(例如,2023-10-27T00:00:00Z)。
  • 输出: 包含todaytomorrow ISO日期字符串的JSON对象。

节点:Microsoft Outlook(Microsoft Outlook节点)

  • 类型: n8n-nodes-base.microsoftOutlook
  • 目的: 从Outlook获取计算日期范围内的日历事件。
  • 配置:
    • 资源:事件
    • 过滤器(自定义):
      start/dateTime ge '{{$json.today}}' and start/dateTime lt '{{$json.tomorrow}}'  
      

    (OData过滤器,用于获取今天开始或之后且明天之前的所有事件。)

  • 输出: 来自Outlook的事件对象列表。

节点:编辑字段(设置节点)

  • 类型: n8n-nodes-base.set
  • 目的: 转换并简化Outlook的事件数据结构。
  • 配置: 将Outlook事件字段映射到新字段名:
    • id
    • subject
    • description(来自bodyPreview
    • meeting_start
    • meeting_end
    • attendees
    • meeting_organizer
    • meeting_organizer_email
    • meeting_link
  • 输出: 包含简化会议详情的JSON对象列表。

节点:生成HTML(代码节点)

  • 类型: n8n-nodes-base.code
  • 目的: 生成一个HTML电子邮件正文,总结所有会议,并创建邮件主题行。
  • 配置(JS代码):
    • 处理来自“编辑字段”节点的所有会议项。
    • 定义generateMeetingReminderEmail函数,将每个会议格式化为HTML“卡片”。
    • 转义HTML特殊字符,格式化时间、与会者等。
    • 将所有卡片拼接成完整的HTML文档。
    • 生成主题行(例如,“🗓️ 您今天的会议 – 周五,10月27日”)。
  • 输出: JSON对象:
    {  "subject": "邮件主题字符串",  "html": "生成的HTML内容字符串"  }  

节点:发送电子邮件(电子邮件发送节点)

  • 类型: n8n-nodes-base.emailSend
  • 目的: 将生成的HTML摘要邮件发送到指定收件人。
  • 配置:
  • 输出: 邮件发送状态。

便签

  • 更新时间: 在“计划触发器”节点附近;根据需要配置触发时间。
  • 更新邮件详情: 在“发送电子邮件”节点附近;更改发件人和收件人邮箱地址。

如何自定义

  • 计划(计划触发器节点):

    修改触发时间、分钟或周几以更改工作流运行时间。

  • 日期范围(代码节点):

    调整JS代码以更改日期范围(例如,下一个工作日或下周)。

  • Outlook日历(Microsoft Outlook节点):

    指定日历ID或优化OData过滤器以选择事件。

  • 事件详情(编辑字段节点):

    添加、删除或修改提取的事件字段。

  • 邮件外观和内容(生成HTML节点):

    更改CSS样式、会议详情或主题行逻辑。

  • 无会议场景:

    在“编辑字段”节点后使用“If”节点处理无会议日(例如,发送“今天无会议!”邮件或跳过邮件)。

  • 邮件收件人(发送电子邮件节点):

    更新“发件人”和“收件人”邮箱;多个收件人用逗号分隔。


错误处理

  • 使用“错误触发器”节点捕获和处理故障(Outlook API或SMTP错误)。
  • 发送警报或记录错误。

使用场景

  • 自动化每日个人会议简报: 获取每日会议摘要邮件。
  • 自动化团队会议摘要: 发送每日团队日历摘要邮件。
  • 主动每日计划: 自动了解当天的日程安排。

所需凭证

在n8n实例的凭证下添加以下凭证:

  • Microsoft Outlook(OAuth2 API):

    • 使用节点:“Microsoft Outlook”节点
    • 工作流中的凭证名称:Outlook(ID:JcYqVJwcwZIhB8oy
    • 需要OAuth2和Calendars.Read权限。
  • SMTP:

    • 使用节点:“发送电子邮件”节点
    • 工作流中的凭证名称:SMTP账户(ID:vCexcphurglwGBfk
    • 需要SMTP服务器详情(主机、端口、用户名、密码)。

确保这些凭证配置正确并具有所需权限。激活工作流以按计划执行。


由Akhil使用n8n制作,充满❤️。

(0)
上一篇 6天前
下一篇 6天前

更多相关内容

从零掌握 AI + MCP/Responses API 的自动化设计,节省90%的时间和成本,成为AI自动化专家。学会 n8n、Coze、Dify 接入全球领先 AI应用生态,打造属于你的 AI智能工作流。