"Blank" returned from trigger action into table text field

Which trigger actions / expressions would result in the string “Blank” being returned as the result, ostensibly when the thing acted upon by the action/expression-function is a null or empty string or array? Is there more than one case that has this result?

Where I am seeing this appears to be a table aggregation running too slow and resulting in “Blank” being written to the table instead of the result, albeit only twice in hundreds of opportunities:

Adding (concatenating) the aggregation result to an array, then joining to string:


Saving that string variable to an object field:
image

After pushing the object onto an object list, it gets pulled back out into an object and saved into a table record (looping through all the elements in the object list so we can batch-save vs. saving every scan…)
image

Error Example:

Correct Example:

CSV Export of Table:

image

There is no trigger action in Tulip that intentionally returns the literal value “Blank”. This typically happens when a value is null or empty at the moment the trigger runs and that placeholder gets written to the table. In your case, the most likely cause is timing, where the table aggregation occasionally returns empty and is immediately joined to a string and stored. Since triggers run sequentially, a slow aggregation can cause this intermittently. A good next step is to add a simple check to only join and store the value when the aggregation result is not empty.

Agreed with @nicolo.lagravinese here. We did some more reproduction on our end, and believe that something upstream likely just left Message - Temperature blank, so a downstream check could help avoid this scenario.

What are some best practices for dealing with slow aggregations?

@jmlowden if you’re in the office Tuesday December 30th, happy to set up an ad-hoc working session with you on this. Just email me your availability and I’ll schedule something.

Tim Reblitz

Tulip | Technical Account Manager

If I’m Understanding correctly it sounds like a good use of the link function.

The function allows you to return the first non-null value from a list of defined values.

So try and wrap your final output in a link function then provide your alternate output you’d want to display in the event your aggregation fails to concatenate properly.