Dropbox search - Getting wrong results

I am using Make to upload files from Airtable attachments into folders which are named XXXXXX-YY-Z based on a work order number. Folder name is retrieved from Airtable and then Dropbox search is being conducted.
Problem is that Dropbox search outputs wrong result when there are folder same XXXXXX-YY but different “Z” which confuses the search module.

Below attached shows clearly that search for a folder name “220524-20-2”, which in non existent in dropbox, outputs a bundle of 1 with “220524-20-3” as a result which leads to an error in downstream scenario.

Is there any way to get this module to search for exact/full folder name?

Thnx!

Hello @nbalov and welcome to the Make Community!

Unfortunately, with Dropbox, their API doesn’t appear to provide a way to specify exact matches for that search endpoint. After some quick searches it seems others feel in your frustration with this.
There are a couple workarounds, though:

  1. Do what you’re doing now, but add a filter after Dropbox that filters the bundles by the exact search term only. Any results that don’t match your original search term will not pass the filter.
  2. Use a List all Files/Subfolders in a Folder module, then use the filter technique from the first option. This is less efficient because there will be more results to look through.

I’d use option 1!

2 Likes

This search is followed by router module, which decides whether to create the folder (0 search bundles) of use existing folder (search bundles greater than zero).

Lets say the search module outputs false result saying folder exists but outputs wrong folder name (although searched folder really exists) filter being used will not pass the result as if folder does not exist and lead the router to scenario trying to create the folder ending up with error since the folder already exists.

Using the filter, if none of the results pass the filter, that’s the same as producing 0 bundles so your router should still work.

If your search produces 5 bundles, but only 1 passes the filter, then it will look like a result of 1 bundle to the modules that follow.

1 Like

For some reason, if none of the results match and pass the filter, router is not registering it as 0 bundles and my process stops.

This is how my filter is set:

This is the result when results dont match my filter

My mistake! Looks like the total number of bundles does still use the original result.

Why not just remove the bit in the filter about total number of bundles and just proceed with your string/text comparison?

1 Like