名称: helpscout
描述: 获取并回复 Helpscout 对话
元数据:
{
"openclaw":
{
"requires": { "env": ["API_KEY", "APP_SECRET", "INBOX_IDS"] },
},
}
本技能用于与 Helpscout 交互,从指定收件箱获取对话并发送回复。它旨在直接从 OpenClaw 简化客户支持操作。
使用本技能前,需配置 Helpscout 凭证并指定要获取对话的收件箱 ID。
使用以下命令保存您的 Helpscout 凭证:
cat ~/.openclaw/openclaw.json | jq '.skills.entries.helpscout = {
enabled: true,
env: {
API_KEY: "您的API密钥",
APP_SECRET: "您的应用密钥",
INBOX_IDS: ["收件箱ID-1", "收件箱ID-2"]
}
}' | openclaw gateway config.apply
为确保凭证设置正确,请检查您的配置:
openclaw gateway config.get
请确认 helpscout 对象显示正确(避免分享 API_KEY 或 APP_SECRET)。
从配置的收件箱获取所有活跃对话:
const { fetchAllInboxes } = require('./index.js');
// 获取所有活跃对话(默认)
const results = await fetchAllInboxes();
const { fetchConversations } = require('./index.js');
// 从特定收件箱获取已关闭的对话
const conversations = await fetchConversations(321755, {
status: 'closed',
sortField: 'modifiedAt',
sortOrder: 'desc',
page: 1
});
// 获取分配给特定用户的对话
const assigned = await fetchConversations(321755, {
assignedTo: 782728,
status: 'active'
});
// 获取带有特定标签的对话
const tagged = await fetchConversations(321755, {
tag: 'urgent',
status: 'active'
});
// 获取嵌入对话线程的对话
const withThreads = await fetchConversations(321755, {
embed: 'threads',
status: 'active'
});
// 高级搜索查询
const searched = await fetchConversations(321755, {
query: '(customerEmail:user@example.com)',
status: 'all'
});
const { sendReply } = require('./index.js');
// 发送客户可见的回复(将发送邮件)
await sendReply(3227506031, {
text: '您好,\n\n感谢您的留言!\n\n此致,',
inboxId: 321755 // 必需,用于自动获取客户 ID
});
// 发送不向客户发送邮件的回复(导入)
await sendReply(3227506031, {
text: '草稿回复 - 尚未发送给客户',
customerId: 856475517, // 或提供 inboxId 以自动获取
imported: true
});
// 发送回复并关闭对话
await sendReply(3227506031, {
text: '全部完成!如有需要,请随时告知。',
inboxId: 321755,
status: 'closed'
});
// 创建内部备注
const { createNote } = require('./index.js');
await createNote(3227506031, '内部备注:客户来电,问题已解决。');
| 参数 | 类型 | 描述 |
|---|---|---|
text |
字符串 | 必需。 回复文本(支持 HTML) |
inboxId |
数字 | 收件箱 ID - 如果未提供 customerId 则为必需(自动获取客户信息) |
customerId |
数字 | 客户 ID - 如果未提供,将使用 inboxId 自动获取 |
imported |
布尔值 | 标记为导入(不向客户发送邮件)。默认:false |
status |
字符串 | 回复后的对话状态:active、pending、closed。可选。 |
userId |
数字 | 发送回复的用户 ID。可选(默认为认证用户)。 |
| 参数 | 类型 | 描述 |
|---|---|---|
text |
字符串 | 必需。 备注文本(支持 HTML) |
| 参数 | 类型 | 描述 |
|---|---|---|
status |
字符串 | 按状态筛选:active、pending、closed、spam 或 all(默认:active) |
folderId |
数字 | 按文件夹 ID 筛选 |
assignedTo |
数字 | 按用户 ID 筛选 |
customerId |
数字 | 按客户 ID 筛选 |
number |
数字 | 按对话编号筛选 |
modifiedSince |
字符串 | ISO8601 日期,筛选在此日期之后修改的对话 |
sortField |
字符串 | 排序字段:createdAt、mailboxId、modifiedAt、number、score、status、subject(默认:createdAt) |
sortOrder |
字符串 | 排序顺序:asc 或 desc(默认:desc) |
tag |
字符串 | 按标签名称筛选 |
query |
字符串 | 高级搜索查询,格式为 fieldId:value |
embed |
字符串 | 要嵌入的资源列表,以逗号分隔:threads |
page |
数字 | 分页页码(默认:1) |
config.apply 系统安全地管理敏感信息。API_KEY 和 APP_SECRET)。