Setting multiple data values in bundle.inputData for Zapier CLI dynamic dropdowns

I’m working on a Zapier integration and having trouble with dynamic dropdowns. The official documentation shows how to return just one value when someone picks an option, but I need to pass multiple pieces of data to bundle.inputData at once.

Here’s what I’m dealing with:

// Employee Information
[
  {empId: 101, fullName: "Sarah Johnson", contact: "[email protected]"},
  {empId: 102, fullName: "Mike Chen", contact: "[email protected]"},
  {empId: 103, fullName: "Lisa Brown", contact: "[email protected]"}
]

// Field configuration in operation
inputFields: [
  {
    key: 'employees',
    required: true,
    label: 'Choose employee for notification',
    dynamic: 'employees.contact.fullName',
  },
]

Right now when someone selects from the dropdown, only the contact gets passed through. I want both the fullName and contact to be available in bundle.inputData. Has anyone figured out how to make this work? I’ve been stuck on this for a while and could really use some help.

Here’s what worked for me: use computed fields with your dynamic dropdown. Keep your dropdown setup the same, but add hidden computed fields that fire when someone picks a different option. In your inputFields array, throw in extra fields with computed: true that grab the selected employee value. These computed fields can hit APIs or pull from cached data to fill in whatever else you need. User picks an employee? The computed fields automatically grab the matching empId and fullName using the contact email. Way cleaner than messing with strings. You’ll need to write a lookup function for the computed field logic, but it’s much better for data integrity than trying to concatenate everything.

Had this exact issue a few months ago building our CRM integration. Here’s the trick: Zapier’s dynamic dropdowns can pass the entire object, not just the mapped value. You need to change your dropdown response structure to include all the data you want later. Don’t just return the standard format - make your dynamic function return the full object as the value. Then in your main operation, you can access bundle.inputData.employees as a complete object with empId, fullName, and contact properties. The dropdown still displays based on your label mapping, but the underlying value is the full data structure. This saved me hours of fighting the limitation. Pro tip: the value field can be stringified JSON if needed, then just parse it in your main operation logic.

yeah, same issue here. I fixed it by having the dynamic function return a concatenated string like empId|fullName|contact, then split it back up in the main operation. it’s hacky but works when u need multiple fields from the selection.