收信
标签与分类
自动将发出和收到的邮件归入标签,并为智能体分配一个其会话永远不会离开的分类。
标签
标签的作用类似 Gmail 中的文件夹。一封邮件最多可以带 10 个标签,一个工作区最多可以有 200 个标签。使用 POST /labels 创建标签,使用 GET /labels 列出标签及其邮件数和未读数,使用 GET /emails?label=Billing 读取某个标签下的邮件。在任何地方都可以通过名称或 lbl_ ID 引用标签。
发送到标签
{
"from": "Orders <orders@example.com>",
"to": [
"customer@example.net"
],
"subject": "Order 1042",
"text": "Reply with a delivery window.",
"labels": [
"Agent/Orders"
]
}不存在的标签名称会被自动创建。该会话中之后的每一封邮件(包括客户的回复)都会继承该会话的标签。
分类(bucket)
创建标签时设置 "skip_inbox": true,即可将其变为分类。收到的邮件如果获得了分类标签(无论是通过归档规则、作为已加标签会话的回复,还是通过 POST /emails/:id/labels),都会被归档,因此只会出现在该标签中,永远不会出现在收件箱里。已发送的邮件从不出现在收件箱中。这样一来,智能体的任务会话无论收发,都集中在同一个地方。
{
"name": "Agent/Orders",
"skip_inbox": true,
"rules": [
{
"inbox_id": "inb_…"
}
],
"apply_to_existing": true
}归档规则
规则会自动归档新邮件。规则上设置的每个条件都必须匹配:inbox_id(收件地址)、direction(in 或 out),以及对 from、to(To 和 Cc)和 subject 的不区分大小写的子串匹配。规则自身的 skip_inbox 只会归档它匹配到的收到的邮件。使用 POST /labels/:id/rules 添加规则;apply_to_existing 还会归档已保留的邮件。
处理分类中的邮件
轮询 GET /emails?label=Agent%2FOrders&direction=in&unread=true,使用 GET /threads/:id 读取会话,使用 reply_to_email_id 回复,然后通过 PATCH /emails/:id {"read": true} 标记为已处理。使用 POST /emails/:id/labels {"add": [...], "remove": [...]} 将邮件移入或移出。MCP 服务器以 create_label、create_label_rule、label_email 和 list_emails 提供相同的操作。