This guide walks you through building a behaviour-triggered, programmatic email sequence in Loops, the developer-friendly email platform built for SaaS and growth teams. By the end, you will have a working multi-step sequence that fires automatically based on user actions, segments contacts on entry, and includes fallback logic for non-openers. Most teams complete the initial setup in two to three hours.

What You'll Build

  • A Loops Loop (automated sequence) triggered by a custom event from your app or CRM
  • Contact segmentation logic that filters who enters the sequence based on properties
  • A three-step email series with delays, conditional branches, and fallback re-sends
  • An event-based exit condition that stops the sequence when a user converts
  • A live test run using Loops' built-in contact simulator

Prerequisites

  • A Loops account on the Growth plan or above (free trial available at loops.so)
  • Access to your product's backend or a tool like Make, Zapier, or Segment to fire events
  • At least one verified sending domain in Loops
  • Basic familiarity with JSON or a no-code automation tool

Step 1: Plan Your Sequence Before You Touch Loops

Skipping the planning phase is the single biggest reason email sequences fail to convert. Before opening Loops, map your sequence on paper or in a tool like FigJam or Miro.

Define three things for every sequence:

  • The trigger event. What user action starts this sequence? Common examples are trial_started, feature_activated, or checkout_abandoned.
  • The exit event. What action should stop all further emails? Usually this is subscription_created or feature_used.
  • The goal of each email. Each email should move the reader one step closer to conversion, not just deliver information.

For this tutorial, the trigger is trial_started and the exit is subscription_created. The sequence has three emails: a welcome, a feature prompt at day two, and a social proof nudge at day five.

Why does pre-planning matter so much here?

Loops builds sequences visually, but it is easy to add steps faster than you think through their logic. A clear plan means you build once instead of rebuilding three times. Teams that plan first cut their Loops setup time by roughly half.

Step 2: Create Your Contact Properties in Loops

Loops stores contacts with properties. Properties drive segmentation. You need to define them before building your sequence logic.

Go to Settings > Contact Properties and add any custom properties your sequence will reference. For this guide, add:

  • plan_type (string): free, pro, or enterprise
  • trial_start_date (date)
  • onboarding_step (number): tracks how far through onboarding the user has progressed

Keep property names lowercase with underscores. Loops' API is case-sensitive, and a mismatch between your app's payload and Loops' property names will silently break segmentation.

What if you're syncing contacts from Segment or HubSpot?

Loops has native integrations with Segment (as a destination) and a two-way sync with HubSpot as of 2026. Go to Settings > Integrations and connect your source. Map your source properties to the Loops properties you just created. Once mapped, any contact update in your source will reflect in Loops within a few minutes.

Step 3: Set Up Your Trigger Event

Go to Loops > Events and click Add Event. Name your event trial_started.

Loops lets you fire events via its REST API, via Segment, or through a no-code tool. Here is the direct API call:

curl -X POST https://app.loops.so/api/v1/events/send \\
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -H "Content-Type: application/json" \\
  -d '{
    "email": "[email protected]",
    "eventName": "trial_started",
    "eventProperties": {
      "plan_type": "free",
      "trial_start_date": "2026-10-16"
    }
  }'

A successful call returns { "success": true }. If you get a 401, your API key is wrong or missing the correct scope. Generate a new key under Settings > API and make sure it has Events: Write permission.

Test this call with a real email address in your Loops account before moving on. Confirm the event appears in Events > Activity Log.

Step 4: Build the Loop in Loops

Go to Loops > Loops (the automation builder) and click New Loop.

4a. Set the entry trigger

Choose Event trigger and select trial_started. Under Filter contacts, add a condition: plan_type is free. This ensures paid users who somehow fire this event do not enter the trial sequence.

4b. Add the first email step

Click the + button and choose Send email. Select or create your welcome email template. Set the delay to 0 minutes so it fires immediately on entry.

In the email editor, use Loops' merge tags to personalise the subject line:

Subject: Welcome, {{contact.firstName}} — your trial starts now

Keep the welcome email short. One goal: get the user to complete step one of onboarding. Link directly to that step, not your dashboard homepage.

4c. Add a time delay before email two

Click + again and choose Delay. Set it to 2 days. This delay respects your user's time and gives them a realistic window to try the feature you are about to prompt.

4d. Add a conditional branch

Before email two, add a Condition step. Set the condition to: onboarding_step is greater than or equal to 1.

  • True branch: Send the feature prompt email (they started onboarding, push them further).
  • False branch: Send a simpler re-engagement email that links back to step one.

This branch is what separates a programmatic sequence from a basic drip. You are reacting to what the user has actually done, not just how long they have been in your system.

4e. Add the day-five social proof email

