Product

Changelog

Customer-visible changes to the Ranla API, dashboard, and documentation. Deep how-tos live in the docs.

Ranla's brain: bring your own model key

Choose what Ranla thinks with in Settings › Ranla's brain: Included (her own models, part of your plan), or your own OpenRouter, Anthropic, OpenAI or Google key. Ranla tests a key with one tiny call before saving it encrypted, and never shows it again. With your key, her chat, writing and background work, the heartbeat included, is billed by your provider and takes no credits; Usage and billing lists those calls. Her decisions still run on her own tuned model, at no cost to you. If the key runs out of credit or stops working, Ranla stops that work and tells you in Needs you, then picks up once it works again, unless you turn on "If my key fails, use Included". From a terminal: ranla brain key <provider>.

Drive Ranla from your coding agent with ranla-cli

Claude Code, Codex, Cursor or any agent with a terminal can now work your Ranla account through ranla-cli. Run npx -y ranla-cli@latest login and approve the link in your browser: you pick the workspace and the CLI saves its own key, so nobody pastes one. Then ranla run gives the agent the same commands Ranla uses in chat (campaigns, segments, pages, ads, Reddit and more) under the same roles, plan and credits. Anything that sends, publishes or spends waits as an approval card you decide with ranla approvals or in the app.

Go to the docs →

Site audit fixes, sent to your coding agent with where to change them

A technical fix from the site audit, like duplicate titles or a missing canonical, can now go to your own Cursor or Claude. Ranla reads your repo first and writes down where each page gets its value: the file and line, which other pages read a shared value, and which pages take it from your CMS, so you change those there. You read the brief, send it, and the pull request shows on the action. You can ask Ranla to send one from chat too.

Autopilot: Ranla runs every desk on her own

Set How she works to Autopilot and Ranla does the daily work herself: she answers routine customer emails, comments on the Reddit threads that rank and get cited, writes and publishes search pages to your site, acts on AI search gaps, and schedules your email plan. Before anything goes out in your name she reviews it the way you would, rewrites it once if it is close, and holds it if it is not. She keeps a steady pace on Reddit, never names the product in more than one comment in three, and stops and tells you if a community removes her work. Refunds, legal questions and complaints still come to you. You get one summary a day of what she did and what needs you, and every decision she made is listed in Settings → Ranla.

Testimonials: quotes from your own users, with their yes

The new Testimonials desk collects quotes from your users and shows whether they help. Ranla finds praise people already sent you in replies and feedback, and asks paying users at a moment of success, with a short email from you to each person, once. Nothing is quoted until the person says yes to the exact words and how they are named, and their yes is kept with the quote. You can also share a collection page on your brand where users leave a quote themselves. Put a wall or a single quote on any page with one embed. Some visitors are held out, so after two weeks you see signups and payments with the widget against without it. Retire or withdraw a quote and it leaves every widget at once.

Ranla runs a play on a confirmed pattern

When a pattern holds and at least 50 people match it, Ranla drafts a campaign for them with a holdout and a conversion goal. The first play on a pattern waits for your team to approve it. If that play beats the holdout, the pattern is marked proven and later plays follow your usual send settings. If the window closes with no lift, Ranla retires the pattern.

Patterns: Ranla finds what predicts conversion and early churn

Every week Ranla compares your users to find the early behaviour that separates the people who pay, or cancel in their first weeks, from the people who don't, such as "people who connected an integration in their first 3 days canceled half as often". Each pattern shows the numbers behind it, and Ranla only acts on one after it holds on newer users, then watches for the people who match it right now. See them on the new Patterns tab under Customers, with what Ranla can't test yet and what would fill the gap. It works from your product events and Stripe, stays inside your workspace, and you can switch it off at any time.

Customers: Ranla ranks your users and knows who to ask, expand, save and activate

Your contacts now have a desk of their own, Customers, with People, Lists and Segments. Ranla ranks everyone by how much they use your product and what they pay in Stripe: advocate-ready (heavy users who have paid for a while, the ones Ranla asks for a referral), expand-ready (heavy users on a smaller plan), at-risk (use dropping while paying) and stuck (signed up, never got going). Open anyone to see their active days, last visit and billing, and why Ranla ranked them. Ranks refresh every six hours, and Ranla targets them directly in segments and campaigns.

