zapier-platform-core v18 introduced a new flag namedDocumentation Index
Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
Use this file to discover all available pages before exploring further.
cleanInputData. This flag allows you to tell Zapier whether it should automatically remove empty values, including null, [] (empty arrays), and {} (empty objects), from bundle.inputData before passing it to your perform* functions.
By default, the cleanInputData flag defaults to true, which matches the behavior of all versions prior to v18. Starting with v18, we encourage you to explicitly set this flag to false, either globally in App.flags or per trigger/action in the operation object. For example:
When cleanInputData is true
When cleanInputData is true, Zapier removes any empty values recursively from bundle.inputData before passing it to your perform* (including perform, performList, performGet, etc) functions. For example, given the following input data:
bundle.inputData passed to your perform function would be:
When cleanInputData is false
When cleanInputData is false, Zapier preserves all empty values in bundle.inputData. Using the same example input data above, the resulting bundle.inputData would be:
perform function would then need to handle these empty values appropriately.
We recommend setting cleanInputData to false and handling empty values explicitly in your code. This approach provides greater control for developers and avoids unexpected behavior, especially when dealing with nested input data (e.g., line items).