Back to Loops.so in Excel
SheetXAI logo
Loops.so logo
Loops.so · Excel Guide

Send Loops.so Events in Bulk From a Excel

2026-05-13
5 min read

The Scenario

You're a product manager at a B2B SaaS tool. 200 users signed up for a trial this week. They're in an Excel workbook — column A is email, column B is signup date. Loops has an onboarding sequence that starts when the 'trial_started' event fires for a contact. None of these 200 users have been through it yet.

The bad version:

  • Build a Power Automate flow that watches a new-row trigger, fires the event per row
  • Set it up for 200 historical rows — realize Power Automate only watches for new rows going forward, not existing ones
  • Write a script to loop through column A and call the Loops API manually, realize you typo'd the event name as 'trial_start' instead of 'trial_started', reprocess all 200

You don't have time for that.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Excel workbook that reads the data and talks to Loops.so for you. No mapping, no automation, no copy-paste.

Open the SheetXAI sidebar and type:

Send the Loops event 'trial_started' for each email in column A of this workbook and write 'Sent' or the error message into column B.

What You Get

  • The 'trial_started' event fires in Loops for every email in column A
  • Column B logs 'Sent' for each success or the API error if the contact doesn't exist in Loops
  • All 200 users enter the onboarding sequence immediately, triggered by the event

What If the Data Is Not Quite Ready

When some emails don't exist as Loops contacts yet

For each email in column A, first check if the contact exists in Loops — if not, create it. Then send the 'trial_started' event. Write the result (created + sent, existing + sent, or the error) into column B.

When you need to fire different events based on a column value

For each row in this workbook, send the Loops event from column B to the email in column A — fire 'trial_started' if column B says 'trial', 'upgrade_completed' if it says 'paid'. Write the result into column C.

When you only want to fire events for contacts who signed up after a certain date

Send the Loops event 'trial_started' for each email in column A where the signup date in column B is on or after 2026-05-01. Write 'Sent' or the error into column C.

When you want it all in one shot

Fire the Loops event 'upgrade_completed' for every row where column B says 'paid', using column A as the email. Log the result in column C and count successful fires in cell E1.

The pattern: instead of cleaning the data first and then calling Loops.so, you ask for both in one prompt.

Try It

Get the 7-day free trial of SheetXAI and open any workbook with a list of emails ready for a Loops event. Ask it to fire the event for each row. The Loops.so integration is included in every SheetXAI plan. For related tasks, see Bulk Import Contacts Into Loops.so From an Excel workbook or the Loops.so in Excel overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more