FlowRunner
PricingContact
Theme
Start Free

Loopify

Email Marketing

Run marketing automation on Loopify, the Norwegian platform, through its official Web API. Agents manage contacts and segments, trigger campaigns, and read engagement back into the record.

28 actions OAuth available
Loopify website ↗ Platform Documentation ↗ Capability data verified 2026-08-02
The weekly enrollment job for the Nordic winback flow starts on schedule
Search Contacts By Audience materialises the audience marketers maintain inside Loopify
Import Data Collection Records refreshes the order rows the flow personalises from
Search Contacts runs with Return Totals Only to size the audience without pulling it
Count Events confirms the segment's purchase activity falls outside the winback window
The sized audience and the change since last week post to the marketing channel
Marketing ops approves the enrollment, and only then does Add Contacts To Flow inject the list

What This Integration Enables

Loopify is a Norwegian marketing automation platform, and the teams that pick it are usually running Nordic-market programmes where the platform, the support conversation and the compliance expectations are all local. FlowRunner's Loopify connector is built against the official Loopify Web API, which authenticates with an OAuth2 authorization code flow against Loopify's own auth host rather than a static key, so credentials are issued and revoked by Loopify rather than pasted around a team.

The connector's centre of gravity is not the contact record. It is data collections, Loopify's custom typed tables attached to contacts, and the behavioural event store behind them. An agent can define an orders or bookings collection once, import rows into it in bulk, keep those rows in step when the source system changes them, and then query the event store to decide what to do next. Two of those reads, Search Contacts with totals only and Count Events, return a number instead of a payload, which is what makes it practical for an agent to check a condition before acting on it rather than after. That is the whole point: the agent gathers the evidence cheaply, and the decision that actually mails people is still a decision someone makes.

Without FlowRunner

Order data flattened into fields Purchase history is squeezed into contact custom fields until personalisation breaks
Audiences sized by exporting them Checking who a segment covers means pulling the whole list first
Enrollment is a one-way surprise Nobody sees the audience count until the flow has already started mailing

With FlowRunner

Structured order tables Orders and bookings live in typed data collections attached to the contact
Audiences sized before they are used Totals and event counts are checked without transferring a single record
Enrollment held for a decision The audience size reaches a person before anyone is injected into a live flow

Use Case Scenarios

Order history as a typed table instead of a flattened field

An ecommerce team wants Loopify emails to render real purchase detail. Rather than cramming a last-order string into a custom field, the agent calls Create Data Collection once to declare an orders table with its own typed fields and ID structure. From then on, every order that lands in Shopify is pushed through Import Data Collection Records, batched so a night's orders arrive in one call. When an order is cancelled upstream, Delete Data Collection Record removes the row so a recovery email stops referencing a purchase that no longer exists. The marketing team writes personalisation against a real table, and the table is never more than a run behind the store.

Behavioural conditions checked before the workflow commits

A lifecycle agent needs to know whether a cohort has actually gone quiet before it spends anything on them. It calls Get Event Types to learn which behavioural events the account records, then Count Events with a filter for purchases inside the last ninety days. Count Events returns a number and nothing else, so the check costs almost nothing even across a large account. If the count comes back higher than expected, the agent stops rather than continuing into an enrollment that would mail people who bought last week. Inbound behaviour from systems Loopify does not integrate with directly arrives through Ingest Incoming Event, which posts into a configured event definition using the schema that event declares.

Enrollment from a saved audience, with the count in front of a person

Marketers maintain audiences and statements inside the Loopify interface, and Search Contacts By Audience materialises one without the workflow having to rebuild its segment logic. An agent pulls the audience, refreshes the data collection rows the flow personalises from, and posts the resolved size to Slack alongside the previous run's figure. A marketing operations owner reads both numbers and approves. Add Contacts To Flow then injects the approved contacts into the flow's new entry block. The workflow runs weekly without anyone rebuilding it, and the one step that commits real sends never happens unattended.

Human-in-Loop Highlight

Add Contacts To Flow is a one-way door. It injects contacts into the new entry block of a live Loopify flow, and the connector exposes no matching operation to pull them back out again, because the API has none. That matters most when the audience was defined by a saved statement that someone widened in the Loopify editor between runs: the workflow is unchanged, the flow is unchanged, and the number of people about to be enrolled has quietly tripled. So the agent sizes the audience first with Search Contacts using Return Totals Only. When the total moves outside the band it saw last week, it stops and posts the automation exception to the marketing channel: "Nordic winback: the saved audience resolved to 8,400 contacts this run against 2,700 last run. The statement changed, not the flow. Enroll all 8,400, enroll the previous cohort only, or hold?" A marketing operations owner answers in the channel, and the human-in-the-loop step returns the decision to the flow, which resumes with the enrollment the person actually chose.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

28 actions

Account

1
  • Get Current User Returns the connected Loopify user's profile, current account, and the list of accounts they can reach. Agents use it as a connection health check and to confirm which account subsequent calls will operate against before anything is written.

Contacts

