Launch Offer: up to 50% off

This item is 50% off: $24.50 instead of $49

Ends in
--
Days
--
Hrs
--
Min
--
Sec

DEV3 Relayra – WhatsApp & SMS Marketing SaaS Laravel Script with Template Approvals, Broadcasts, Flows & Inbox

A multi-tenant WhatsApp Business and SMS marketing platform on Laravel 12 and Filament 4: opt-in proof, approved templates, broadcasts with throttling and quiet hours, chatbot flows, a shared inbox and a REST API. Web installer and demo data included. No mobile apps.

by DEV3 TechnologiesVerified Author(0) 0 sales 0 viewsUpdated 08 Nov 2026

Video tour. Pick a section below to browse 102 screenshots in 9 sections.

App & phone tours

Tap play to watch each app. Nothing downloads until you do.

  • Mobile web1:03

Relayra is a multi-tenant messaging platform that you host yourself, built by DEV3 Technologies on Laravel 12 and Filament 4. Each business is a workspace that connects phone numbers on two channels (a WhatsApp Business Cloud API connection and SMS gateways), collects opt-ins with proof, sends approved templates as broadcasts, runs chatbot flows and answers customers in a shared inbox. You sell plans and credit packs; messaging cost is shown to customers as credits.

What a workspace gets

  • Opt-in and consent. Public opt-in pages with double opt-in, a printable poster with a QR code, a preference page for each contact, CSV import with a consent column, and append-only consent rows that keep their proof. STOP words (including Spanish, French, Portuguese and Arabic) opt a contact out of one channel, send a single confirmation and skip every queued row.
  • Templates with review states. Draft, submitted, approved, rejected, paused and disabled, with rejection reasons, a phone-frame preview and versioning: editing an approved template creates the next version as a draft, and scheduled broadcasts keep the version they were scheduled with.
  • Broadcasts. A four-step wizard, segments with a live count, variable mapping, quiet hours at the recipient's local time, a per-minute throttle, a number tier limit, credit reservation, a live progress bar, and a funnel from sent to delivered to read. Each recipient is sent exactly once, even with several workers.
  • Shared inbox. Three panes on a desktop, two screens on a phone. Claim, reassign, notes, tags, quick replies, optional round-robin assignment, and the 24-hour window rule: when it closes, the composer switches to a template picker.
  • Chatbot flows. A canvas editor with Message, Buttons, List, Ask, Condition, Set attribute, Wait, Webhook, Handover and End nodes, validation on publish, a test run, a sessions log and keyword triggers.
  • SMS. Live encoding, character and segment counts (GSM-7 and UCS-2) that match the server.
  • Conversation Pulse. A flat 7 by 24 heatmap of inbound and outbound volume by hour, plus KPIs and reports (delivery funnel, response times, agent performance, opt-in and opt-out trend, credit usage).
  • API and webhooks. Workspace API keys with scopes, an OpenAPI document, signed outbound webhooks, and signed inbound provider webhooks.

For the operator

A marketing site (pricing, features, API reference, legal pages), self-service sign-up with a trial, four plans with feature flags and limits, credit packs bought through the payment gateway, invoices, an abuse queue for broadcasts with a high opt-out rate, a webhook log, audited view-only impersonation, per-contact and per-workspace data export and erase.

What you should know before you buy

  • Delivery is simulated in the demo. Every messaging driver has a deterministic simulated version that also runs template review and delivery receipts. The Meta Cloud API driver and the Twilio, Vonage and MessageBird drivers are present but need your own credentials and testing before you take real traffic; they are never called in the demo or the tests.
  • You are the merchant. Plans and credit packs are paid to you through the platform's payment gateway; workspaces cannot connect their own payment account in v1.
  • Real approval and quality ratings come from the provider. The simulated review only applies fixed rules.
  • Live updates need the Reverb websocket server; without it the inbox polls every 10 seconds.
  • Name. Relayra is a working name checked by a web search only, not a trademark clearance. Check it before you launch under it.
  • No hosted demo. The brand, people, numbers and addresses in the screenshots are fictional.

Quality checks

Relayra 1.0.0 passed the seven release gates of the DEV3 Laravel suite on the final code: static analysis (Larastan level 6, 0 errors), 271 Pest tests with 2,353 assertions, a front-end size budget (0.8 KB of JavaScript and 17.2 KB of CSS gzipped on public pages), migrations and seeding on MySQL 8 and SQLite, a headless-browser pass over 63 pages and 18 happy paths with 6 race checks on MySQL (two schedulers on the last credits, two sender workers on one broadcast, out-of-order status webhooks, two agents claiming one chat, two answers into one flow session, and a STOP racing a send), an installer test from the package, and a secret scan.

How it's built

Architecture, stack, key decisions and the quality gates DEV3 Relayra passed before release.

