I am new to n8n and currently working on my first workflow. I would like to create a workflow that sends follow-up emails in case there is no response to a previous email within a specified time frame.
Here’s the logic I have in mind:
Send an initial email.
Wait for a response for a certain amount of time (e.g., 3 days).
If no response is received, send a follow-up email.
Optionally, repeat the process for a second follow-up after another waiting period.
I would appreciate any advice or example workflows that can help me implement this logic in n8n. What nodes should I use, and how can I set up the conditions to check for responses?
Instead of leaving individual workflows running for a long time to track each single email, I would recommend storing the details you need for follow-up (e.g. lastEmailSentTimestamp, responseReceived, emailAddress, name, etc.) in something like Baserow, and running a Send Follow-ups workflow with a Schedule trigger that:
Loads all “follow-up” records (from Baserow or similar) where the current time - lastEmailSentTimestamp > followUpInterval
Sends out everything at once
Updates the lastEmailSentTimestamp in the corresponding records/rows.
This will keep you from depending on n8n so much to juggle a bunch of in-flight executions through restarts, etc. n8n would probably do it just fine, up to a point, but it’s a better strategy to leave everything “at rest” if you can. Having the state of things stored outside n8n is also useful if you wanted to get some statistics (like what percentage of emails never get answered).