You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求助:如何通过Zapier将邮件附件上传至BambooHR员工文件夹

Hey there! Let's walk through how to set this up step by step since you're new to Zapier and BambooHR.

实现Zapier触发邮件后上传附件到BambooHR员工文件夹的方案

第一步:配置邮件触发条件

  • 先选你的邮件服务商(比如Gmail、Outlook)作为Zap的触发应用,触发事件优先选**"New Email with Attachment"**(确保能直接捕获到附件数据)
  • 完成账号授权后,做一次测试触发,确认Zap能正确抓取到邮件的附件信息(包括临时下载URL、文件名、MIME类型)

第二步:搞定员工编号的配置

这是核心前置步骤,推荐几种适配不同场景的方式:

  • 从邮件内容提取:如果邮件主题/正文里包含员工编号,用Zapier的「Formatter」工具(选「Text」>「Extract Pattern」)或者简单的Code动作提取编号,存为变量供后续使用
  • 通过员工邮箱匹配:添加一个BambooHR的「Find Employee」动作,用邮件里的员工邮箱(比如发件人邮箱、正文里的联系邮箱)去匹配BambooHR的员工档案,自动获取对应的员工编号
  • 临时固定(仅测试用):如果只是给特定单个员工传文件,可直接在后续代码里硬编码员工编号,但不推荐长期使用,灵活性太差

第三步:编写Zapier Code动作完成附件上传

核心API参数说明

BambooHR的文件上传接口需要几个关键信息:

  1. 你的公司BambooHR域名(比如后台URL是https://yourcompany.bamboohr.com,那域名就是yourcompany)
  2. 第二步拿到的员工编号
  3. BambooHR API密钥(在后台「API Keys」页面生成)
  4. Zapier提供的邮件附件临时URL、文件名和MIME类型

示例Python代码(Zapier原生支持)

import requests

# 替换成你的BambooHR配置信息
BAMBOO_DOMAIN = "yourcompany"
API_KEY = "your_generated_api_key"

# 从Zapier输入变量获取数据(要和后续Input Data配置对应)
employee_id = input_data["employee_id"]
attachment_url = input_data["attachment_url"]
attachment_name = input_data["attachment_name"]
content_type = input_data["content_type"]

# 下载附件内容
attach_response = requests.get(attachment_url)
attach_content = attach_response.content

# 构造上传接口URL
upload_url = f"https://api.bamboohr.com/api/gateway.php/{BAMBOO_DOMAIN}/v1/employees/{employee_id}/files"

# BambooHR API认证规则:用户名填API密钥,密码填任意值(这里用"x")
auth = (API_KEY, "x")

# 构造上传表单数据
files = {"file": (attachment_name, attach_content, content_type)}
data = {"category": "documents"}  # 可替换为BambooHR支持的文件夹分类,比如"benefits"

# 发送上传请求
response = requests.post(upload_url, auth=auth, files=files, data=data)

# 返回结果给Zapier用于调试
return {"status": response.status_code, "message": response.text}

Code动作配置细节

  • 在Zapier的Code动作里选择「Python」作为运行环境
  • 在「Input Data」模块添加4个字段:
    • employee_id:关联第二步获取到的员工编号变量
    • attachment_url:关联邮件触发动作里的附件临时URL
    • attachment_name:关联邮件触发动作里的附件文件名
    • content_type:关联邮件触发动作里的附件MIME类型
  • 替换代码里的BAMBOO_DOMAIN和API_KEY为你自己的真实信息

第四步:测试与调试

  • 触发一次测试邮件,检查员工编号是否正确传递
  • 运行Code动作后,查看返回的状态码:201表示上传成功;4xx/5xx错误可根据返回的message字段排查(比如API密钥无效、员工编号不存在、权限不足等)
  • 登录BambooHR后台,找到对应员工的文件夹,确认附件已成功上传

额外小提示

  • 确保你的BambooHR API密钥拥有「员工文件上传」的权限
  • 如果邮件有多个附件,需添加Zapier的「Loop」动作遍历所有附件,逐个执行上传代码
  • 可添加「Filter」动作,只处理特定主题/发件人的邮件,避免无效触发

内容的提问来源于stack exchange,提问作者Brian DeGregory

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:09:03