The engineering behind Relayra: simulated and real provider drivers behind one interface, a claim-by-update broadcast sender, status events that never move backwards, a credit ledger with reservations, and a fixed lock order proved by MySQL race checks.

The problem it solves

A messaging platform looks like a send button until the rules arrive. A customer who says STOP must never get another message, even while a broadcast is mid-flight. A status webhook can arrive before the message id is stored, or twice, or out of order. Credits must be reserved before sending and never go negative when two people schedule at once. Free-form replies are allowed for 24 hours after the customer's last message, judged at the second.

Architecture and approach

Relayra is a Laravel 12 application with a Filament 4 operator panel at /admin, a workspace console at /console, Blade pages for the marketing site and the opt-in and preference pages, and a REST API. Drivers sit behind interfaces with a deterministic simulated version. The broadcast sender claims recipient rows with a conditional UPDATE, uses a unique client key per recipient and re-reads consent under the contact row lock immediately before the provider call. The status reducer ranks queued, sent, delivered and read and never moves a message backwards; roll-up counters change only when the status really changes. Credits are an append-only ledger with a locked monthly usage row, reservations for scheduled broadcasts and refunds for failed sends. A written lock order (usage, broadcast, channel, conversation, flow session, contact, message) is recorded and checked in a test.

Quality gates and results

Relayra 1.0.0 passed the seven release gates on the final code: Larastan level 6 with 0 errors, 271 Pest tests with 2,353 assertions, 63 pages and 18 happy paths in a headless browser, and 6 race checks against MySQL, followed by a ledger reconciliation command.

Tech stack

Area Technologies
Application Laravel 12, Filament 4, Blade, REST API
Messaging Driver interfaces, Simulated providers, Signed webhooks, SMS encoding maths
Concurrency Claim by UPDATE, Fixed lock order, MySQL race checks
Quality Pest, Larastan level 6, Headless browser smoke, Installer test

Inside the build

Home: A shopkeeper, a phone and a live flow editor: the pitch in one screen. Home — A shopkeeper, a phone and a live flow editor: the pitch in one screen.

Dark mode: The whole site follows the visitor's colour scheme. Dark mode — The whole site follows the visitor's colour scheme.

Guides & articles

Practical guides and engineering write-ups for DEV3 Relayra.

WhatsApp and SMS marketing software: 7 things to check before you pick one

Last updated
WhatsApp and SMS marketing software: 7 things to check before you pick one: DEV3 Relayra

A messaging platform is not a send button. Consent, review, windows and delivery receipts all have rules, and the mistakes show up as blocked numbers and angry replies. Here are seven things to check before you pick software, with DEV3 Relayra as the worked example.

Relayra home page: a shopkeeper with a phone, a flow editor card and a chat preview

Video tour of Relayra

1. Can you prove every opt-in?

Marketing messages need an opt-in for that channel and topic. Look for append-only consent rows that keep their proof (form, IP, message id, import file), double opt-in, and a preference page the contact can use. Relayra writes one immutable row per change and shows the whole timeline on the contact.

A contact's consent timeline with the proof for each opt-in

2. Does template review match how the provider works?

Templates move through draft, submitted, approved, rejected and paused. Editing an approved template should create a new version and leave the scheduled broadcasts on the version they were scheduled with.

A rejected template with the reason it broke a rule

3. Is the 24-hour window enforced at the second?

Free text is allowed for 24 hours after the customer's last message and not a second more. Relayra reads the clock under the conversation lock and switches the composer to a template picker when the window is closed.

The inbox with the window closed and the template picker offered

4. What happens when a customer says STOP mid-broadcast?

The opt-out must win. Relayra re-reads consent under the contact row lock before every provider call and skips the queued rows.

5. Do status webhooks arrive out of order safely?

A "read" can arrive before "delivered", twice, or before the message id is stored. A status reducer that never moves backwards, a dedupe key and a replay of early events make the counters exact.

A broadcast sending with the delivered and read funnel

6. Are credits reserved and never negative?

Two people scheduling at once for the last credits should get one success and one clear error. Relayra reserves on schedule, consumes per message and refunds failures.

7. Does the inbox work on a phone?

Agents answer from their phones. Relayra shows the list and the thread as two screens with a pinned composer.

The inbox thread on a phone

Before you buy

The demo simulates delivery and review; real approval and quality ratings come from the provider, and you add your own credentials to finish a real driver. The product is web only.

Frequently asked questions

The complete source code (version 1.0.0) as a download from your account, with the setup and usage guides shown on this page. You can modify the code to suit your product.

Buying guides: Laravel scripts with Filament panels and a web installer · Next.js or Laravel for a SaaS script?

More from this author

View all

Related in Web Scripts & Software

View all