Product · DB-native

Your database fires the message.

Connect Supabase or Postgres. The moment a row changes, Minimo sends the email, WhatsApp, or SMS. No syncs. No code.

Latency

Minutes vs milliseconds.

Reverse ETL was built for analytics warehouses. Activation needs real-time.

Reverse ETL5–30 minutes

Polls your DB.

Snapshots the warehouse on a cron. Acts on yesterday's state.

DB row changes
+0s
1
Cron job
+5min
2
Sync layer
+12min
3
Customer.io
+18min
Message sent
DB-native<1 second

Listens to your DB.

Supabase Realtime + Postgres logical replication. Fires the moment a row changes.

DB row changes
~50ms
1
Minimo Realtime
~130ms
Message sent

How it works

First flow live in 10 minutes.

1

Connect

Read-only role + connection string. Supabase one-click.

Connected
2

Map

Minimo reads your schema. Confirm what's a user, what's a plan.

public.usersContacts
public.subscriptionsPlan
public.invoicesRevenue
3

Trigger

Pick a DB event. Pick a channel. Done.

trial_ends_at − 3 days
Send email

Triggers

Anything in your DB can fire a flow.

No event tracking SDK to install. Your existing columns are the events.

Trial expirytrial_ends_at − 3 days
Plan upgradeplan changed to 'pro'
Payment failedsubscription_status = 'past_due'
Inactive userlast_active_at > 30 days
Low creditscredits < 100
Stuck onboardingsigned_up_at > 24h AND activated_at IS NULL

AI Schema Analyzer

AI reads your schema. Suggests the flows.

Point Minimo at your DB. The AI maps your tables, infers what your users look like, and proposes three automations using your real column names — ready to review.

public.users
Contacts
idemailplantrial_ends_at
public.subscriptions
Plan
user_idstatusrenewed_at
public.invoices
Revenue
amountpaid_atuser_id
Suggested flows
Trial expiry reminder — 3 days before trial_ends_at
Payment failed recovery — when status = past_due
Welcome series — when users.created_at fills

Dynamic Custom Fields

Custom fields that never go stale.

Define a custom field as a SQL query against your DB. Minimo evaluates it the moment a message fires — never cached, never drifting from your real data.

AS
Alice Smith
alice@acme.com
planpro
signed_up_at2025-12-04
last_active_at2026-04-29
Dynamic field
Live
last_purchase_amount$129.00
SELECT MAX(amount) FROM orders WHERE user_id = $1

What this is NOT

Honest about scope.

Not a CDP.

No identity resolution, no audience builder, no warehouse sync. If you need Segment, keep Segment.

Not a data warehouse.

We don't store your user data. We read it real-time. Marketing data (opens, clicks, replies) lives in Minimo.

Not raw analytics capture.

Keep Hotjar or PostHog for session capture. Minimo aggregates their signals with your DB so you can ask the AI: "how many pro users visited /pricing?" — and get the answer.

Connect your database in 2 minutes.

14 days · all features · no credit card