ridgeline
Flows

Send messages
that land

A lifecycle messaging platform for teams who build email, push, in-app, and SMS journeys straight from live product data.

  • 21-day trial
  • No card needed
  • Cancel whenever
Portrait by Jake Nackos on UnsplashPortrait by Korede Adenola on PexelsPortrait by Thanh Xuan Nguyen Ly on PexelsPortrait by Ben Khatry on Pexels +24
Preferred channel?
Try push
Send push
Wait for open
Send reminder
+
Try SMS
Send SMS
Hold 1 day
+
Send reminder
Try in-app
Send in-app
Hold 2 days
+
Naomi Sandoval
Hi first_name,

Saw you opened the new routing board. Want a 10-minute tour before your team leans on it?

Open rate24.6%
Click-through18.3%
Conversion6.4%

Bounce rate is 0.4%

Spam rate is 0.02%

Flow goal…
Feedback···
Upsell···
Win-back···
Cross-sell···
Onboarding···
Welcome···
Renewal···

Trusted by 7,400 teams worldwide to send data-driven messages every day

Visual flow builder

Ship campaigns without filing a ticket

Build layered, multi-step journeys you can actually read — and change them the afternoon you need to.

Take the builder for a spin

One flow, many paths

Route every person by what they did, not by which list somebody remembered to update.

Tune each path and see which one performs with multivariate tests.

Split on any attribute, event, or model output — nested as deep as you need.

Trial ends in 7 days
Portrait by Prince on PexelsPortrait by Foto Sushi on PexelsPortrait by Jake Nackos on UnsplashPortrait by Korede Adenola on Pexels +24
Cancelled subscription?
Yes
Send win-back email
Wait for open
Win-back reminder
Re-subscribed?
No
Send upgrade email
Hold 1 day
Send upgrade SMS
Wait for read

Model steps

Give every flow some judgment

Call a language model inside a step, feed it real customer data, and let it decide at send time — no engineering queue.

Your prompt, your context, your format

No rigid action library. You write the instructions, pull in live audience signals, and shape exactly what comes back.

Run any prompt inside a flow step with customer and event data as context.

Write results back as flow or profile attributes to shape copy and branching.

Trigger
Enter Signed up
Model step
Drafting the next step…
Exit

Copy written at send time

Generate subject lines, product picks, or a tailored paragraph for each recipient based on behaviour, preference, and lifecycle stage.

Live intent scoring

Score accounts on recent sessions, firmographics, and engagement. Push the hot ones to sales or start a nurture track automatically.

Signal detection and routing

Classify intent from survey answers, support threads, or in-product behaviour, then send people down the path that fits what they asked for.

Every channel, one thread

One conversation, wherever it happens

Drop the channel silos. Build a single interaction across whatever mix of touchpoints your customers actually use.

Automated flows: build cross-channel campaigns that follow one thread instead of five disconnected sends

One-time sends: schedule a single newsletter or fire an API-triggered broadcast at any audience you can define

Transactional messages: send password resets, receipts, and shipping notices over email or push from the same templates

Portrait by Foto Sushi on Pexels Portrait by Jake Nackos on Unsplash Portrait by Ben Khatry on Pexels Portrait by Prince on Pexels Portrait by Thanh Xuan Nguyen Ly on Pexels Portrait by Korede Adenola on Pexels

Drag-and-drop or hand-written

Code an email from scratch, use the block editor, or start from one of our email and in-app templates.

from ridgeline import Client
client = Client("API_KEY")
req = SendEmailRequest(
  to="dana@northbay.co",
  transactional_id=7,
  message_data={
    "reset_link": url,
  },
Passkey
protected chat

Variables that read live data

Use attributes and logical statements to assemble a message per person, right as it goes out.

Hi first_name,
Nice work finishing
course_name on finished_on.
Your streak in track_name is holding, and we
would love to see you in next_course.

Localization

Deliver content in whichever language each customer picked, with per-locale variants.

Portrait by Thanh Xuan Nguyen Ly on Pexels Portrait by Prince on Pexels Portrait by Ben Khatry on Pexels

Preference center

Let people choose exactly which messages they want to keep receiving.

Product news
Rewards updates
Unsubscribe from everything

Mobile and web together

Run one cross-channel strategy across your app and site from a single platform.

Bring your data

A data model that keeps up

Trigger timely, well-aimed messages against an up-to-date picture of every person.

Integrations your engineers won't fight

From warehouses to analytics tools, connect the databases and applications you already run your business on.

Pipe events in from any warehouse or CDP, or post straight to the API.

Ship the web and mobile SDKs to identify people and target messages.

flowlink tallystack

Behavioural segmentation

Use live data and open-ended conditions for lists, triggers, filters, conversion goals, and more.

Unbounded attributes

Store as many data points per person as you need — names, preferences, plan state, anything you track.

Webhooks

Receive data from any external application and trigger campaigns without adding a third-party tool.

Ad audience sync

Keep your segments in step with the major ad networks so paid and lifecycle stop contradicting each other.

Custom objects

Sharpen targeting with data like the company someone works for, courses they took, or properties they own.

Anonymous events

Track behaviour before someone signs up or logs in, then fold it into onboarding once they do.

Experiments and analysis

Test, then trust the number

Watch the health of your messaging: leaderboards, segment membership, running experiments, and delivery metrics you can spot a dip in.

Reporting: run custom reports or export raw rows to dig into campaign performance yourself

A/B testing: try variations of content and cadence, inside flows and on one-off broadcasts

Conversion goals: define the metric that matters per campaign and track it end to end

Dashboards: compare metrics across campaigns, broadcasts, messages, links, and conversions in one view

Deliverability: keep a healthy sending reputation with dedicated IPs and warm-up guidance built in

A faster way to hand off work

Shared queues, one owner per thread, and a trail your teammates can actually follow.

See what changed
Variant A 9.6% Click rate
Variant B 13.8% Click rate

Resources

Build messages people remember

7,400 teams run their lifecycle programmes on Ridgeline and keep customers close.

Customers rate us

Chosen by product-led teams

RReviewers'
Pick
GROWTH
INDEX
500
Ridgeline does what the other lifecycle tools couldn't — take in millions of events a day, segment through them almost instantly, and let us act on any of it inside a flow.
Portrait by Jake Nackos on Unsplash Petra VandermeerLifecycle Lead arbor
We were surprised how far our marketers got without us. Engineers still live in the platform, and both sides ship what they need without stepping on each other.
Portrait by Korede Adenola on Pexels Devon OkaforPlatform Engineer Sentrel
It's become a load-bearing piece of our marketing and operations stack. Flexible and deep, but simple enough that anyone on the team can build a real journey.
Portrait by Thanh Xuan Nguyen Ly on Pexels Rina CastellanosOperations Lead Kestrel
We moved off a stack of four tools. The reporting alone paid for the switch inside a quarter, and our send calendar finally makes sense.
Portrait by Ben Khatry on Pexels Aleksy NowakFounder Nimbus
GDPR compliant
SOC 2 Type II
Reviewers' pick
Security first
HIPAA compliant

Put your data to work

  • 21-day trial
  • No card needed
  • Cancel whenever