跳到主要内容

n8n

Basic 及以上

自动化适用于 Basic 及以上套餐。上限和详情请参阅 Webhook 自动化。

n8n 是一个自动化平台,你可以自行托管,也可以使用云端版本。用 Webhook 节点把 TellDone 连接到 n8n。你的 n8n 实例必须能通过 HTTPS 从互联网访问,并且使用域名(IP 地址会被拒绝)。

设置​

在 n8n 中​

  1. 在工作流中添加一个 Webhook 节点
  2. 把 HTTP Method 设为 POST
  3. 设置一个路径(例如 telldone)
  4. (可选)启用 Header Auth:Name = Authorization,Value = 你的密钥令牌
  5. 复制 Production URL(不是测试 URL)

Production URL 只有在工作流处于激活状态时才会接收数据,所以请先把它打开。

在 TellDone 中​

  1. 进入 设置 > 集成 > 自动化
  2. 轻点新建自动化,输入名称(例如“n8n”),并粘贴 n8n 的 production URL
  3. 如果你在 n8n 中启用了 Header Auth,请在 TellDone 中输入相同的令牌作为 auth header
  4. 选择要发送的数据类型(笔记、Ultra 上的笔记 + 音频、任务、事件、报告)以及要使用的触发条件(已创建、已更新、已完成、已删除)
  5. 轻点保存,再轻点测试发送,发送一份示例数据

查看 n8n 的执行日志 - 你应该能看到一条带有 "test": true 的数据。

按事件类型分流​

在 Webhook 节点后添加一个 Switch 节点,按事件类型分流数据:

  • Routing field:传入数据中的 event 值
  • Rule 1:等于 note.created - 分流到你的笔记动作
  • Rule 2:等于 task.created - 分流到你的任务动作
  • Rule 3:等于 calendar_event.created - 分流到你的日历动作
  • Rule 4:等于 report.created - 分流到你的报告动作
  • 如果你还打开了已更新、已完成或已删除触发条件,也请为这些事件类型添加规则,例如 task.completed

把每个 Switch 输出连接到相应的动作节点(Todoist、Google Calendar、Slack 等)。

常用表达式​

配置动作节点时,可以用这些 n8n 表达式来获取 TellDone 的数据:

表达式说明
{{ $json.data.title }}笔记、任务或事件的标题
{{ $json.data.tags.join(', ') }}以逗号分隔的标签字符串
{{ $json.data.priority }}优先级
{{ $json.data.due_date }}截止日期(任务)
{{ $json.data.summary }}AI 生成的摘要(笔记)
{{ $json.event }}事件类型

各数据类型的完整字段列表,请参阅 Webhook 自动化 - 发送的内容。

过滤测试事件​

在 Webhook 节点后立即添加一个 IF 节点:

  • 条件:{{ $json.test }} is not true
  • True 路径:工作流的其余部分
  • False 路径:No Operation(丢弃测试事件)

示例工作流​

  • Webhook > Switch > Todoist:创建带优先级和截止日期的任务
  • Webhook > Switch > Google Calendar:创建带时间、地点和参与者的事件
  • Webhook > Switch > Slack:把每日报告发布到频道
  • Webhook > Switch > Google Sheets:把所有笔记记录为表格行
  • Webhook > Switch > Notion:保存带标签和摘要的笔记

确认请求来自 TellDone​

n8n 无法验证 TellDone 的签名,因为它的节点只能看到解析后的数据,看不到 TellDone 签名时所用的原始请求体。请改用 Header Auth:在 Webhook 节点中打开它,并在 TellDone 中输入相同的令牌作为 auth header(第 4 步和第 8 步)。这样 n8n 会拒绝任何不带该令牌的请求。

断开连接​

要停止向 n8n 发送数据:

  • 在 n8n 中停用该工作流,或者
  • 在 TellDone 的 设置 > 集成 > 自动化 中,关闭该自动化的已启用开关,或轻点删除自动化

另请参阅​