Loops documents roughly 20 named integrations, plus 4 framework guides and 2 form connectors, a deliberately short catalogue next to the 300-plus directory Mailchimp maintains, and a positioning choice rather than a gap in maturity. Loops bills per contact and not per message, so an integration earns its place by what it puts into and takes out of the contact file, identity, subscription state, revenue signals, not by the volume it can push. The connectors cluster around modern SaaS plumbing because that is where the contact record is created.
The 30 entries below are every integration, framework guide and form connector Loops documents publicly, grouped by what they do to your contact file. Nothing here is inferred from a third-party directory. The canonical index is the Loops integrations documentation; where an entry is a guide rather than a packaged connector, the card links to that guide.
The category Loops is built around. All 4 do the same two jobs: create the contact when a user signs up, and hand the authentication email to Loops so verification, magic-link and reset messages carry your sending domain.
Syncs new Clerk users into the contact file and routes Clerk’s authentication emails through Loops.
Sends Auth0 transactional email through Loops templates, on your sending domain.
Library-level hook into the Auth.js provider chain: sign-in emails are rendered and sent by Loops.
Wires Better Auth’s email hooks to Loops transactional templates.
3 of the 4 entries. Attio, HubSpot and Salesforce, are not dedicated connectors at all. They are the same Auto BCC feature: Loops blind-copies outgoing mail to an address your CRM listens on, so the message is logged against the record. There is no field mapping, no bidirectional contact sync and no segmentation from CRM properties. If a stakeholder hears “HubSpot integration” and pictures a two-way sync, correct that early.
Auto BCC, not a dedicated connector: sent email is copied to an Attio inbox address and lands on the record.
Same Auto BCC mechanism. Activity appears on the timeline; lists, lifecycle stages and properties stay on the HubSpot side.
Auto BCC again, matched on the recipient address. Anything beyond message logging needs the API or an iPaaS step.
Pushes enriched records from a Clay table into Loops contacts and mailing lists.
On a per-contact price model the revenue signal is what tells you which contacts are worth keeping: a cancelled customer left in the file costs the same as an active one.
Brings subscription and payment events in, so contact properties reflect billing state and trigger trial, dunning and win-back sequences.
Same role as Stripe for teams monetising through Polar; a telling signal of the segment Loops builds for.
How behavioural data reaches the contact record. PostHog is native; the CDP and warehouse paths let Loops be a destination in a pipeline you already run, usually cheaper than rebuilding event tracking on the API.
Sends PostHog product events in, so in-app behaviour can trigger sequences.
Loops as a RudderStack destination for identify and track calls from a warehouse-first CDP.
Routes Segment events and traits into contacts. Price it separately: Segment volume tiers can cost more than the Loops subscription they feed.
Moves data between Loops and your warehouse on a schedule, for teams whose audience definitions live in SQL.
Signup capture from hosted site builders: all 3 move a form submission into a Loops mailing list.
Connects Webflow native forms to Loops contacts and lists without a custom endpoint.
The same capture path for Framer sites.
Landing-page capture for Carrd, aimed at waitlists and pre-launch pages.
Where everything without a native connector gets handled, at the usual cost of a per-task bill and an extra hop of latency. Loops also documents outbound webhooks covering 17 events, including contact.created, contact.unsubscribed, contact.mailingList.subscribed, campaign.email.sent, transactional.email.sent, email.delivered, email.softBounced, email.hardBounced, email.opened, email.clicked and email.spamReported. They are signed with HMAC-SHA256, retried up to 8 times over roughly 28 days, and your endpoint must answer inside 15 seconds.
The widest reach available to Loops. Budget for task volume: contact creation events fire constantly.
Scenario-based alternative to Zapier, usually cheaper at high operation counts.
Third documented iPaaS option, positioned on flat-rate pricing.
Creates and updates contacts from a Bubble application and sends its transactional email.
Accepts arbitrary inbound payloads to create or update contacts and fire events.
Loops publishes first-party guides for 4 backend frameworks plus Next.js; the framework paths run over SMTP at smtp.loops.so on port 587. Two constraints apply throughout. The SMTP service is transactional only, so campaigns cannot go this way; and every message must reference a transactional template that already exists in your account, with a JSON payload of transactionalId and dataVariables instead of arbitrary MIME. Loops itself advises against using it as a framework’s default mail backend.
Two paths: a contact sync from your Supabase tables, and Supabase Auth email over Loops SMTP. The only connector that runs on SMTP by design.
Sending from Next.js route handlers and server actions with the official JavaScript SDK, which needs Node 18 or later.
Configures a Laravel mailer against Loops SMTP. Treat it as a named connection for specific mailables, not the default driver.
Action Mailer against port 587 with STARTTLS, subject to the same template binding.
The documented Python path, since there is no official SDK on PyPI. Loops recommends a custom connection per email over the global backend.
Generic Node transport against smtp.loops.so, with the literal username loops and an API key as password.
Two ways to collect an address without a site builder in the middle: a hosted form, and a custom form posting to Loops directly. Both write into a mailing list, which decides whether the contact counts against your plan.
Hosted signup form with an embed snippet and no backend: the fastest path from a landing page to a subscribed contact.
Your own markup posting to a Loops endpoint, so styling and validation stay in your codebase.
Around 20 named integrations in the official docs, shown here as 30 cards by also counting the framework guides and the 2 form connectors. That is an order of magnitude below Mailchimp or ActiveCampaign. The catalogue is narrow on purpose and skews to modern SaaS infrastructure; judge it on whether your stack is covered, not on the total.
No, and it is the expectation trap worth flagging. Attio, HubSpot and Salesforce are all served by the same Auto BCC feature: Loops blind-copies outgoing email to an address the CRM ingests, so the message appears on the record. There is no contact sync, no property mapping and no segmentation from CRM fields; build those on the API or route them through Zapier, Make or Integrately.
Supabase, for authentication email: Supabase Auth points at smtp.loops.so on port 587 so confirmation and magic-link messages come from your domain and your templates. Every other native connector talks to the API. The Laravel, Rails, Django and Nodemailer paths also use SMTP, but those are guides rather than packaged connectors.
Two supported routes. Outbound webhooks push 17 event types to any endpoint you control, signed with HMAC-SHA256 and retried up to 8 times across roughly 28 days; your listener has to respond within 15 seconds. Inbound, the incoming webhooks endpoint creates or updates contacts from arbitrary payloads. Zapier, Make, Integrately and Segment cover the rest without code.
Yes, more than on most platforms. Loops bills per contact rather than per message, with unlimited sending on paid plans, so any integration that creates contacts in bulk moves you up a tier. An enrichment or CDP feed that writes every signup into the contact file is a pricing decision, not just a plumbing one. Stripe and Polar events are what let you clear contacts that no longer earn their slot.
No. Loops SMTP is transactional only, and every message must reference a transactional template that already exists in your account: the body carries a JSON payload with transactionalId and dataVariables instead of arbitrary MIME. That rules out using Loops as a generic relay the way you would use Postmark. Campaigns go through the Loops app or the campaigns API.
This review follows our email infrastructure testing methodology. We disclose affiliate relationships in our editorial independence policy.