SuperAPI AI 工具集

outlook-automation

办公与效率

查看项目

更新于 10-15 08:01

技能介绍

用途

Outlook Automation 用于通过 Rube MCP(Composio)自动化 Microsoft Outlook 的日常操作,包括邮件搜索与查询、日历事件管理、联系人管理以及邮件文件夹整理。

前置条件

  • 必须已连接 Rube MCP(RUBE_SEARCH_TOOLS 可用)。
  • 需通过 RUBE_MANAGE_CONNECTIONS 激活 Outlook 连接,toolkit 为 outlook。
  • 始终先调用 RUBE_SEARCH_TOOLS 获取当前工具 schema。

设置方式

  1. 获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥,添加端点即可使用。
  2. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
  3. 调用 RUBE_MANAGE_CONNECTIONS,toolkit 为 outlook。
  4. 若连接不是 ACTIVE,按返回的授权链接完成 Microsoft OAuth。
  5. 确认连接状态为 ACTIVE 后再运行任何工作流。

主要能力

1. 搜索与过滤邮件

适用场景:用户希望在整个邮箱中查找特定邮件。

工具序列:

  • OUTLOOK_SEARCH_MESSAGES:使用 KQL 语法跨所有文件夹搜索(必需)
  • OUTLOOK_GET_MESSAGE:获取完整邮件详情(可选)
  • OUTLOOK_LIST_OUTLOOK_ATTACHMENTS:列出邮件附件(可选)
  • OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT:下载附件(可选)

关键参数:

  • query:KQL 搜索字符串(from:、to:、subject:、received:、hasattachment:)
  • from_index:分页起始位置(从 0 开始)
  • size:每页结果数(最大 25)
  • message_id:邮件 ID(使用搜索结果中的 hitId)

注意事项:

  • 仅适用于 Microsoft 365/企业账户(不适用于 @hotmail.com/@outlook.com)。
  • 分页依赖 hitsContainers[0].moreResultsAvailable,仅在为 false 时停止。
  • 下游调用应使用搜索结果中的 hitId 作为 message_id,而非 resource.id。
  • 存在索引延迟:非常新的邮件可能不会立即出现。
  • 内联图片会显示为附件;可通过 mimetype 过滤出真实文档。

2. 查询文件夹中的邮件

适用场景:用户希望用 OData 过滤器列出特定文件夹中的邮件。

工具序列:

  • OUTLOOK_LIST_MAIL_FOLDERS:列出邮件文件夹以获取文件夹 ID(前置步骤)
  • OUTLOOK_QUERY_EMAILS:使用结构化过滤器查询邮件(必需)

关键参数:

  • folder:文件夹名称('inbox'、'sentitems'、'drafts')或文件夹 ID
  • filter:OData 过滤器(例如 isRead eq false and importance eq 'high')
  • top:最大结果数(1-1000)
  • orderby:排序字段与方向
  • select:要返回的字段数组

注意事项:

  • QUERY_EMAILS 仅搜索单个文件夹;跨文件夹搜索请使用 SEARCH_MESSAGES。
  • 自定义文件夹需要文件夹 ID,而非显示名称;使用 LIST_MAIL_FOLDERS 获取。
  • 始终检查 response['@odata.nextLink'] 以处理分页。
  • 无法按收件人或正文内容过滤;此类需求请使用 SEARCH_MESSAGES。

3. 管理日历事件

适用场景:用户希望列出、搜索或查看日历事件。

工具序列:

  • OUTLOOK_LIST_EVENTS:带过滤器列出事件(可选)
  • OUTLOOK_GET_CALENDAR_VIEW:获取时间窗口内的事件(可选)
  • OUTLOOK_GET_EVENT:获取特定事件详情(可选)
  • OUTLOOK_LIST_CALENDARS:列出可用日历(可选)
  • OUTLOOK_GET_SCHEDULE:获取空闲/忙碌信息(可选)

关键参数:

  • filter:OData 过滤器(使用 start/dateTime,而非 receivedDateTime)
  • start_datetime/end_datetime:日历视图的 ISO 8601 时间
  • timezone:IANA 时区(例如 'America/New_York')
  • calendar_id:可选的非主日历 ID
  • select:要返回的字段