Attach any file in the chat

The paperclip in Ranla's chat now takes any file up to 200 MB, not only images. Attach a CSV and ask Ranla to import the contacts or to stop emailing everyone on it: she works from the whole file and keeps every column, and a big list runs as an import you can follow on Imports. Attach a PDF, a Word document or a text file and she reads it, and reads on when a long one needs it. Files you attach are private to your workspace. Images still go to your library, ready to use in an email.

Ranla shows a plan before it writes an SEO page

Every SEO page now starts as a short plan on a card: what Ranla found, what it would change, what it will leave alone, and at most two questions only you can answer. Nothing is written until you say go, with Write it on the card or "go" in the chat, and the plan you agreed to is what gets written. For a page already on your site, the plan changes only its title, H1 and meta description unless you ask for the copy itself to change. Tell Ranla "not this one" and the page is dropped for good.

Run your own affiliate program

The new Affiliates desk runs a partner program on your own Stripe. Partners join on a branded portal at your subdomain or your own domain, get a ?via= link and an optional coupon code, and see their clicks, signups, customers and earnings. Ranla reads your Stripe invoices and writes each commission: percent or flat, one-time or recurring, tiers, per-product rates and two-tier. A refund or dispute during the hold reverses it on its own. Payouts go from your Stripe balance to each partner through Stripe, or by PayPal, Wise or a manual transfer, and every run waits for your approval unless you turn on auto-pay with a cap. Partners, referrals, commissions and payouts are in the API and SDK, with webhooks for each event.

Go to the docs →

Send SEO pages to your own Cursor or Claude

Connect Cursor or Claude under Settings → Integrations → Coding agents and pick your website repo. Each SEO page Ranla drafts gets a Send to Cursor or Send to Claude button: your agent builds the page on your account and opens a pull request for you to review. Ranla follows the run in the chat and links the pull request when it is ready.

Go to the docs →

One conversation with Ranla, everywhere in the app

Ranla is now one conversation across every desk. Moving from Home to SEO or Reddit changes what you are looking at, not who you are talking to: the chat, a reply still being written, and everything you agreed earlier stay put. Ranla knows which desk you are on, so "this" and "here" mean what you have open, and you can ask for any channel's work from any desk.

Hand Ranla work to do in the background

Ask Ranla to research, draft or plan something that takes a few minutes and she hands it to a background agent, then keeps talking with you. A card in the chat shows the job running and the steps it has taken, and the result posts back into the conversation when it is done. Stop it from the card at any time. Anything that sends, spends or publishes still waits for your approval.

Paid plans include credits

Ranla paid plans are prepaid credit buckets. Every feature on every plan, more credits as you commit. One credit is a chat or 100 emails; heavier work spends more. Extra credits are a dollar amount you set in Billing. Settings → Billing → Usage shows a chart of this period and an inventory of where credits went (you vs Ranla). Sending and chat pause when the pool is empty.

See what search says, and ship the pages worth building

Connect Search Console and Grow → SEO shows what your site actually earns from search: queries, movers, and the pages carrying the money. Ranla judges which page ideas are worth building and prices every fix and proposal in revenue rather than clicks, so the ranked Actions list says what to do next and what it is worth. Approve one and Ranla drafts the page for you to edit and publish. Competitors shows who takes the queries you want and which of their pages does it. No traffic history yet is fine. Ranla starts from the money keywords your product can honestly serve.

Go to the docs →

Edit the whole campaign email on one canvas

Logo, headline, body, call to action, images, uploads, merge fields, and bulleted or numbered lists are now edited in place on the campaign itself. A product template is a starting layout copied onto the send, not a wrapper you fill in and preview somewhere else. Hand-editable HTML is still there when you want it.

Ranla finds and answers Reddit threads

