Bug?/missing option from recent n8n update (+ workaround assistance help)

Describe the issue/error/question

Hope everyone is doing well.

(Not sure if this is meant to be posted on some sort of bug tracker somewhere?)

Like other Google nodes, I’m almost 100% sure that the Google Tasks node used to have a filter option for ‘Query’ (or ‘Title’) under the ‘Get all’ operation (or ‘Get’ operation.)

Without it, users would be forced to use ‘If’ nodes to filter through ALL tasks in order just to find one.

Just wondering if there were any plans to allow filtering by Title/Query at some point like users can with other Google nodes, as we are completely stuck without it.

Thanks for any thoughts you may have.

Cheers!

EDIT:
As I have no idea how long something like this may take to be implemented, in the meantime, I will have to iterate through the results until I find a match. After many hours of trying to work this out, I would really appreciate any pointers.

Basically, I just need the ‘data’ from the ‘sample-googleTasksData’ node if its ‘title’ matches ‘checkTitle’ as set in the ‘set-checkTitle’ node.

I have tried dozens of different things, even SplitInBatches but can’t seem to get anything working so thank you very much if anyone is able to help!

Cheers again!

What is the error message (if any)?

n/a

Please share the workflow

Share the output returned by the last node

n/a

Information on your n8n setup

  • n8n version: unknown
  • Database you’re using (default: SQLite): unknown
  • Running n8n with the execution process [own(default), main]: unknown
  • Running n8n via [Docker, npm, n8n.cloud, desktop app]: cloud

Hi @ersatz.feign,
I reviewed the commit history of GoogleTasks.node.ts and it looks like it never had a getAll query/title filter option. Also neither the Task API Parameters docs or the list tasks reference shows an option to filter for title. So to me it looks like the API doesn’t support it yet.

Your workflow sample node “if-checkTitle=title” is using

image

but node “get-gtaskID” does not exist. Can you post a fixed example to better understand your problem?

Hey @marcus

Hope you are well.

Oh, wow - must have got myself mixed up with another Google node, apologies.

That’s crazy that they don’t offer filter by title, especially with how its use/stability/etc is mentioned.

Thank you for providing those links as well, as that should hopefully prompt me to try and get into the habit of being able to follow that path of investigation as proficiently as you are able to.

Looks like I’m gonna have to work out how to iterate through the results until a match is found, as per the workflow above that I added in subsequently.

I’m sure it’s something super simple that my mind is just missing but after so many attempts and researching, it’s frustrating that I can’t seem to work out the workflow. I’ve tried absolutely everything from indexOf through to SpitInBatches - if your lovely self or anyone had any ideas at all, it would be greatly appreciated!

Cheers!

Apologies - I’ve just updated the original workflow to the name of the function node so hopefully that is correct this time. Cheers.

Hey there,
based on your workflow example and sample data I assume your IF Node “if-checkTitle=title” should only be true for this item:

To do so I simplified the IF Node

making sure the “Value 2” expression is always using $item(0) from the $node["set-checkTitle"].

image

This is necessary because we are processing X items (3 in this example) and when you try to get $node["set-checkTitle"].json["checkTitle"] n8n will try to get the item at index X, but only index 0 exists. The Expression Editor will by default preview the item at index 0, so all looks good there but it won’t work when running with multiple items. For these cases make sure to always use $item(0).

Let me know if this helps.

Forgot to post my workflow :stuck_out_tongue_winking_eye:

Marcus!
This is brilliant - thank you very much. Looks like I was nearly there but whilst I slightly understand $item(0) - your example of it in use is invaluable to me and will help greatly in my progression (as I learn best by dissecting working examples.)

The workflow you kindly provided appears to work as intended but upon trying to implement it to my much more complicated workflow, I’m only receiving a single success. It must be something to do with how n8n structures its data which despite reading up on it, I’m still not fully grasping (likely because I’m used to a different approach in similar tools.)

The below workflow is a bit closer to what we are actually doing and which fails even with your lovely $item(0) trick. If you could spare a few more seconds, I’d be super appreciative if you are able to work out a fix/shed any light.

Many thanks once again!

I am not sure I understood your workflow correctly, it looks like you wanted to match [t1, t3, t6]. To do so I removed the last IF Node if-SplitInBatches=NoItemsLeft, than I got the expected result. I also added a merge googleCalEvents with googleTaskData at the end, maybe this helps.

Great news! Thanks to you, it all appears to be working now!

(It was actually working a couple of my attempts earlier but as the data coming in is changed as part of it, there was one piece that wasn’t quite right and so wasn’t showing up, throwing doubt into that setup at the time.)

I’m really learning a lot and I sincerely thank you for your kindness and patience in helping out - it really means a lot and I hope to be able to do the same for others at some point (like I already do for other similar tools.)

Keep up the good work buddy and I hope you have a lovely weekend!

Cheers!

1 Like