9
  • Get Contacts Retrieves a page of contacts from the active account, optionally narrowed by a free-text term or a tag. The total item count comes back with the page, so an agent can drive a paging loop without guessing how far it runs.
  • Get Contact Retrieves one contact in full, including subscription state, email and SMS suppression flags, tag groups, custom fields and lead score. This is how an agent answers the question of why a specific person is or is not receiving communications.
  • Create Contact Creates a contact with identity, address, company and lead score details, setting tag groups and custom fields in the same call. Supplying an external ID at creation means later workflows never have to store Loopify's own identifiers.
  • Upsert Contact Creates the contact or updates the matching existing record in a single call. This is the safe default when syncing an external system into Loopify, because it removes the race between a lookup and a write.
  • Update Contact Updates an existing contact by its Loopify identifier. Skip Null Fields leaves anything omitted untouched, which is the correct behaviour for partial updates driven by a single upstream change.
  • Delete Contact Deletes a contact and returns the deletion record, including who deleted it and when purging is scheduled. Used to honour deletion requests raised outside Loopify, with a receipt an agent can log.
  • Search Contacts Searches by an explicit list of contact IDs or by a full segment definition of include and exclude statements. Return Totals Only makes it a cheap audience sizing call, which is what a guard step needs before an enrollment.
  • Search Contacts By Audience Returns the contacts in a saved Loopify audience with paging. This lets a workflow use the audience marketers already maintain in the interface instead of duplicating its logic in the flow.
  • Search Contacts By Statement Returns the contacts matching a single saved statement. Statements are the reusable building blocks audiences are assembled from, so this is the right call when a workflow needs one condition rather than a whole audience.

Flows

3
  • Add Contacts To Flow Injects contacts into a flow's new entry block, either as explicit IDs or as a segment Loopify resolves. This is the API equivalent of manually enrolling an audience in an automation, and it is the step that should sit behind a human decision.
  • Trigger Flow API Entry Posts a payload into a flow's API entry block, Loopify's designated inbound hook for external systems. The payload shape is whatever that block has been mapped to accept, and large payloads can be handed off as a background task so the call returns immediately.
  • Trigger Flow File Import Starts a flow's file import block so Loopify processes the file that block is configured against. Agents use it to run a bulk import on the workflow's schedule rather than waiting for Loopify's own.

Data Collections

10
  • Get Data Collections Retrieves the data collections defined on the account, each with its own field keys and types. The returned identifiers are required by every record operation, so this is normally the first call in a data sync.
  • Get Data Collection Retrieves one collection with its name, ID structure and full field definition. Agents call it to confirm the attribute keys and types a collection expects before writing rows into it.
  • Create Data Collection Creates a collection with a declared set of typed fields and an ID structure naming how its records are uniquely identified. Define the schema once here, then push rows in with the record operations.
  • Update Data Collection Updates the name, ID structure or field definition of an existing collection. Because this changes how future records are validated, it belongs in a deliberate schema change rather than in a routine sync.
  • Get Data Collection Records Retrieves the records in a collection, each with its contact link, external identifier and attribute values. Used to read back the orders or bookings a workflow pushed in, so personalisation can be verified against real rows.
  • Get Data Collection Record Retrieves a single record by its Loopify identifier with every attribute value. The natural spot check after an import that reported success but produced surprising email output.
  • Create Data Collection Record Creates one record in a collection and attaches it to a contact. Supplying an external identifier makes the row matchable later without storing Loopify's identifiers.
  • Import Data Collection Records Imports many records in one call, and a single import can span several collections at once. This is the operation a nightly order sync should use rather than looping creates.
  • Update Data Collection Record Replaces an existing record with the values supplied, addressed by its Loopify identifier. Keeps a mirrored order or booking row in step when the source system revises it.
  • Delete Data Collection Record Deletes one record from a collection. Used to reverse a cancelled order or booking so personalisation stops referencing it in live campaigns.

Incoming Events

2
  • Get Incoming Events Retrieves the incoming event definitions on the account with their trigger type, draft or active status, payload schema, sample payload and mapping readiness. Agents call it to confirm an event endpoint exists and its mapping is complete before sending anything into it.
  • Ingest Incoming Event Posts a payload to a configured incoming event so Loopify processes it through that event's field mapping. This is the general purpose inbound channel for behavioural data from systems with no direct Loopify integration.

Events

3
  • Get Event Types Retrieves the behavioural event types recorded on the account, such as page views, purchases or email interactions. The returned type names are what the query filters are built from.
  • Query Events Runs a filter document against the behavioural event store and returns the matching events. Used when a workflow needs the events themselves rather than just a count.
  • Count Events Returns only the number of events matching a query. This is the cheap way to test whether a condition holds before running the full query or acting on an audience.

Frequently Asked Questions

What can FlowRunner do with Loopify?

FlowRunner agents can run Get Current User, Get Contacts, and Get Contact in Loopify, plus 25 more actions.

Does connecting Loopify to FlowRunner require OAuth?

Yes. Loopify connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.

Can Loopify trigger a FlowRunner workflow automatically?

Loopify doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Loopify

$100 in credits. No card required. Connect in minutes.