Grow → Reddit scans the phrases your customers type, scores every thread, drafts the reply with safety checks, and files the people who asked for what you sell as leads with a message ready to send. Connect an account to post what you approve, or copy and post yourself. Rankings shows the threads Google already sends people to, and what ChatGPT, Perplexity and Google AI answer when a buyer asks, with the Reddit threads they cite instead. A posted reply is checked on day 1, 3 and 7 to make sure it stayed up.

Go to the docs →

Make campaign and ad images in Creative, from your brand kit

Creative gives you a library, stock photo search, and Compose: build an image for a campaign or an ad lander using your own colours, type, and logo, and it renders in the background into the library. Brand is where that comes from, with Style, Voice, Profile, Product, and Competitors seeded from your own website. Ranla reads Brand before it writes anything, so drafts sound like your business instead of a guess.

Go to the docs →

See email and paid conversions on Revenue

Home and Grow → Revenue lead with last-touch wins by channel. Dollars show when the conversion has an amount; otherwise you see the count. Payback and CAC stay on Revenue as supporting ads math.

Go to the docs →

Approve Ranla’s work from Slack

When Ranla parks something for you, like a campaign to schedule, an ad change, or a reply it is not confident enough to send, it posts the card to Slack with the draft and Approve, Adjust, and Open buttons. Decide there and the work carries on. Resolve it in the app and the Slack card closes itself.

Go to the docs →

Events splits into Live and In flight

Grow → Events has two tabs. Live is the events already arriving, with volume and recent activity. In flight is the instrumentation Ranla has proposed or already opened a pull request for, so a long wiring list no longer buries what is actually firing.

Go to the docs →

See if growth pays back on Grow → Revenue

Connect Stripe and Google Ads to see Paid LTV, CAC, and payback on one scoreboard. Incomplete names what’s missing, including identify after signup when ad clicks aren’t stitching to customers.

Go to the docs →

Connect Google Ads and run Paid from Ranla

Connect your ad account in Settings → Integrations. Grow → Paid shows spend and structure beside the conversions Ranla actually verified. Ranla sends those verified conversions back to Google and keeps your lifecycle segments in sync as a matched audience, so Google optimizes toward activations instead of raw signups. Ranla can propose campaigns and edits; live spend only changes after you approve, and new campaigns are created paused.

Go to the docs →

Talk to Ranla while you work

On Paid, Campaigns, Audience, and other growth pages, Ranla sits in a side column on the same conversation as Grow. Ask about what’s on screen without leaving the page.

Edit what Ranla knows about your product

Brand → Sources shows the product memory from your last repo scan. Read it, fix it. Ranla uses it for strategy and copy.

Go to the docs →

See your website traffic in Acquisition → Analytics

The snippet already on your site now records visitors, visits, pageviews, bounce rate, and engaged time. Open Acquisition → Analytics for any date range, break traffic down by channel, referrer, campaign, page, country, browser, or device, and click a row to filter the whole page. Revenue sits on the same chart, with the broadcasts you sent pinned to the days they moved it.

Go to the docs →

Collect email on on-site banners and modals

Choose Collect email on Growth → On-site to show an email field. Valid submits create a contact, credit Identified, fire on_site.email_captured for automations, and optionally go to an After submit URL. Set when to show (exit intent, scroll, delay), use separate messages per path, and open Acquisition to see which pages create contacts.

Go to the docs →

Send from PostHog, Amplitude, or Mixpanel moments you already track

Connect the analytics you already use, pick which events matter, and Ranla copies them for people with email into its own ledger, so you can segment, automate, and send without a GitHub PR. History from the last 30 days lands quietly; new events can trigger automations.

Go to the docs →

Connect Amplitude or Mixpanel the same way as PostHog

Paste Amplitude or Mixpanel credentials in Settings → Integrations. Ranla can read which product events already fire, look up one person, and once you mark moments actable, sync them for sends.

Go to the docs →

Connect PostHog so Ranla can read what people already do

Paste a read-only PostHog key in Settings → Integrations. Ranla can see which product events already fire and what one person did this week, then mark moments actable when you are ready to send on them.

Go to the docs →

Ranla starts with a plan

After the welcome conversation, Ranla opens your first work thread by reflecting what it learned, proposing the first lifecycle flows, and asking whether to implement them.

