How I Learned to Build Advanced Reports with Scoop and GPT (Without SQL)

Lexi Ryman

How It All Started: My Plan to Build a Customer Journey Tracker

These calculated fields weren’t just for internal reporting. The goal was to sync them back into HubSpot so we could use them in our workflows, email campaigns, and lead scoring. Essentially, I wanted HubSpot to reflect the live data from Scoop in real time.

To do this, I:

  1. Connected our HubSpot API to Scoop.
  2. Used Scoop’s Google Sheets connector to bring in product event data.
  3. Created calculated fields to track key moments, like when someone used our AI presentation feature.
  4. Synced those calculated properties back to HubSpot to enrich contact records and trigger marketing automation.

But here’s the catch: I didn’t know how to write the spreadsheet logic to make this all work. Enter ChatGPT.

Tracking Feature Usage: My First Big Win

One of the first questions I wanted to answer was simple: How many days has it been since a user created a new canvas from one of our AI-generated presentations? But calculating "days since" using event logs isn’t as straightforward as it sounds.

The Formula:

{{Call Out Component}}

What It Does:

What I Learned:

At first, I was stuck trying to build this manually. But after asking GPT how to calculate "days since the last event," I got this formula. When I added it to the calculated columns in the google sheet that I was blending hubspot and user events in Scoop and synced it back to HubSpot, I could instantly see the updated engagement data on each contact. This was a game changer—it meant I could create marketing campaigns targeting contacts who hadn’t used a feature in weeks.

Creating a Comma-Separated List of Connected Data Sources

Once I had the basics down, I got curious: What if I wanted a list of every data source a user had connected (like HubSpot, QuickBooks, and Google Analytics)? Instead of multiple rows of data, I wanted a single, clean string that looked like this:

"HubSpot, Google Analytics, Salesforce"

‍The Formula:

=IFNA(TEXTJOIN(", ", TRUE, UNIQUE(FILTER(UserEvents!I:I, (UserEvents!C:C = C6), (UserEvents!H:H = "completeAPI")))), "No Match")

What It Does:

Why This Formula Blew My Mind:

Here’s the cool part: I didn’t even know this kind of formula was possible. When I asked GPT to help, it not only gave me the formula, but explained each function. It was a lightbulb moment—suddenly, I understood how array formulas work and how to build cleaner reports.

And because we synced this data back to HubSpot, we now had a detailed log of connected data sources for each contact. This helped us run more targeted re-engagement campaigns and even spot upsell opportunities.

‍

‍The “Aha” Moment: Spreadsheet Logic Over SQL

I’ve never used SQL, and I probably never will. I took a short class to understand the basics, but it still felt abstract. Spreadsheet logic, though? It just makes sense. I can see how each formula works step-by-step.

When I showed these formulas to Brad (Scoop’s CEO), he was impressed—especially with the array functions like FILTER() and TEXTJOIN(). These are the kinds of things that are extremely hard to replicate in SQL without complex nested queries or temporary tables.

Key Takeaways

Here’s what I learned along the way:

Real-World Use Cases for These Formulas

Here’s how you can use these kinds of formulas in different roles:

Wrapping It Up

I’m still not a data scientist—and that’s okay. With Scoop and GPT, I’ve learned how to build reports that would normally require an SQL expert. If you’re juggling spreadsheets and trying to make sense of your data, give this a shot.

Also, if you’ve got a formula you’re proud of (or one you need help with), I’d love to see it—because honestly, learning this stuff has been pretty fun.

‍