ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

企业微信接口开发实战:如何搭建自动化提醒与任务通知系统

企业微信接口开发实战:如何搭建自动化提醒与任务通知系统 该跟进的客户忘了跟该回款的客户没催值班的人忘了今天轮他——这些都是因为没有人主动提醒。用企微 API 搭一套自动化提醒系统按规则到点推送提醒人不用记系统替你记。这篇讲提醒系统的设计。一、提醒系统的三种类型先区分提醒的类型不同类型的触发和内容不同时间型提醒。到点就提醒。每天 9 点提醒今日待跟进客户、每周一提醒发周报、每月 1 号提醒月度复盘。靠定时任务驱动。事件型提醒。业务事件发生时提醒。客户加了好友提醒销售、工单超时提醒处理人、订单回款提醒财务。靠事件驱动。条件型提醒。满足条件时提醒。客户 7 天没互动提醒唤醒、线索分配后 30 分钟没建联提醒销售、库存低于安全线提醒采购。靠数据扫描驱动。三类提醒的频率和紧急度不同时间型是常规节奏、事件型要即时、条件型要主动发现。二、提醒规则的数据结构提醒要规则化不要写死CREATE TABLE reminder_rule ( id INT PRIMARY KEY, name VARCHAR(100), type VARCHAR(20), -- time/event/condition trigger JSON, -- 触发条件 target JSON, -- 提醒谁 content_tpl VARCHAR(500), -- 提醒内容模板 channel VARCHAR(20), -- personal/group priority TINYINT, -- 优先级 enabled TINYINT );时间型的trigger是 cron 表达式事件型是事件名过滤条件条件型是查询条件阈值。三、时间型提醒的实现时间型靠调度器驱动from apscheduler.schedulers.background import BackgroundScheduler def register_time_reminders(): rules db.query(SELECT * FROM reminder_rule WHERE typetime AND enabled1) for rule in rules: scheduler.add_job( execute_reminder, triggercron, **parse_cron(rule[trigger]), args[rule], idfreminder_{rule[id]}, ) def execute_reminder(rule): # 查提醒对象 targets resolve_targets(rule[target]) # 渲染内容 content render_template(rule[content_tpl], context) # 发送 for target in targets: send_text(appid, target.conversation_id, content)注意调度器重启时检查有没有错过的时间点错过的补发。比如 9 点的提醒服务 9:01 才启动要补发一次。四、事件型提醒的实现事件型靠回调或业务事件驱动EVENT_REMINDER_MAP { friend.added: new_lead_reminder, ticket.timeout: ticket_escalation, payment.received: payment_notify, } def on_event(event, body): rule_id EVENT_REMINDER_MAP.get(event) if not rule_id: return rule db.get_rule(rule_id) # 检查过滤条件 if not match_filter(rule[trigger][filter], body): return execute_reminder(rule, contextbody)事件型提醒要快——客户加了好友1 分钟内销售要收到提醒。回调入口收到事件后立刻触发不要排队等。五、条件型提醒的实现条件型要主动扫描数据发现满足条件的就提醒def scan_condition_reminders(): rules db.query(SELECT * FROM reminder_rule WHERE typecondition AND enabled1) for rule in rules: # 按规则查满足条件的数据 items db.query(rule[trigger][query]) for item in items: # 检查是否已提醒过防重复 if not already_reminded(rule, item): execute_reminder(rule, contextitem) mark_reminded(rule, item)扫描频率根据业务调客户沉默这种可以每天扫一次库存预警这种要每小时扫。扫得太频繁浪费资源太慢错过时机。六、提醒内容的个性化提醒别只说该跟进了要带具体信息时间型。今日待跟进客户 5 位张总询价3天、李总成交7天回访...——列出具体客户和原因。事件型.新线索王总手机 138xxxx来源官网留资产品咨询专业版。点击查看详情——带客户资料和来源。条件型.客户张总已 7 天无互动上次话题询价。建议发送产品案例。点击发送——带建议动作。def render_followup_reminder(sales_id): customers db.get_today_followup(sales_id) if not customers: return None # 没有需要跟进的不发提醒 lines [f今日待跟进 {len(customers)} 位] for c in customers: lines.append(f• {c.name}{c.reason}) return \n.join(lines)提醒内容最好带可点击的链接卡片销售点进去直接看客户详情不用自己查。七、提醒的频率控制提醒太多会变成噪音反而被忽视。频率控制几条原则合并同类。今天有 10 个客户要跟进别发 10 条提醒合并成 1 条列出 10 个客户。时段控制。只在工作时间发提醒。凌晨发客户加了好友会把人吵醒非紧急的等到早上 8 点再发。优先级排序。紧急的投诉、故障立刻发高优先级的新线索工作时间发低优先级的周报提醒固定时间发。去重。同一个事件别多次提醒。客户加了好友不要今天提醒明天还提醒。八、提醒的反馈和闭环提醒发出后要知道有没有用执行率。提醒跟进后销售有没有跟进没跟进的再提醒一次或升级给主管。响应时长。提醒到实际响应的时间。长说明提醒没被重视可能内容不够具体或频率太高。提醒调整。某个提醒连续一周没执行可能规则有问题——时间不对、对象不对、内容不对。分析后调整。闭环的关键是提醒→执行→记录→分析→优化。不只是提醒发出去就完事。消息接口的能力在开发文档群发和单人推送都可以走消息模块。想验证提醒系统的同学在Eyun API平台开测试期先做一条时间型提醒每天 9 点发今日待跟进再扩展事件型和条件型。写在最后自动化提醒系统的核心是规则化、个性化、频率可控、有闭环。规则化让运营能改不用发版个性化让提醒有用不是噪音频率可控防止提醒疲劳闭环让提醒真的被执行而不是被忽视。这四样做到位提醒系统就从打扰变成助手。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进