I am developing a Zapier app (via CLI), where I’m adding a new `create` action with a hidden `trigger` for populating results via a `dynamic` attribute for `inputFields`.
For one of my `inputFields` with `key: “campaign_id”`, I use the `dynamic` attribute to allow users to pick from a designated dropdown list for values that I can trust (the values are populated from an API call for specific “campaign types” that are allowed for this action); this works great as I can always trust that the value for `campaign_id` will be a valid option.
However, users can also input their own value for `campaign_id` (whether copy-and-pasting, or pulling from a previous Zap step), this is fine as it provides the user with more flexibility. BUT I can no longer trust the `campaign_id` value when this is used; to address this, my creates perform function has to do a pre-flight `GET /api/campaigns/:campaign_id` request to confirm that the `response.campaign_type` is valid before I can perform the actual functionality needed in my creates perform.
If possible, I would like to **ONLY** do the confirmation pre-flight API request **IF** (and only if) the `campaign_id` value was not selected from my `dynamic` dropdown; I already know that value is valid if it comes from my `dynamic` dropdown, I only want to make the API request if the value originated from the user in some other way.
Is it possible to do any of the following?
- get some sort of “origination source” for an `inputField` value (`campaign_id` in my case)?
- or, is there some other workaround that can be used for me to identify that the `campaign_id` was set from my `dynamic` list?
Best answer by connorzView original