注意事项:

  • 仅使用日历事件属性(start/dateTime、end/dateTime),不要使用邮件属性(receivedDateTime)。
  • 日历视图需要 start_datetime 和 end_datetime。
  • 重复事件需要 expand_recurring_events=true 才能看到单个实例。
  • 拒绝状态通过 attendees[].status.response 按参与者查看。

4. 管理联系人

适用场景:用户希望列出、创建或整理联系人。

工具序列:

  • OUTLOOK_LIST_CONTACTS:列出联系人(可选)
  • OUTLOOK_CREATE_CONTACT:创建新联系人(可选)
  • OUTLOOK_GET_CONTACT_FOLDERS:列出联系人文件夹(可选)
  • OUTLOOK_CREATE_CONTACT_FOLDER:创建联系人文件夹(可选)

关键参数:

  • givenName/surname:联系人姓名
  • emailAddresses:邮件对象数组
  • displayName:完整显示名称
  • contact_folder_id:可选的联系人所属文件夹

注意事项:

  • 创建联系人支持许多字段,但仅需 givenName 或 surname。

5. 管理邮件文件夹

适用场景:用户希望整理邮件文件夹。

工具序列:

  • OUTLOOK_LIST_MAIL_FOLDERS:列出顶层文件夹(必需)
  • OUTLOOK_LIST_CHILD_MAIL_FOLDERS:列出子文件夹(可选)
  • OUTLOOK_CREATE_MAIL_FOLDER:创建新文件夹(可选)

关键参数:

  • parent_folder_id:已知名称或文件夹 ID
  • displayName:新文件夹名称
  • include_hidden_folders:显示隐藏文件夹

注意事项:

  • 已知文件夹名称:'inbox'、'sentitems'、'drafts'、'deleteditems'、'junkemail'、'archive'。
  • 自定义文件夹操作需要文件夹 ID,而非显示名称。

常用模式

KQL 搜索语法

属性过滤器:

  • from:user@example.com:发件人
  • to:recipient@example.com:收件人
  • subject:invoice:主题包含
  • received>=2025-01-01:日期过滤
  • hasattachment:yes:含附件

组合符:

  • AND:两个条件都满足
  • OR:任一条件满足
  • 括号用于分组

OData 过滤器语法

邮件过滤器:

  • isRead eq false:未读邮件
  • importance eq 'high':高重要性
  • hasAttachments eq true:含附件
  • receivedDateTime ge 2025-01-01T00:00:00Z:日期过滤

日历过滤器:

  • start/dateTime ge '2025-01-01T00:00:00Z':日期之后的事件
  • contains(subject, 'Meeting'):主题包含文本

已知限制

账户类型:

  • SEARCH_MESSAGES 需要 Microsoft 365/企业账户。
  • 个人账户(@hotmail.com、@outlook.com)API 访问受限。

字段混淆:

  • 邮件属性(receivedDateTime)与日历属性(start/dateTime)不同。
  • 不要在日历查询中使用邮件字段,反之亦然。

快速参考

任务 工具 Slug 关键参数
搜索邮件 OUTLOOK_SEARCH_MESSAGES query, from_index, size
查询文件夹 OUTLOOK_QUERY_EMAILS folder, filter, top
获取邮件 OUTLOOK_GET_MESSAGE message_id
列出附件 OUTLOOK_LIST_OUTLOOK_ATTACHMENTS message_id
下载附件 OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT message_id, attachment_id
列出文件夹 OUTLOOK_LIST_MAIL_FOLDERS (无)
子文件夹 OUTLOOK_LIST_CHILD_MAIL_FOLDERS parent_folder_id
列出事件 OUTLOOK_LIST_EVENTS filter, timezone
日历视图 OUTLOOK_GET_CALENDAR_VIEW start_datetime, end_datetime
获取事件 OUTLOOK_GET_EVENT event_id
列出日历 OUTLOOK_LIST_CALENDARS (无)
空闲/忙碌 OUTLOOK_GET_SCHEDULE schedules, times
列出联系人 OUTLOOK_LIST_CONTACTS top, filter
创建联系人 OUTLOOK_CREATE_CONTACT givenName, emailAddresses
联系人文件夹 OUTLOOK_GET_CONTACT_FOLDERS (无)