Stop a Ranla turn while it is running

While Ranla is working, Send becomes Stop. Click it (or press Return) to cancel the current turn. Pending approvals and in-progress sends do not continue, and you can send a new message right away.

Invite your team and choose what each person can open

Owners can invite members to a workspace and set access one module at a time, as Full access, Read only, or No access, across email, audiences, campaigns, analytics, billing, and the rest. A read-only member sees the work without being able to send or change it. Switch between workspaces from the account menu.

Drive Ranla from Claude or Cursor over MCP

Connect supersendtx-mcp or ranla-mcp and message Ranla without opening the dashboard: start a durable thread, send turns, list and approve gated actions, and use read-only growth tools. Mutations still go through Ranla so approvals stay in the loop.

Go to the docs →

Import large contact and suppression CSVs

Upload migration-sized CSV files from Audience or Suppressions. Imports run in the background and show up on Monitor → Imports, with a scope picker for suppression lists so marketing opt-outs do not block transactional mail.

Edit campaign copy yourself

A campaign’s Content tab is now editable: change the subject, preheader, body and template slots in place and save. Works while a campaign is a draft, scheduled or paused, and pending recipients pick up the new copy on the next send.

npm package ranla

Install the Ranla API client with npm i @supersend/ranla. new Ranla(key) sends to api.ranla.ai by default. Existing supersendtx installs are unchanged.

New API keys start with rnl_

Newly created API keys start with rnl_. Existing stx_ keys keep working, and both prefixes are still accepted on the API.

Reply to inbound mail from the dashboard

Inbound is now an inbox: messages are grouped into conversations, you can read the whole thread with your own replies in it, and reply or reply-all without leaving SuperSend TX. Threads can be marked unread or archived.

API keys with stx_ or rnl_ prefix

Bearer API keys may start with stx_ or rnl_. A rnl_ key with the same secret after the prefix authenticates as the existing key. Official SDKs and MCP accept both prefixes.

Preview and test campaign emails

On a campaign’s Content tab, Preview shows the email as a chosen recipient would see it, and Send test delivers a copy to any inbox using that contact’s details.

Export suppressions to CSV

Export the current Suppressions filters from the toolbar. The file lands on Monitor → Exports and stays available for 30 days.

Export inbound messages to CSV

Export the current Inbound filters from the toolbar. The file lands on Monitor → Exports and stays available for 30 days.

Export emails to CSV

Export the current Emails filters from the toolbar. The file lands on Monitor → Exports and stays available for 30 days.

Export campaigns to CSV

Export the current Campaigns filters from the toolbar. The file lands on Monitor → Exports and stays available for 30 days.

Export Audience contacts to CSV

Export the current Audience contacts filters from the toolbar. The file lands on Monitor → Exports and stays available for 30 days. You get an in-app notification when it is ready.

Send a real test email from an automation

On an automation’s test panel, Send test email delivers a real message to the address you enter and skips delays, without activating the flow. Dry-run still simulates without sending.

Install wires Audience contacts at signup

When SuperSend TX setup instruments your repo, it upserts contacts with POST /contacts at signup (plus lifecycle events). CSV import stays for backfill. Live users should come from your product.

Ranla can read your codebase, if you allow it

Ranla asks before reading source files. If you allow it, it studies the repo so it can write product copy and make decisions from the actual product, not just commit titles. Turn it off anytime in Settings → Integrations.

Import contacts from CSV

Drop a CSV on Audience, or add contacts from your app with POST /contacts. Extra columns become attributes you can segment on.

Paste HTML templates in the dashboard

Create a template as Paste HTML (or keep using the visual builder). Raw-HTML templates now include preheader and Test send, and switching to the visual builder asks for confirmation before deleting your HTML.

Automation dry-run tests

Test a draft or paused automation from the canvas without activating it. Dry-run skips delays/waits and stubs email/SMS so you can verify the flow before going live.

Free production sending

After you verify a domain and add a payment method (no charge until you upgrade), Free includes real sends to any recipient: 3,000/mo · 100/day · 1 domain. Upgrade when you need more volume.

Public Nodemailer transport source