After the day-two branch rejoins (use Loops' Merge node to combine both branches), add another two-day delay, then a final Send email step. This email should include a customer quote, a case study link, or a concrete outcome metric relevant to your product.

Australian SaaS teams often see the best results with a quote from a recognisable local brand. Singapore and Canadian audiences respond well to ROI-framed data points. Tailor your social proof asset to your primary market.

Step 5: Set the Exit Condition

At the top of your Loop, click Settings and find Exit conditions. Add an event-based exit: when a contact fires the event subscription_created, remove them from this Loop immediately.

This is critical. Without an exit condition, a user who upgrades on day one will still receive your day-five trial nudge. That destroys trust faster than not sending the email at all.

You can also add a property-based exit: if plan_type changes to pro or enterprise, exit the Loop. This catches upgrades that happen outside your app's event system.

Step 6: Write Emails That Actually Convert

The sequence logic is only as good as the emails inside it. Three principles apply here regardless of your industry or market.

One clear action per email. Every email should ask the reader to do exactly one thing. More than one call to action reduces click-through rates by an average of 42% according to Campaign Monitor's 2025 benchmark report.

Write subject lines that describe, not sell. "Your onboarding checklist" outperforms "Don't miss out on your trial" in most B2B segments. Descriptive subject lines reduce spam filter scores and set accurate expectations.

Plain text wins in nurture sequences. Heavily designed HTML emails perform well for newsletters and promotions. For behaviour-triggered sequences, a plain or lightly styled email feels more personal and typically sees 15 to 20% higher reply rates.

If you are managing email content across a larger marketing team, a structured content calendar keeps everyone aligned. The Lenka Studio social media toolkit includes a free content calendar template that works equally well for email planning across channels.

Step 7: Test the Sequence End-to-End

Loops includes a Contact Simulator under the Loop's Test tab. Use it to walk a test contact through every branch of your sequence before you publish.

Run through these checks:

  • Fire trial_started for a test contact and confirm email one sends immediately.
  • Set onboarding_step to 0 and confirm the false branch fires at day two.
  • Set onboarding_step to 2 and confirm the true branch fires at day two.
  • Fire subscription_created mid-sequence and confirm the contact exits cleanly.

Check your spam folder, not just your inbox. Send test emails to a Gmail address, a Microsoft 365 address, and an Apple Mail address. Rendering differences between clients are common and worth catching before launch.

What if emails are landing in spam during testing?

The most common cause is a missing or misconfigured DKIM or DMARC record on your sending domain. Go to Settings > Sending Domains in Loops and run the DNS check. Loops will flag any failing records. Fix them at your DNS provider, then allow up to 48 hours for propagation before retesting.

Step 8: Publish and Monitor

Click Activate Loop. Loops will ask you to confirm your sending domain and daily send limits.

For the first 48 hours, check the Loop Analytics tab daily. Watch for:

  • Open rate below 25%: Subject lines or sender name need work.
  • Click rate below 2%: The CTA or offer inside the email is not compelling enough.
  • Exit rate spiking early: Contacts are converting faster than expected (a good problem) or unsubscribing (a bad one).

At Lenka Studio, we typically recommend a two-week monitoring window before making significant changes to a new sequence. Small sample sizes produce misleading signals, and patience here saves you from optimising against noise.

Frequently Asked Questions

How is Loops different from Mailchimp or Klaviyo for this use case?

Loops is built specifically for product-led SaaS teams and prioritises event-based triggers and API-first contact management. Mailchimp and Klaviyo are stronger for e-commerce broadcast campaigns. For behaviour-triggered sequences tied to in-app actions, Loops requires significantly less setup overhead as of 2026.

Can I use Loops if I don't have a developer on my team?

Yes. You can fire Loops events via Make or Zapier without writing any code. Connect your trigger app, choose the Loops "Send Event" action, and map your fields in the no-code interface. The API approach in Step 3 is optional.

How many emails should a trial nurture sequence have?

Three to five emails is the standard range for a 7 to 14 day trial. More than five emails in a short trial window increases unsubscribe rates without a proportional increase in conversions. Start with three and add steps based on data, not instinct.

What happens to a contact who reaches the end of the sequence without converting?

They exit the Loop naturally. You can add a final step that tags them with a property like trial_expired: true and then use a separate Loop or a manual campaign to follow up. Do not extend the same sequence indefinitely.

Does this approach work for e-commerce abandoned cart flows?

The same structure applies. Swap trial_started for checkout_abandoned and subscription_created for order_completed. The branch logic at Step 4d can check a cart value property to send a discount only to high-value carts, which protects your margins.

Next Steps

Once your sequence is live and you have at least two weeks of data, run an A/B test on your subject lines using Loops' built-in variant feature. After that, consider building a second Loop for users who complete onboarding but do not upgrade by the end of their trial. These two sequences together cover the majority of trial conversion scenarios for most SaaS products.

If you want help mapping your full email automation strategy or building out a broader marketing system, the team at Lenka Studio works with SMBs across Australia, Singapore, Canada, and the US to do exactly that. Get in touch and we can walk through what makes sense for your business.