Retrieving information, Subflows & Loop mode

So—we’ve built our first flow! 🎉
It’s already pretty powerful: plug in an attendee’s email, and boom—we get a personalized conference email drafted by AI.
But let’s be honest, it’s not truly automated yet. Right now, we’re manually entering each email one at a time. That’s not going to fly when we have 20, 200 (or 2,000) attendees.
In order to actually automate this flow, we need to do two things:
- Pull a list of attendees from a CRM
- Run our flow for each of those attendees, drafting their personalized email.
Here’s the game plan:

Let’s do this step by step!
Step 1: Reading data from CRM
For this conference, we’re keeping things simple—our CRM is a Google Sheet. In Gumloop, any time you want to retrieve data from another source, you’ll use a Reader node. You’ll find it under the Integrations tab of the node library.
We’ll drag in the Google Sheet node (though you could also use tools like Hubspot, Notion, Salesforce—you name it) configured to grab the data we need:

Click “Run” and voilà—you’ll see your list of attendees pulled in, complete with all their info: names, emails, job titles… whatever columns are in your sheet.
Step 2: drafting an email for each attendee using Subflows
Now that we’ve got a list of attendees, it’s time to re-use the automation we built earlier—the one that takes an email and generates a personalized draft.
Rather than rebuilding those same steps again, we’ll use a Subflow.
Now, here’s where things get interesting.
The output of our Google Sheet node is a list of attendees. The input of our subflow is just one email address.
So what happens when we connect a list to a node input expecting just one item?
Enter: Loop Mode
This is one of the most powerful concepts in Gumloop.
When a node (or Subflow) receives a list as input but normally works with one item, Gumloop automatically switches into loop mode. That means it will run that node once for every item in the list.
In our case? It’ll run the subflow for every attendee, generating an email draft for each.
If we give it 10 attendees’ emails, the node automatically loops—drafting an email for each!

Now Hit Run
Click run—and just like that, your subflow springs to life for every attendee in the sheet. Whether you’ve got 10, 100, or a thousand attendees, Gumloop handles it seamlessly.
You’ve just automated a personalized communication pipeline from your CRM to your inbox drafts. 🔥
You might be wondering: can this happen automatically every time someone new signs up and gets added to the Google Sheet?
The answer is yes—and that’s what we’re diving into in the next lesson: Triggers.
We’ll show you how to make your Gumloop flow run automatically whenever something happens elsewhere (like a new row in Google sheets or a contact added to your CRM), turning this into a true hands-free system.