supersendtx-nodemailer now ships the full transport implementation in its public GitHub repo (not a re-export stub). Prefer import from supersendtx-nodemailer; supersendtx/nodemailer still works.

Username login and profile settings

Sign in with your email or a username on the password form. Settings → Profile lets you set a username, update your name, and set or change your password with an email verification code.

Symfony Mailer transport

composer require supersendtx/symfony-mailer for a first-class Symfony Mailer transport (DSN supersendtx+api://…). Laravel’s mailer uses the same package under the hood.

Clerk and Payload email adapters

Deliver Clerk email.created webhooks with supersendtx-clerk, and wire Payload 3 email with supersendtxAdapter from supersendtx-payload. Guides at /guides/clerk and /guides/payload.

Auth.js / NextAuth email provider

Drop-in magic-link provider for Auth.js. npm install supersendtx-authjs, add SuperSendTX({ from }) to providers, set AUTH_SUPERSENDTX_KEY. Same pattern as other Auth.js email providers; requires a database adapter.

Guided setup: test, domain, and code in one place

New accounts land in a full-screen setup flow: five quick questions, then a hub with the three things that actually matter: send a test email, connect your sending domain, and add SuperSend TX to your code. Do them in any order. The domain and the code both finish in the background, so you can start them and come back; the hub keeps their status and is always reachable from Guided setup in the sidebar. On the code step, connect the SuperSend TX GitHub App and an agent installs the SDK, adds the environment variable, wires one real send path, and opens a pull request you review like any other. Inference is on us, no API key needed. Prefer to wire it up by hand? That tab is still there.

Visual template builder v2

Block editor with slash menu, drag reorder, versioned publish and restore, starter gallery, global CSS, read-only Code tab, and templates push from git. Sends resolve the published version. Draft edits never break live traffic.

Official SDKs for Python, PHP, Ruby, and Go

The Node client is no longer the only one. supersendtx is on PyPI and RubyGems, supersendtx/supersendtx is on Packagist, and the Go module is at github.com/Super-Send/supersendtx-sdks/go, plus a supersendtx/laravel package with config and a facade. Every client wraps the same REST contract, so from / to / subject / html works the same everywhere.

Account-scoped SMTP relay

Create SMTP credentials in the dashboard and send through smtp.supersendtx.com with the same domain verification and billing rules as POST /emails, for Supabase custom SMTP, Clerk, and legacy apps.

Supabase Auth integration guide

Docs and marketing page for wiring Supabase Send Email hooks to SuperSend TX via an Edge Function: signup, reset, magic link, and invite mail on your domain.

Webhook test events in the dashboard

Send signed test payloads from /webhooks, see per-endpoint HTTP results, and verify SuperSendTX-Signature handling without leaving the app.

Inbound MX on DNS apply

Apply DNS now provisions inbound MX for Cloudflare and GoDaddy when inbound is enabled on a domain. GoDaddy credentials can be stored in Settings → Integrations like Cloudflare.

Smithery listing

SuperSend TX MCP is published on Smithery (SuperSend/supersendtx-mcp) with OAuth connect for agent toolchains.

Hosted MCP OAuth

Remote MCP clients can authorize via OAuth at app.supersendtx.com and connect to mcp.supersendtx.com without pasting API keys.

Starter template gallery

Five published starters (password reset, verification, welcome, receipt, team invite) with copy-into-account from the templates dashboard.

React Email guide

Docs guide for sending with the react field, peer dependencies, and preview workflow using create-email.

Hosted MCP + expanded tools

mcp.supersendtx.com serves streamable HTTP MCP with Bearer stx_ auth. MCP tool surface expanded across domains, webhooks, templates, and deliverability.

Agent Skills

Official Agent Skills for Cursor and compatible agents, plus /ai/agent-skills docs and .well-known discovery.

Inbound email dashboard

Received messages list and detail view for domains with inbound enabled, with email.received webhooks.

Read the docs · Platform · Pricing

Questions

Changelog questions

Where does Ranla publish product updates?

On this changelog for customer-visible ships. Each note has its own page under /changelog, and the list is the public record of what changed in the product.