飞书里有 两个范围开关,只改一个会踩坑:
①「通讯录权限范围(数据可见范围)」决定能不能查到这个人(手机号 → open_id);
②「应用可用范围(生效范围)」决定机器人能不能给他发消息。
只改①不改② → 查得到人但发不出去,报 230013 Bot has NO availability to this user。
一、建应用(管理员用公司账号登录 open.feishu.cn)
- 开发者后台 → 创建应用 → 企业自建应用(个人飞书号建的不属于公司,发不到员工)。
- 记下 App ID / App Secret(第六步要填到本页)。
二、加权限(权限管理)
im:message —— 给员工发消息(必需)
contact:user.id:readonly —— 手机号/邮箱换 open_id(必需;员工用手机号登录就靠它)
- 可选
contact:contact.base:readonly —— 只有想让 OA 同步员工名单/部门时才要
三、两个范围都设成「全部成员」
- 通讯录权限范围(数据可见范围):权限管理里 → 全部成员(决定"查得到人")
- 应用可用范围(生效范围):版本管理与发布里 → 全部成员(决定"bot 能发给谁",漏了报 230013)
四、创建版本 → 发布 → 管理员审批
- 版本管理与发布 → 创建版本 → 提交发布。
- 飞书管理后台 → 应用管理由管理员审批通过。
- 改了权限/范围必须重新发版才生效:只勾选、不发版,接口还是老样子。
五、员工必须在同一个飞书企业里
- 「手机号能登飞书」≠「在你们企业里」:可能用个人飞书或别的公司组织。管理后台 → 成员与部门按号码搜,搜不到就邀请进来。
- 飞书里登记的手机号,要和 manage 组织架构里的手机号一致(本系统按手机号找人)。
六、回本页配置 + 自检
- 填 App ID / App Secret → 保存。
- 勾上 「开启推送」(不勾只有自检能发,定时播报不发)。
- 点 「自检并给我发一条」:①配置已保存 ②换 tenant_access_token ③手机号换 open_id ④给你发一条私聊,四条 PASS 即通。
- 看 「飞书实际可达成员 N/M」:这才是"真正能收到"的人数,推不到的会列出来。
七、可选:群里也播报
- 飞书群 → 设置 → 群机器人 → 添加「自定义机器人」→ 把 webhook 填到本页(只发群,不影响个人私聊)。
八、自动推送节奏
| 时间 | 内容 | 发给谁 |
| 每天 09:00 | 「你的任务」:未完成任务(按项目分组、截止日、逾期高亮) | 任务负责人(私聊) |
| 每天 17:05 | 逾期提醒:逾期任务的清单 | 逾期任务负责人(私聊)+ 项目负责人(汇总);配了群机器人再发一份到群 |
| 派活即时 | 新任务派发 | 负责人(私聊) |
九、常见错误码
| 错误码 | 含义 / 怎么修 |
10003 / 10014 | App ID / App Secret 不对,或不是这个企业的应用 |
99991672 | 权限没开:勾 im:message 与 contact:user.id:readonly 后重新发版 |
99991663 | 应用没发布 / 没通过审批,或可用范围不含该员工 |
230002 / 230013 | 接收人不在应用可用范围内 → 版本管理与发布改成全部成员并重新发版 |
| 手机号换不到 open_id | 通讯录数据范围没放开 / 人不在本企业 / 飞书里手机号与这里不一致 |
排错顺序:能查到人吗(自检第 3 步)→ 能发出去吗(第 4 步)→ 实际可达几个(「飞书实际可达成员」)→ 09:00 就按这个名单发。