无法在 Zapier CLI 触发器中设置动态下拉值

Unable to set dynamic dropdown value in Zapier CLI trigger

我在 Zapier CLI 中安装了我的应用程序。我创建了一个触发器,用于在创建 zap 期间为特定操作步骤设置下拉值。 数据是这样的:

{ "data": {
    "account_status": {
                "field_name": "account_status",
                "field_label": "Status",
                "field_type": "list",
                "field_length": "50",
                "field_items": "Active|Inactive|444|Closed",
                "required": "0",
                "related_module": "",
                "related_field_name": "",
                "join_table": "",
                "join_lhs_field_name": "",
                "join_rhs_field_name": "",
                "related_data_field": ""
            },
      }
}

这是我的代码: 现在我正在尝试使用来自上述结果的 field_items 值设置动态下拉列表的数据,如下所示:

return responsePromise
    .then(response => JSON.parse(response.content ) )
    .then(data => {
      const account_status_list = data.data.account_status.field_items;        
      const account_status_arr = account_status_list.split("|"); 
      return account_status_arr.map(function(e){
          e.id = e
          return e
      }) 
  })

我的动态下拉触发器输入字段是:

{
  key: 'account_status', 
  label:'Account Status', 
  required: false, 
  dynamic: 'account_status.account_dropdown.id'
}

单击下拉菜单时出现此错误

任何人都可以建议我哪里出错了或者我可以做些什么来解决这个问题?

来自 Zapier 平台团队的 David。

问题是 Zapier 需要一个对象数组,而您返回的是一个字符串数组。似乎您正在尝试在代码片段中创建一个 id 字段,但调用 "Active".id = "Active" 不会创建一个对象。

相反,您应该将地图函数更改为如下所示:

return account_status_arr.map(function(e){
    return {id: e}
})

您可能需要调整的另一件事是动态下拉菜单的设置方式。它是一个以句点分隔的字符串,格式为 trigger_key.id_key.label_keyidlabel 可以是同一个键;这实际上取决于您需要向 API 发送哪些数据(标签只是为了展示,id 是实际发送的内容)。在动态字段中,您将有一个 dyanmic 属性,即 account_status.id.id

有文档 here