目前正在构建一个 Zapier 应用程序,但在尝试从动态下拉列表中传递信息时遇到阻止程序。
理想情况下,我希望能够在有人选择项目时设置一个数据对象bundle.inputData
。Thedocs 只提供单一价值解决方案,但想知道是否有人知道解决方案?
问题示例:
//User Data
[
{id:1, name: Tommy, email: tom@gmail.com},
{id:2, name: Bill, email: bill@gmail.com},
{id:3, name: Greg, email: greg@gmail.com}
]
//Input Field as part of the operation object
inputFields: [
{
key: 'users',
required: true,
label: 'Select user to notify',
dynamic: 'users.email.name',
},
]
我希望能够在bundle.inputData
中同时发送name
和email
,而不是在用户选择项目时传回email
。
任何想法将不胜感激!
解决方案: 在触发器中将名称/电子邮件合并为字符串,并在发出最终 HTTP 请求时分开。
例:
const combineUserEmail = (name, email) => `${name}/${email}`;
const triggerUsers = async(z, bundle) =>{
const response = await z.request({
url: https://blahblah.com/users
});
const users = z.JSON parse(response.content);
const results = users.map((user, i) =>({id: i, user: combineUserEmail(item.name, item.email)})
}