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

如何借助Zapier或代码批量实现Picklists/Enums跨系统映射同步

批量双向枚举字段映射解决方案(基于Zapier/Airtable/Make)

方案1:Airtable统一映射表(最优解,适配双向同步)

既然Airtable是你的中转节点,直接用它做映射中心最省心,不用在Zapier/Make里堆一堆重复步骤:

  • 先在Airtable建个专门的映射表,命名成Enum_Mappings就行,字段这么设:
    • System:单选字段,选项就是「贷款发起系统」「Monday.com」
    • Field_Name:单行文本,记录字段名(比如propertyType)
    • Raw_Value:单行文本,存储对应系统的原始值(比如贷款系统的SINGLE_FAMILY_DETACHED,或者Monday的Single Family Detached)
    • Standard_Value:单行文本,统一用一个标准格式(比如直接用Monday的显示名当标准)
  • 双向同步的转换逻辑:
    • 贷款系统→Airtable→Monday:
      1. 贷款数据推到Airtable时,先在Enum_Mappings里按「Field_Name=propertyType + System=贷款发起系统」查找对应的Raw_Value,取出Standard_Value存到业务表
      2. Airtable同步到Monday时,直接把Standard_Value写入Monday的下拉字段即可(因为标准值和Monday的选项完全匹配)
    • Monday→Airtable→贷款系统:
      1. Monday数据进入Airtable时,按「Field_Name=propertyType + System=Monday.com」查找对应Raw_Value,存储Standard_Value
      2. 同步到贷款系统时,再在Enum_Mappings里按「Field_Name=propertyType + Standard_Value=对应值」查找「System=贷款发起系统」的Raw_Value,取出后写入贷款系统
  • 工具操作细节:
    • Zapier里用「Airtable - 查找记录」步骤,一次设置好筛选条件即可,不用每个字段单独加步骤,后续新增字段只需要在映射表里补充条目
    • Make里用「Airtable - Search Records」模块,同样设置筛选规则,还能把这个映射逻辑做成可复用模块,所有字段转换都调用它

方案2:Zapier代码步骤(轻量转换,适合不想额外建表的情况)

要是不想多建Airtable表,直接用Zapier的「Code by Zapier」写个简单的JS对象做映射,一次处理多个字段:

  • 示例代码(直接抄进去修改即可):
// 所有字段的映射关系都放这里,新增字段直接添加
const mappings = {
  propertyType: {
    "SINGLE_FAMILY_DETACHED": "Single Family Detached",
    "SINGLE_FAMILY_ATTACHED": "Single Family Attached",
    "TWO_UNIT": "Two Unit",
    "THREE_UNIT": "Three Unit",
    "FOUR_UNIT": "Four Unit",
    "MANUFACTURED_SINGLE_WIDE": "Manufactured Single Wide",
    "MANUFACTURED_DOUBLE_WIDE": "Manufactured Double Wide"
  }
};

// 转换函数,传入字段名、原始值、转换方向
function convert(field, value, direction) {
  if (!mappings[field]) return value; // 无映射则返回原值
  if (direction === "loan-to-monday") {
    return mappings[field][value] || value;
  } else if (direction === "monday-to-loan") {
    // 反向查找键值
    const reverseMap = Object.fromEntries(Object.entries(mappings[field]).map(([k, v]) => [v, k]));
    return reverseMap[value] || value;
  }
  return value;
}

// 输出转换后的值,根据你的Zap输入调整inputData的键名
output = {
  convertedPropType: convert("propertyType", inputData.loanPropType, "loan-to-monday")
};
  • 用法:在Zap里添加一个Code步骤,把要转换的值(比如贷款系统的propertyType)传给inputData.loanPropType,指定转换方向,输出的结果直接用在后续步骤里。新增字段只需要在mappings里补充键值对,不用加新步骤。

方案3:Make(Integromat)全局变量+数组搜索

Make的全局变量和数组搜索能实现批量映射,不用重复写逻辑:

  • 先创建一个全局变量集合,命名为Enum_Mappings,每个字段对应一个数组,比如propertyType数组存储这些对象:
    [{"loanValue": "SINGLE_FAMILY_DETACHED", "mondayValue": "Single Family Detached"}, {"loanValue": "SINGLE_FAMILY_ATTACHED", "mondayValue": "Single Family Attached"}, ...]
  • 转换时用「Array Search」模块:
    • 贷款→Monday:搜索propertyType数组,匹配loanValue等于输入值,取出mondayValue
    • Monday→贷款:搜索propertyType数组,匹配mondayValue等于输入值,取出loanValue
  • 好处:全局变量修改一次,所有用到的场景都生效,不用挨个修改步骤

额外提醒

  • 所有方案都支持批量扩展:新增字段只需要在映射中心(表/代码/变量)补充条目,不用添加新同步步骤
  • 优先选择Airtable映射表,可视化维护方便,适合没太多编程经验的人,而且和中转节点结合紧密,双向逻辑更清晰
  • 要是以后字段值新增,只需要在映射中心更新,同步流程自动适配

内容的提问来源于stack exchange,提问作者Ricky Merchant

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:41:04