影刀RPA 新员工入职自动化:账号开通与设备分配
作者:林焱 | 适用人群:影刀RPA新手 | 难度:★★★☆☆
一、什么情况用这个
新员工入职,IT和HR要做一堆重复操作——开通邮箱、创建企业微信/钉钉账号、分配OA权限、登记资产、发送欢迎邮件。一个新人入职,要在四五个系统里手动操作。如果公司规模稍大,一个月入职十几个人,IT一整天就干这些事了。
用影刀RPA:HR在Excel中录入新员工信息 → 影刀定时读取 → 自动在多个系统中创建账号 → 分配设备 → 发送入职指引邮件。新人的账号在入职前一天就全部就绪。
实际场景:批量新员工账号开通、设备资产自动分配、入职欢迎邮件自动发送、入职Checklist自动跟踪。
这篇文章能解决的问题:
- 多系统账号批量开通
- 自动分配IT设备和工位
- 发送入职指引邮件
- 入职流程进度跟踪
二、怎么做
2.1 入职信息表
拼多多店群自动化上架方案
HR在Excel中维护待入职人员名单:
| 工号 | 姓名 | 英文名 | 部门 | 职位 | 入职日期 | 是否需要电脑 | 是否需要手机 |
|---|---|---|---|---|---|---|---|
| E101 | 张三 | Zhang San | 技术部 | 前端工程师 | 2024-07-15 | 是 | 否 |
| E102 | 李四 | Li Si | 市场部 | 市场专员 | 2024-07-15 | 是 | 是 |
2.2 影刀主流程
┌──────────────────────────────────────────────┐ │ ① 【读取Excel】 │ │ 读取待入职人员列表 │ │ ↓ │ │ ② 【遍历列表】 │ │ 逐人逐系统处理 │ │ ↓ │ │ ③-⑧ 各系统账号开通 │ │ 邮箱→企微/钉钉→OA→WiFi→VPN→代码仓库 │ │ ↓ │ │ ⑨ 【分配资产】 │ │ 登记电脑/显示器/手机 │ │ ↓ │ │ ⑩ 【发送入职邮件】 │ │ 发送欢迎邮件 + 入职指引 │ │ ↓ │ │ ⑪ 【更新工单状态】 │ │ 标记入职流程完成 │ └──────────────────────────────────────────────┘2.3 核心代码
步骤①②:读取入职信息
importjsonfromdatetimeimportdatetime onboarding_list=onboarding_data# 从影刀Excel读取today=datetime.now().date()# 筛选明天入职的人tomorrow=today+timedelta(days=1)tomorrow_onboarding=[empforempinonboarding_listifemp.get("入职日期")==tomorrow.strftime("%Y-%m-%d")]步骤③-⑧:多系统账号开通
每一步用影刀的网页操作或API:
# 邮箱开通(以企业微信邮箱为例) 【打开网页】→ 企业微信管理后台 【点击】→ 通讯录 → 添加成员 【填写】→ 姓名:{姓名},英文名:{英文名},部门:{部门} 【填写】→ 邮箱:{英文名}@company.com 【点击】→ 保存 # 企业微信自动开通邮箱后,账号信息记录到变量中 账号:{英文名}@company.com 初始密码:随机生成步骤⑨:设备分配
defassign_device(employee,asset_pool):"""为新员工分配设备"""asset_type="笔记本"# 从资产池中找到一台闲置的笔记本forassetinasset_pool:if(asset["类型"]==asset_typeandasset["状态"]=="闲置"andnotasset.get("已预定")):# 分配asset["状态"]="已分配"asset["使用人"]=employee["姓名"]asset["分配日期"]=datetime.now().strftime("%Y-%m-%d")return{"asset_no":asset["资产编号"],"asset_name":asset["资产名称"],"serial_no":asset["序列号"],}return{"error":"没有可用的笔记本"}# 如果没有可用设备 → 自动创建采购申请defcreate_purchase_request(employee,asset_type):"""创建设备采购申请"""purchase={"申请人":employee["姓名"],"部门":employee["部门"],"申请物品":asset_type,"数量":1,"用途":"新员工入职配置","紧急程度":"高","期望到位日期":employee["入职日期"],}# 在影刀中:打开OA系统 → 提交采购申请returnpurchase步骤⑩:发送入职邮件
defgenerate_welcome_email(employee,accounts):"""生成入职欢迎邮件"""template=f""" 你好{employee['姓名']}, 欢迎加入{公司名称}! 你的工作账号信息如下: | 系统 | 账号 | 初始密码 | |------|------|---------| | 企业邮箱 |{accounts.get('email')}|{accounts.get('email_pwd')}| | 企业微信 |{accounts.get('wecom')}| —(扫码登录)| | OA系统 |{accounts.get('oa')}|{accounts.get('oa_pwd')}| | 代码仓库 |{accounts.get('git')}|{accounts.get('git_pwd')}| 📅 入职日期:{employee['入职日期']}📍 报到地点:3楼前台 👤 直属领导:{employee.get('leader','—')}入职当天请携带: - 身份证原件 - 毕业证/学位证复印件 - 银行卡(用于工资发放) 如有问题请联系 HR 王姐(分机:8001) 祝工作愉快! """returntemplate# 在影刀中:【发送邮件】 收件人:{个人邮箱}(入职前用的是个人邮箱) 抄送:{直属领导邮箱}、HR邮箱 主题:入职通知-{姓名}正文:{welcome_email}2.4 入职Checklist跟踪
# 入职流程清单ONBOARDING_CHECKLIST=[{"step":"邮箱开通","system":"企业邮箱","deadline_offset":-1},{"step":"企微开通","system":"企业微信","deadline_offset":-1},{"step":"OA权限","system":"OA系统","deadline_offset":-1},{"step":"VPN开通","system":"VPN","deadline_offset":-1},{"step":"设备分配","system":"IT资产","deadline_offset":-1},{"step":"入职邮件","system":"邮件","deadline_offset":-1},{"step":"HR系统录入","system":"HR系统","deadline_offset":0},{"step":"指纹录入","system":"门禁","deadline_offset":0},{"step":"工资卡登记","system":"财务","deadline_offset":0},]# 每天检查哪些入职人员的checklist还没完成三、有什么坑
坑1:账号命名冲突
新员工的英文名跟老员工重复了——邮箱地址冲突,系统报错。
defgenerate_unique_email(name_en,existing_emails):"""生成唯一邮箱地址"""base=f"{name_en}@company.com"ifbasenotinexisting_emails:returnbase# 加数字后缀foriinrange(2,100):[video(video-ZjxoJR0H-1784315475053)(type-csdn)(url-https://live.csdn.net/v/embed/524993)(image-https://v-blog.csdnimg.cn/asset/a547123d88ad712dccba346c9217e237/cover/Cover0.jpg)(title-TEMU店群如何管理运营?)]alt=f"{name_en}{i}@company.com"ifaltnotinexisting_emails:returnaltreturnNone# 实在找不到,需要人工处理坑2:部分系统不支持API
有些老旧系统(比如门禁系统、考勤机后台)不支持API,甚至也不支持网页操作(是C/S架构的桌面软件)。
这种情况只能半自动化:影刀生成待办清单,人工操作这些系统后在清单上勾选。
坑3:入职日期可能临时调整
候选人确定了入职日期,影刀也把账号开好了。结果候选人推迟入职了——账号开着浪费,还可能存在安全风险。
建议:入职前一天再开通账号,而不是入职前一周就开好。
坑4:权限分配复杂
不同部门、不同职级的OA权限不同——技术主管能看的系统跟普通员工不一样。如果权限矩阵复杂(几十种角色),手动配置规则很痛苦。
建议:先只做「角色复制」——找到一个同部门同职级的在职员工,把他的权限模板复制给新人。简化权限配置逻辑。
坑5:设备发完没有库存预警
连续入职一批人后,库存的笔记本用完了——影刀不知道,还在继续分配(返回None)。
ifassetisNone:# 设备库存不足,自动告警alert=f"⚠️ 笔记本库存不足,无法为{employee['姓名']}分配设备"send_alert_to_it(alert)create_purchase_request(employee,"笔记本")总结:新员工入职自动化的核心是「多系统并发开户」。HR录入信息,影刀逐个系统操作。账号命名冲突、系统不支持API、库存不足是三大常见坑。入职前一天开户最安全。