如何利用 n8n 让 ONLYOFFICE 协作空间自动化:无需编码即可构建文档工作流

2026年07月01日作者:Mona

概述

您可以通过利用 n8n 的官方节点自动化 ONLYOFFICE 协作空间,而无需编写任何代码。这使您能够创建将协作空间与其他工具连接的工作流,从而自动化诸如账户配置、文档上传和通知等重复性任务,简化您的文档管理流程。

如果您在公司中将 ONLYOFFICE 协作空间作为文档中心,您可能发现自己一遍又一遍地手动执行相同的任务。新客户签约:您打开协作空间,创建一个房间,上传合同模板,邀请他们。新员工加入:您为他们分配账户,添加到相应的房间,发送欢迎邮件。表单提交:您将其转发到正确的文件夹,通知团队。这些任务并不复杂,但相当繁琐。好消息是,从现在开始,这些任务可以完全实现自动化。

ONLYOFFICE 协作空间目前已为开源工作流自动化平台 n8n 配备了官方节点。您可以将协作空间与团队正在使用的工具进行连接,如 Gmail、Slack、HubSpot、Airtable、人力资源系统、客户关系管理系统等,从而无需再手动处理这些任务。

自动化 ONLYOFFICE 协作空间与 n8n:构建文档工作流,无需编码

什么是 n8n?

n8n 是一个工作流自动化工具,类似于 Zapier 或 Make,但它是开源的,并可以在您自己的基础设施上运行。对于出于数据控制原因进行自托管的协作空间用户来说,它是非常有价值的。

n8n 为您提供了一个可视化画布,您可以在其中连接节点,每个节点代表一个服务中的操作。当触发器触发时(例如新邮件到达、表单提交、计划运行),工作流会自动执行,在节点之间传递数据,直到任务完成。通过提供超过 400 种集成,它可以与您的团队当前使用的大多数工具一起工作。

协作空间节点的功能

该软件包包括两个节点:

  • ONLYOFFICE 协作空间:通过协作空间 API 执行操作的动作节点
  • ONLYOFFICE 协作空间触发器:当协作空间中发生某些事情时触发您的工作流的事件节点

动作节点操作

  • 文件:上传、下载、移动、复制、更新、删除、创建、获取信息、生成共享链接
  • 房间:创建、更新、获取信息、搜索、归档、搜索、邀请或移除用户、更新访问角色、获取共享链接
  • 用户:邀请用户、获取用户、搜索、更新角色、启用或禁用账户、删除
  • 文件夹:创建、获取信息、获取内容、获取历史记录、获取共享链接、移动、复制、更新、删除

触发节点事件

触发节点可以让工作流对协作空间活动作出反应,而无需轮询。支持的事件包括:

  • 文件:创建、上传、更新、复制、移动、回收、删除、恢复
  • 文件夹:创建、更新、复制、移动、回收、删除、恢复
  • 房间:创建、更新、复制、归档、删除、恢复
  • 用户:创建、邀请、更新、删除
  • 群组:创建、更新、删除

例如:文件上传触发 Slack 通知,新房间启动审批工作流,删除用户将移除连接系统中的访问权限。

五个现成的工作流

下面为您介绍五个现成可用、可立即构建的工作流。

1. 在交易完成时自动创建客户协作房间

当交易在 CRM 中标记为成功时,此工作流为客户创建一个命名的协作房间,从您的库中下载合同模板,将其上传到房间,邀请客户,并发送包含可分享房间链接的欢迎邮件。

