Schedule HTTP requests from Google Sheet Trigger dates

Describe the problem/error/question

I am trying to sync email sending from a Google Sheet ¨CRM¨, using some cells as deadlines. The main goal is being able to send automatically two or more emails with the cell date as a deadline.

So for example contact 1 have a deadline for 1/12/2025 should receive a first mail 1/8/2025 and a second one at 1/10/2025. Following our example, contact 2 have a deadline for 1/29/2025 should receive a first mail 1/25/2025 and a second one at 1/27/2025.

This was apparently achieved on my initial tests, but in a more production like testing I find this three realities combined causing troubles:

  • Multiple new entries. This means there can be one or more items being processed as the same time (two new sales meetings for example)
  • How I am currently dealing with dates. Since Wait node won´t execute even if current date is already past the Specified Date, I used an IF to bypass the issue but there comes the third piece of the puzzle
  • Wait nodes blocks the whole workflow. This means if an item triggers the Wait node, the rest of the items will still wait for that item to finish, even if their dates are already past the Specified Date.

I tried also with Loop Node, but no improvements. I also think about reordering the items, so at least the one that has to be sent are sent, but this only hides the rest of the issue - like, if there´s a third date, we are still failing to schedule that mail and by the time it triggers, it will likely be already past the Specific Date.

I am thinking maybe the easiest way would be to update the Google Sheet with information about which email has currently been sent and based on that I could schedule a Cron trigger and compare those notes every time.

After this wall of text, the question would be. Is there any particular/better way to achieve this? Is my latest sentence correct or you think there are better methods?

What is the error message (if any)?

No error message, just unexpected (to me) behaviour.

Please share your workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 1.73.1
  • Database (default: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): I don´t know what this refers to
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Debian, the Docker image should be in Alpine.

You can create one trigger workflow for each line. When the google sheets is triggered, you will call your workflow that will run asynchronous.

It will solve your problem of need to wait the delay.

Interesting!

This implies to create a workflow for every mail I need to send, right?

If I understand correctly, this could work because each item triggers it’s own execution and if one or more executions triggers their Wait node, the rest are still executed independently. Is that correct?

Maybe I could mix this with other enhancements I have made to log the last mail sent on the Google Sheet.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.