First Workflow: Extracting PDF Data via Google Document AI & HTTP Request

Hi everyone,

I’ve just built my first n8n workflow and could use a bit of guidance!

Goal: Send a motivational quote every morning at 8 AM to a list of my close friends. A different quote should be sent each day.

My Setup:

  • A Schedule Trigger set for 8 AM daily.

  • A Spreadsheet File node to read a list of my friends’ email addresses.

  • An HTTP Request / Function node to fetch a single quote from an API.

  • An Email (SMTP) node to send the email.

The Problem: The workflow runs and sends an email successfully, but it’s sending the same (first) quote every day, not iterating to the next one in my list for the next run.

My Question: What’s the best practice in n8n to make a workflow “remember” which quote was sent last, so it can pick the next one in the sequence on the next daily run? Should I be using a variable, writing to a file, or is there a simpler method I’m missing?

Any advice for this new user would be greatly appreciated!

Hey @tranquilmuse

I’d suggest a simple “Read → Process → Update” pattern:

Step 1: Add a column named Status in Google Sheets.

Step 2: Configure your Google Sheets node to only “Get Rows” where Status is not “sent”.

Step 3: After the Send Email node, add an Update Row node.

Step 4: Map the Row ID from the first node to the Update node to mark it as “sent”.

This is a very good way to build a reliable loop in n8n.

Hope this helps!

2 Likes

This approach solved the issue. For anyone else following this: I found that using a Row Id column in addition to a Status column made the update process much more reliable.

Really appreciate the help!

1 Like

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