逐步说明
  1. <在此处设置您的 CRM 系统触发节点>
  2. ONLYOFFICE 协作空间:创建房间
    • 设置 ONLYOFFICE 协作空间凭据(请参考此文档
    • 您可以通过将客户名称变量放入 Title 参数来个性化房间标题(例如 “{{ $json.client_name }} — 客户房间”)
    • Type 参数中选择您要创建的房间类型(对于该工作流,我们建议使用协作房间类型)
  3. ONLYOFFICE 协作空间:下载文件
    • 将将在客户房间上传的合同模板的 ID 插入到 File ID 参数中(您可以在协作空间中存储的文件的 URL 地址中查看,例如 https://***.com/doceditor?fileId=69313
  4. ONLYOFFICE 协作空间:上传文件
    • 将之前创建的房间的 ID 存储的变量插入到 Parent ID 参数中(应如下所示:{{ $('Create a room').item.json.id }}
    • 您可以在 File Name 参数中个性化文件名称(例如 {{ $('Edit Fields').item.json.client_name }}_contract.docx)
    • 确保 Binary File 参数处于开启状态
  5. ONLYOFFICE 协作空间:邀请用户到房间
    • Room ID 参数设置为 Manual,并用 INPUT 中的变量填充:{{ $('Create a room').item.json.id }}
    • User ID 参数更改为 fixedManual,并在 User Email 参数中填入客户的电子邮件地址
    • User Access 中选择客户的权限 -> From list
  6. ONLYOFFICE 协作空间:获取房间的共享链接
    • Room ID 参数中填入变量:{{ $('Create a room').item.json.id }}
  7. Gmail:发送消息
    • 选择一个 Gmail 凭据
    • 将客户的电子邮件地址放入 To 参数中
    • 设置 Subject 参数
    • 使用前面步骤中的变量编写电子邮件模板

触发器可以是任何 CRM 事件(HubSpot、Pipedrive、Salesforce)、Webhook 或手动运行。在您的团队需要考虑之前,客户房间就已经准备好了。

2. AI 驱动的文档接收管道

此工作流监视带有附件的 Gmail 收件箱。当有邮件到达时,它将文件上传到指定的协作空间文件夹,提取文本并将其传递给 AI 模型(默认使用 GPT-4o mini)。该模型识别文档类型,提取发件人、日期和任何货币金额,并写出一句话摘要。包含完整细节的 Slack 消息发送给您的团队。

逐步说明
  1. Gmail 触发器
    • 设置 Gmail OAuth2 凭据
    • 过滤器预设为 `has:attachment`,因此工作流仅在带有文件的邮件上触发
    • 默认轮询间隔设置为每一分钟 — 如有需要请在触发器设置中进行调整
  2. Gmail:获取消息
    • Options 部分启用 Download Attachments,以便将附件作为二进制数据用于下一步
  3. ONLYOFFICE 协作空间:上传文件
    • 设置您的 ONLYOFFICE 协作空间凭据(请参考此文档
    • Parent ID 参数设置为应存储入库的协作空间文件夹的 ID(您可以在打开文件夹时在协作空间 URL 中找到文件夹 ID)
    • File Name 参数中个性化文件名称 — 例如 `{{ $json.from.text }}: {{ $json.subject }}` 将每个文件命名为发件人和邮件主题
  4. 从文件中提取
    • Operation 设置为 Extract From PDF 以从上传的 PDF 附件中提取纯文本
  5. OpenAI 聊天模型(信息提取器的子节点)
    • 设置 OpenAI API 凭据
    • 模型默认设置为 gpt-5-mini — 如果您的 OpenAI 账户支持其他模型,请更改此设置
  6. 信息提取器
    • Text 参数已预填为之前提取步骤的 `{{ $json.text }}`
    • 预配置了五个属性:document_typesender_namedocument_datetotal_amountsummary — 您可以根据团队需要添加、删除或重命名这些字段
  7. Slack:发送消息
    • 设置 Slack OAuth2 凭据
    • Channel 参数设置为您的团队应接收通知的 Slack 频道
    • 消息模板已预填充了所有五个提取字段 — 编辑文本以符合您的格式

您也可以使用协作空间触发节点直接触发此工作流,当文件上传到协作空间时,完全跳过电子邮件轮询。

每个输入文档(发票、合同、保密协议、采购订单)最终都会归档并被总结。您的团队在不打开任何附件的情况下查看到了收到的内容。

3. 新员工加入时为其配置协作空间账户

当您的 HR 系统通过 Webhook 发布新员工事件时,此工作流为员工创建一个协作空间账户,通过 Slack 通知 IT,并向新员工发送一封包含其协作空间链接的欢迎邮件。

逐步说明
  1. Webhook 触发器
    • 从节点复制 webhook URL,并配置您的 HR 系统在创建新员工时进行 POST 操作
    • 预期的有效负载字段为 nameemaildepartment — 工作流会自动处理平面 JSON (`{ "name": "..." }`) 和 body-wrapped 有效负载 (`{ "body": { "name": "..." } }`)

    注意:如果您的 HR 系统有官方的 n8n 触发器,建议使用它。

  2. 编辑字段
    • 此步骤将传入有效负载规范化为三个清晰的字段:fullNameemaildepartment
    • 如果您的 HR 系统发送不同的字段名称,请相应更新此节点中的表达式
  3. ONLYOFFICE 协作空间:邀请用户
    • 设置您的 ONLYOFFICE 协作空间凭据(请参考此文档
    • EmailFirst NameLast Name 参数将自动从前一步中填充
    • Type 默认设置为 `Room Admin` — 如果新员工应被分配不同的角色,可以进行更改
  4. Slack:发送消息
    • 设置 Slack OAuth2 凭据
    • 用您 IT 团队的 Slack 频道 ID 替换频道 ID 占位符
    • 通知应预填充新员工的姓名、电子邮件和部门信息,通过使用前面步骤中的变量
  5. Gmail:发送消息
    • 设置 Gmail OAuth2 凭据
    • To 参数将自动从规范化的电子邮件字段中填充
    • 定制邮件主题和正文,以符合您公司的入职语气

它处理平面 JSON 和 body-wrapped 有效负载,因此可以与大多数可以触发 webhook 的 HR 系统配合使用。只需设置一次,新员工在首次登录之前就可以等待其账户。

4. 每周清理不活跃的协作房间

团队在项目结束和客户转移时往往会积累房间,但很少有人愿意清理这些房间。此工作流每周一上午 9 点运行,从协作空间中获取所有房间,过滤出任何不活跃超过 90 天的房间,归档它们,并向 Slack 发布摘要。

逐步说明
  1. 计划触发器
    • 触发器配置为每周一上午 9 点运行 — 如有需要可以在触发器设置中调整日期、时间或频率,以符合您的团队日程
  2. ONLYOFFICE 协作空间:获取所有房间
    • 设置您的 ONLYOFFICE 协作空间凭据(请参考此文档
    • Search Room 操作获取您账户可以访问的所有房间 — 不需要额外的参数
  3. 代码:过滤不活跃 90+ 天的房间
    • 此 JavaScript 节点比较每个房间的 `updatedAt` 时间戳与今天的日期(请参见下面的代码脚本)
    • 要更改不活跃的阈值,请在代码中查找数字 `90` 并将其替换为您希望的天数
    • 不符合过滤器的房间将被安静地丢弃 — 工作流其余部分仅在符合条件的房间上运行
  4. ONLYOFFICE 协作空间:归档不活跃的房间
    • Room ID 参数设置为 `{{ $json.id }}`,并从每个过滤项中自动提取房间 ID
    • 此节点针对每个房间运行一次 — 如果有 12 个房间不活跃,它将触发 12 次
  5. Slack:发送归档报告
    • 设置 Slack OAuth2 凭据
    • 用您管理员或运营 Slack 频道的 ID 替换频道 ID 占位符
    • 使用前面步骤中的变量编写模板
    • 此节点设置为在处理完所有房间后仅运行一次,并发布一条消息,列出每个被归档的房间

第 3 步的 JavaScript:

<code class="language-javascript">const cutoff = new Date();
cutoff.setDate(cutoff.getDate() - 90);
return items.filter(item => {
const updated = new Date(item.json.updatedAt || item.json.updated || 0);
return updated < cutoff;
});</code>

不活跃的阈值是代码节点中的单个数字。根据需要将 90 更改为 60 或 180。当没有要归档的内容时,工作流将安静运行。

5. 客户项目接收表单到协作空间房间,自动

此工作流以一个由 n8n 托管的表单开始:项目名称、客户名称、电子邮件、描述。提交后,创建一个协作空间房间,检索可共享链接,发送电子邮件给客户,包含他们的直接工作区 URL,然后在 Slack 中通知您的团队。

逐步说明
  1. n8n 表单触发器
    • 表单预先配置了四个字段:Project Name(必填)、Your Name(必填)、Email Address(必填)和 Project Description(可选)
    • 从节点复制表单 URL,并与客户分享 — 表单由 n8n 直接托管,不需要外部服务
    • 提交后显示的确认消息已预填充 — 在触发器节点的 Options 部分中进行编辑
  2. ONLYOFFICE 协作空间:创建房间
    • 设置您的 ONLYOFFICE 协作空间凭据(请参考 此文档
    • Title 参数设置为 `{{ $json.project_name }} — {{ $json.client_name }}`,因此每个房间的名称会自动根据项目和客户来命名
    • 房间 Type 设置为 Collaboration Room — 如果其他房间类型更符合您的用例,请更改此设置
  3. ONLYOFFICE 协作空间:获取房间的共享链接
    • Room ID 参数设置为 `{{ $json.id }}`,并从上一步中创建的房间自动提取房间 ID
  4. Gmail:发送消息
    • 设置 Gmail OAuth2 凭据
    • To 参数应填入表单的电子邮件字段中的变量
    • Subject 应为包含 Project Name 和/或 Your Name 的文本模板,来自第 1 步
    • 前一步中房间链接应嵌入在电子邮件正文中,如 `{{ $("Get Room Shared Link").item.json.sharedLink }}`
  5. Slack:发送消息
    • 设置 Slack OAuth2 凭据
    • 用团队应在新项目通知中接收的 Slack 频道的 ID 替换频道 ID 占位符
    • 通知应包括项目名称、客户名称、电子邮件地址和指向新协作空间房间的直接链接的变量

立即开始

您需要一个 n8n 实例(云或自托管),以及一个 ONLYOFFICE 协作空间账户。要安装协作空间节点,您可以在节点搜索中搜索“ONLYOFFICE DocSpace”。

免费开始             安装本地版

支持四种认证方法:API 密钥(推荐)、基本身份验证、OAuth2 和个人访问令牌。一旦配置,凭据将跨实例中所有的协作空间节点共享。请参阅 ONLYOFFICE 协作空间凭据文档中的设置细节。

按照上述描述重新创建任意五个工作流模板,连接您的凭据,交换正确的文件夹和频道 ID,激活即可。

接下来构建什么

上述工作流涵盖了常见的用例。除此之外,相同的节点还支持如下功能:

  • 到期提醒:按计划扫描合同文件夹,检查文件名或元数据中的日期,在到期前发送续约提醒
  • 访问审计:每周报告所有房间、其成员和访问级别,发送到管理频道
  • 事件驱动归档:使用触发节点在文件达到某一状态时自动移动或归档文件
  • 用户生命周期管理:使用触发事件保持协作空间账户与您的目录服务同步

这些节点公开了您在协作空间界面上通过 API 操作可以执行的大部分操作。n8n 将它们连接到您的其余技术栈。

结语

如果上述任何工作流符合您目前手动执行的操作,设置过程非常简单:安装节点,连接凭据,导入模板并激活。之后,协作空间将处理常规工作,而无需您参与。

创建免费的 ONLYOFFICE 账户

在线查看并协作编辑文本文档、电子表格、幻灯片、表单和 PDF 文件。