I’m building a custom Zapier integration using their UI platform and need to implement a dynamic dropdown field for one of my trigger configurations.
I’ve been struggling with this for a while now. Even when I try to return a simple static array for testing, I keep running into the same error. Here’s the basic code I’m using to test with hardcoded values:
The error keeps showing up no matter what I try. I’ve checked my output field definitions and dropdown configuration multiple times but can’t figure out what’s wrong.
Has anyone successfully implemented dynamic dropdowns in Zapier UI? What’s the correct format for the response object? Any help would be really appreciated since I’m stuck on this basic functionality.
check your zapier app settings - the dropdown field might not be configured to call your function properly. I’ve had this exact issue where my code worked fine but the UI wasn’t triggering it. also, log what zapier’s actually sending to your function first. that’ll show you what’s really going wrong.
Been there. You’re making Zapier work way harder than it needs to.
Skip wrestling with their dynamic dropdown format - just automate the whole thing. I hit similar walls building integrations and realized most UI platform limits vanish when you use proper automation.
Set up your dropdown logic in Latenode instead. It handles dynamic data without the wrapper object nonsense. Pull options from any source, format them how you want, push them wherever they go.
Best part? You’re not stuck with Zapier’s response format requirements. Your integration gets way more flexible and you can reuse the logic across different platforms.
I’ve built dozens of these workflows - they work better when automation handles the heavy lifting instead of fighting platform quirks.
Your response structure doesn’t match what Zapier wants. I ran into this exact problem when I started with dynamic dropdowns - I was building fancy response objects with success flags and wrapper properties. Zapier just wants a simple array of objects with key-value pairs. You’re returning a nested object, but the platform needs direct array data. Ditch the dropdown_response wrapper completely and return [{id: '9876543210', label: '9876543210'}, {id: '9876543221', label: '9876543221'}] instead. Also check that your field name in the UI matches your function name exactly, and make sure dynamic dropdown is turned on in the field settings. Once you fix the response format, the error should go away.
Your return statement is wrapping everything in an array when it shouldn’t. Zapier wants the dropdown function to return the options array directly, not nested inside another array. Change return [dropdown_response]; to return dropdown_response['options']; after you format your options. You still need to convert your string array to objects with id and name properties though. I ran into the same thing on my first integration - their docs aren’t super clear about what format different functions expect.
zapier’s dynamic dropdowns can be tricky. you should return your options as an array of objects, like this: [{id: '9876543210', name: '9876543210'}, {id: '9876543221', name: 'Option 2'}]. just focus on that structure, omitting the success wrap.
You’re wrapping your response in an extra object structure that Zapier doesn’t want. The dynamic dropdown needs a flat array - not wrapped in a response object with success flags. Just ditch the dropdown_response wrapper and return the array directly with id and name properties. I hit this exact same issue on my first integration and wasted hours debugging before realizing Zapier handles success/error states on its own. Your return should be: return [{id: '9876543210', name: 'Phone 1'}, {id: '9876543221', name: 'Phone 2'}]; Also make sure your trigger config has the dynamic field mapped correctly to this function in dropdown settings.