如何利用 n8n 让 ONLYOFFICE 协作空间自动化:无需编码即可构建文档工作流
概述
您可以通过利用 n8n 的官方节点自动化 ONLYOFFICE 协作空间,而无需编写任何代码。这使您能够创建将协作空间与其他工具连接的工作流,从而自动化诸如账户配置、文档上传和通知等重复性任务,简化您的文档管理流程。
如果您在公司中将 ONLYOFFICE 协作空间作为文档中心,您可能发现自己一遍又一遍地手动执行相同的任务。新客户签约:您打开协作空间,创建一个房间,上传合同模板,邀请他们。新员工加入:您为他们分配账户,添加到相应的房间,发送欢迎邮件。表单提交:您将其转发到正确的文件夹,通知团队。这些任务并不复杂,但相当繁琐。好消息是,从现在开始,这些任务可以完全实现自动化。
ONLYOFFICE 协作空间目前已为开源工作流自动化平台 n8n 配备了官方节点。您可以将协作空间与团队正在使用的工具进行连接,如 Gmail、Slack、HubSpot、Airtable、人力资源系统、客户关系管理系统等,从而无需再手动处理这些任务。

什么是 n8n?
n8n 是一个工作流自动化工具,类似于 Zapier 或 Make,但它是开源的,并可以在您自己的基础设施上运行。对于出于数据控制原因进行自托管的协作空间用户来说,它是非常有价值的。
n8n 为您提供了一个可视化画布,您可以在其中连接节点,每个节点代表一个服务中的操作。当触发器触发时(例如新邮件到达、表单提交、计划运行),工作流会自动执行,在节点之间传递数据,直到任务完成。通过提供超过 400 种集成,它可以与您的团队当前使用的大多数工具一起工作。
协作空间节点的功能
该软件包包括两个节点:
- ONLYOFFICE 协作空间:通过协作空间 API 执行操作的动作节点
- ONLYOFFICE 协作空间触发器:当协作空间中发生某些事情时触发您的工作流的事件节点
动作节点操作
- 文件:上传、下载、移动、复制、更新、删除、创建、获取信息、生成共享链接
- 房间:创建、更新、获取信息、搜索、归档、搜索、邀请或移除用户、更新访问角色、获取共享链接
- 用户:邀请用户、获取用户、搜索、更新角色、启用或禁用账户、删除
- 文件夹:创建、获取信息、获取内容、获取历史记录、获取共享链接、移动、复制、更新、删除
触发节点事件
触发节点可以让工作流对协作空间活动作出反应,而无需轮询。支持的事件包括:
- 文件:创建、上传、更新、复制、移动、回收、删除、恢复
- 文件夹:创建、更新、复制、移动、回收、删除、恢复
- 房间:创建、更新、复制、归档、删除、恢复
- 用户:创建、邀请、更新、删除
- 群组:创建、更新、删除
例如:文件上传触发 Slack 通知,新房间启动审批工作流,删除用户将移除连接系统中的访问权限。
五个现成的工作流
下面为您介绍五个现成可用、可立即构建的工作流。
1. 在交易完成时自动创建客户协作房间
当交易在 CRM 中标记为成功时,此工作流为客户创建一个命名的协作房间,从您的库中下载合同模板,将其上传到房间,邀请客户,并发送包含可分享房间链接的欢迎邮件。
逐步说明
- <在此处设置您的 CRM 系统触发节点>
- ONLYOFFICE 协作空间:创建房间
- 设置 ONLYOFFICE 协作空间凭据(请参考此文档)
- 您可以通过将客户名称变量放入
Title参数来个性化房间标题(例如 “{{ $json.client_name }}— 客户房间”) - 在
Type参数中选择您要创建的房间类型(对于该工作流,我们建议使用协作房间类型)
- ONLYOFFICE 协作空间:下载文件
- 将将在客户房间上传的合同模板的 ID 插入到
File ID参数中(您可以在协作空间中存储的文件的 URL 地址中查看,例如 https://***.com/doceditor?fileId=69313)
- 将将在客户房间上传的合同模板的 ID 插入到
- ONLYOFFICE 协作空间:上传文件
- 将之前创建的房间的 ID 存储的变量插入到
Parent ID参数中(应如下所示:{{ $('Create a room').item.json.id }}) - 您可以在
File Name参数中个性化文件名称(例如{{ $('Edit Fields').item.json.client_name }}_contract.docx) - 确保
Binary File参数处于开启状态
- 将之前创建的房间的 ID 存储的变量插入到
- ONLYOFFICE 协作空间:邀请用户到房间
- 将
Room ID参数设置为Manual,并用 INPUT 中的变量填充:{{ $('Create a room').item.json.id }} - 将
User ID参数更改为fixed和Manual,并在User Email参数中填入客户的电子邮件地址 - 在
User Access中选择客户的权限 ->From list
- 将
- ONLYOFFICE 协作空间:获取房间的共享链接
- 在
Room ID参数中填入变量:{{ $('Create a room').item.json.id }}
- 在
- Gmail:发送消息
- 选择一个 Gmail 凭据
- 将客户的电子邮件地址放入
To参数中 - 设置
Subject参数 - 使用前面步骤中的变量编写电子邮件模板
触发器可以是任何 CRM 事件(HubSpot、Pipedrive、Salesforce)、Webhook 或手动运行。在您的团队需要考虑之前,客户房间就已经准备好了。
2. AI 驱动的文档接收管道
此工作流监视带有附件的 Gmail 收件箱。当有邮件到达时,它将文件上传到指定的协作空间文件夹,提取文本并将其传递给 AI 模型(默认使用 GPT-4o mini)。该模型识别文档类型,提取发件人、日期和任何货币金额,并写出一句话摘要。包含完整细节的 Slack 消息发送给您的团队。
逐步说明
- Gmail 触发器
- 设置 Gmail OAuth2 凭据
- 过滤器预设为
`has:attachment`,因此工作流仅在带有文件的邮件上触发 - 默认轮询间隔设置为每一分钟 — 如有需要请在触发器设置中进行调整
- Gmail:获取消息
- 在
Options部分启用Download Attachments,以便将附件作为二进制数据用于下一步
- 在
- ONLYOFFICE 协作空间:上传文件
- 设置您的 ONLYOFFICE 协作空间凭据(请参考此文档)
- 将
Parent ID参数设置为应存储入库的协作空间文件夹的 ID(您可以在打开文件夹时在协作空间 URL 中找到文件夹 ID) - 在
File Name参数中个性化文件名称 — 例如`{{ $json.from.text }}: {{ $json.subject }}`将每个文件命名为发件人和邮件主题
- 从文件中提取
- 将
Operation设置为Extract From PDF以从上传的 PDF 附件中提取纯文本
- 将
- OpenAI 聊天模型(信息提取器的子节点)
- 设置 OpenAI API 凭据
- 模型默认设置为
gpt-5-mini— 如果您的 OpenAI 账户支持其他模型,请更改此设置
- 信息提取器
Text参数已预填为之前提取步骤的`{{ $json.text }}`- 预配置了五个属性:
document_type、sender_name、document_date、total_amount和summary— 您可以根据团队需要添加、删除或重命名这些字段
- Slack:发送消息
- 设置 Slack OAuth2 凭据
- 将
Channel参数设置为您的团队应接收通知的 Slack 频道 - 消息模板已预填充了所有五个提取字段 — 编辑文本以符合您的格式
您也可以使用协作空间触发节点直接触发此工作流,当文件上传到协作空间时,完全跳过电子邮件轮询。
每个输入文档(发票、合同、保密协议、采购订单)最终都会归档并被总结。您的团队在不打开任何附件的情况下查看到了收到的内容。
3. 新员工加入时为其配置协作空间账户
当您的 HR 系统通过 Webhook 发布新员工事件时,此工作流为员工创建一个协作空间账户,通过 Slack 通知 IT,并向新员工发送一封包含其协作空间链接的欢迎邮件。
逐步说明
- Webhook 触发器
- 从节点复制 webhook URL,并配置您的 HR 系统在创建新员工时进行 POST 操作
- 预期的有效负载字段为
name、email和department— 工作流会自动处理平面 JSON (`{ "name": "..." }`) 和 body-wrapped 有效负载 (`{ "body": { "name": "..." } }`)
注意:如果您的 HR 系统有官方的 n8n 触发器,建议使用它。
- 编辑字段
- 此步骤将传入有效负载规范化为三个清晰的字段:
fullName、email和department - 如果您的 HR 系统发送不同的字段名称,请相应更新此节点中的表达式
- 此步骤将传入有效负载规范化为三个清晰的字段:
- ONLYOFFICE 协作空间:邀请用户
- 设置您的 ONLYOFFICE 协作空间凭据(请参考此文档)
Email、First Name和Last Name参数将自动从前一步中填充Type默认设置为`Room Admin`— 如果新员工应被分配不同的角色,可以进行更改
- Slack:发送消息
- 设置 Slack OAuth2 凭据
- 用您 IT 团队的 Slack 频道 ID 替换频道 ID 占位符
- 通知应预填充新员工的姓名、电子邮件和部门信息,通过使用前面步骤中的变量
- Gmail:发送消息
- 设置 Gmail OAuth2 凭据
To参数将自动从规范化的电子邮件字段中填充- 定制邮件主题和正文,以符合您公司的入职语气
它处理平面 JSON 和 body-wrapped 有效负载,因此可以与大多数可以触发 webhook 的 HR 系统配合使用。只需设置一次,新员工在首次登录之前就可以等待其账户。
4. 每周清理不活跃的协作房间
团队在项目结束和客户转移时往往会积累房间,但很少有人愿意清理这些房间。此工作流每周一上午 9 点运行,从协作空间中获取所有房间,过滤出任何不活跃超过 90 天的房间,归档它们,并向 Slack 发布摘要。
逐步说明
- 计划触发器
- 触发器配置为每周一上午 9 点运行 — 如有需要可以在触发器设置中调整日期、时间或频率,以符合您的团队日程
- ONLYOFFICE 协作空间:获取所有房间
- 设置您的 ONLYOFFICE 协作空间凭据(请参考此文档)
Search Room操作获取您账户可以访问的所有房间 — 不需要额外的参数
- 代码:过滤不活跃 90+ 天的房间
- 此 JavaScript 节点比较每个房间的
`updatedAt`时间戳与今天的日期(请参见下面的代码脚本) - 要更改不活跃的阈值,请在代码中查找数字
`90`并将其替换为您希望的天数 - 不符合过滤器的房间将被安静地丢弃 — 工作流其余部分仅在符合条件的房间上运行
- 此 JavaScript 节点比较每个房间的
- ONLYOFFICE 协作空间:归档不活跃的房间
Room ID参数设置为`{{ $json.id }}`,并从每个过滤项中自动提取房间 ID- 此节点针对每个房间运行一次 — 如果有 12 个房间不活跃,它将触发 12 次
- 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 中通知您的团队。
逐步说明
- n8n 表单触发器
- 表单预先配置了四个字段:
Project Name(必填)、Your Name(必填)、Email Address(必填)和Project Description(可选) - 从节点复制表单 URL,并与客户分享 — 表单由 n8n 直接托管,不需要外部服务
- 提交后显示的确认消息已预填充 — 在触发器节点的
Options部分中进行编辑
- 表单预先配置了四个字段:
- ONLYOFFICE 协作空间:创建房间
- 设置您的 ONLYOFFICE 协作空间凭据(请参考 此文档)
Title参数设置为`{{ $json.project_name }} — {{ $json.client_name }}`,因此每个房间的名称会自动根据项目和客户来命名- 房间
Type设置为Collaboration Room— 如果其他房间类型更符合您的用例,请更改此设置
- ONLYOFFICE 协作空间:获取房间的共享链接
Room ID参数设置为`{{ $json.id }}`,并从上一步中创建的房间自动提取房间 ID
- Gmail:发送消息
- 设置 Gmail OAuth2 凭据
To参数应填入表单的电子邮件字段中的变量Subject应为包含Project Name和/或Your Name的文本模板,来自第 1 步- 前一步中房间链接应嵌入在电子邮件正文中,如
`{{ $("Get Room Shared Link").item.json.sharedLink }}`
- Slack:发送消息
- 设置 Slack OAuth2 凭据
- 用团队应在新项目通知中接收的 Slack 频道的 ID 替换频道 ID 占位符
- 通知应包括项目名称、客户名称、电子邮件地址和指向新协作空间房间的直接链接的变量
立即开始
您需要一个 n8n 实例(云或自托管),以及一个 ONLYOFFICE 协作空间账户。要安装协作空间节点,您可以在节点搜索中搜索“ONLYOFFICE DocSpace”。
支持四种认证方法:API 密钥(推荐)、基本身份验证、OAuth2 和个人访问令牌。一旦配置,凭据将跨实例中所有的协作空间节点共享。请参阅 ONLYOFFICE 协作空间凭据文档中的设置细节。
按照上述描述重新创建任意五个工作流模板,连接您的凭据,交换正确的文件夹和频道 ID,激活即可。
接下来构建什么
上述工作流涵盖了常见的用例。除此之外,相同的节点还支持如下功能:
- 到期提醒:按计划扫描合同文件夹,检查文件名或元数据中的日期,在到期前发送续约提醒
- 访问审计:每周报告所有房间、其成员和访问级别,发送到管理频道
- 事件驱动归档:使用触发节点在文件达到某一状态时自动移动或归档文件
- 用户生命周期管理:使用触发事件保持协作空间账户与您的目录服务同步
这些节点公开了您在协作空间界面上通过 API 操作可以执行的大部分操作。n8n 将它们连接到您的其余技术栈。
结语
如果上述任何工作流符合您目前手动执行的操作,设置过程非常简单:安装节点,连接凭据,导入模板并激活。之后,协作空间将处理常规工作,而无需您参与。
创建免费的 ONLYOFFICE 账户
在线查看并协作编辑文本文档、电子表格、幻灯片、表单和 PDF 文件。

