跳到主要内容
SVDY Logo
开发者指南
已上线

在 Slack 收到团队的关键提醒

迟到打卡、请假申请、流程审批直接出现在您的 Slack 频道。团队再也不用每天早上检查三个应用。一个频道,统一的信息源。

您的团队会感谢您

HR 不再每天早晨翻三个 App。迟到打卡当下就推送,不再等到第二天的邮件汇总。请假申请直接发到团队频道,谁还没处理大家都看得到。流程审批自动路由到对应频道。配置一次,长期受益。

无需 IT 工单

频道管理员点 Connect、选频道,整个流程结束。不需要租户管理员审批,也不需要 30 天的采购流程。

整洁的消息卡片

每条提醒都是格式化的 Slack 消息,并附带跳回原始申请的深链——团队成员一键就能处理。

不想要的提醒可关闭

不关心班次分配?关掉它即可,不会影响迟到打卡的提醒。Pro 套餐支持按提醒类型独立开关。

凭证严格加密

Slack token 在静态存储时加密。安装完成后,连 SVDY 的支持人员都无法回读。

30 秒完成安装

1

在 QuTime / PureOA 租户中打开 /admin/integrations。

2

点击 Slack 卡片 → Connect。

3

Slack 会打开授权页面,选择您希望接收通知的频道。

4

Slack 跳回 svdy 后,您会看到绿色「Connected」标签和按事件分项的开关列表。

5

(可选)点击 Send test,用一条真实消息验证集成是否正常。

所需套餐:Starter 及以上。免费套餐组织在点击 Connect 时会收到 402 与 license_required 错误码。


可开启的提醒类型

共 7 种提醒——迟到打卡、请假申请、流程审批等。每条 Slack 消息都附带一行摘要与「Open request」按钮,管理者一键即可处理。7 种均可独立开关,不会让频道变成通知洪水。

迟到打卡

来源: attendance

clock_in_late
默认开启

Pro:可静音

🌴

请假申请已提交

来源: leaves

leave_request_submitted
默认开启

Pro:可静音

请假已批准

来源: leaves

leave_request_approved
默认开启

Pro:可静音

请假被驳回

来源: leaves

leave_request_rejected
默认开启

Pro:可静音

📋

流程申请已提交

来源: process

process_request_submitted
默认开启

Pro:可静音

🔄

流程状态变更

来源: process

process_request_status_changed
默认开启

Pro:可静音

📅

班次分配

来源: attendance

shift_assigned
默认关闭

Pro:可静音

Professional+

按事件静音

Professional 与 Enterprise 套餐下,连接对话框会显示 7 种事件的独立开关。即便是排班变动频繁导致 shift_assigned 噪音很大,也可以单独关掉而不切断整个集成。低阶套餐默认开启全部 7 种事件——UI 不会预告未启用的功能,避免误导。

PATCH /v1/integrations/connections/slack/event-subscriptions

{
  "event_subscriptions": {
    "clock_in_late": false,
    "shift_assigned": true
  }
}

部分 PATCH——请求体中未传的键保留原值。未知的事件键会被静默丢弃(防御客户端拼写错误)。


Block Kit 消息格式

每条事件渲染为四个 Block Kit 块:emoji + 标题的 header、mrkdwn 的 section 主体、可选的 actions 按钮(当存在深链时)、以及小号灰色的 context 页脚(包含事件键与时间戳)。

{
  "text": "⏰ Alice late by 12 min",
  "blocks": [
    { "type": "header",
      "text": { "type": "plain_text", "text": "⏰ Alice late by 12 min", "emoji": true } },
    { "type": "section",
      "text": { "type": "mrkdwn", "text": "Clocked in at 09:12 · scheduled 09:00 · Front Office" } },
    { "type": "actions",
      "elements": [
        { "type": "button", "style": "primary",
          "text": { "type": "plain_text", "text": "Open in svdy" },
          "url": "https://qutime.com/admin/attendance/entries/te_..." }
      ] },
    { "type": "context",
      "elements": [
        { "type": "mrkdwn",
          "text": "`clock_in_late` · 2026-05-24 14:00 UTC" }
      ] }
  ]
}

排查指南

安装失败时,svdy 会跳转到 /admin/integrations?integration_error=<code>。常见错误码:

license_required

组织套餐低于 Starter(Slack)或 Professional(Teams / WeCom)。

在 /admin/billing 升级或联系销售。

state_expired_or_invalid

OAuth state 令牌已过期(TTL 5 分钟),或被篡改。

在 /admin/integrations 重新点击 Connect Slack。

provider_mismatch

OAuth state 是为另一个供应商生成的,与 URL 中声明的不一致。

几乎可以判定为攻击——拒绝并从头重新安装。

code_exchange_failed

Slack 拒绝了授权码。

断开后重新连接。若仍未恢复,请联系 support@svdy.com。

provider_error:access_denied

管理员在 Slack 的授权弹窗中点了「取消」。

重新点击 Connect Slack 并完成授权。


其他即时通讯平台

Slack 之所以走 OAuth,是因为其 API 提供 incoming-webhook 这一 scope,可以返回与频道绑定的 URL。Microsoft 与腾讯都没有等价能力——两者都采用「粘贴 URL」的模式:在平台内创建 connector / 机器人,再把它的 URL 粘贴到 svdy。

Microsoft Teams

Professional+

请使用带 HTTP 触发器的 Power Automate Workflow。Microsoft 已在 2025-12-31 下线 Office 365 Connectors。负载格式为 Adaptive Card v1.5。

支持的 webhook URL 主机: *.webhook.office.com, *.logic.azure.com, *.azurewebsites.net.

WeCom(企业微信)

Professional+

在 WeCom 中创建群机器人,并复制其 webhook URL。负载为 Markdown(上限 4096 字节)。

支持的主机: qyapi.weixin.qq.com. HTTP 状态非 2xx,或 errcode 非零,都视为投递失败。

准备好接入 Slack 了吗?

在租户中打开集成页面并点击 Connect——30 秒即可完成接入。如果想先比较套餐,价格信息也只差一个跳转。