Launch Rail Logo
Launch Rail
Launch Rail: Submissions Service

Forms are the Front Door. Own the Workflow.

Stop rebuilding form handlers, spam filters, and admin inboxes for every project. Drop in a production-ready Go microservice that handles dynamic JSON Schema forms, direct-to-cloud uploads, CAPTCHA, multi-tenant inbox workflows with assignments and integrations — accessible via REST, gRPC, and native MCP server.

REST APIgRPCMCP Server

The Problem: “Just Add a Contact Form” Never Stays Simple

Every SaaS starts with a simple form endpoint. Three months later, you are drowning in scope creep: Can we validate fields server-side? We need file uploads. Marketing wants a different form per landing page. Support needs an inbox to triage submissions. Legal requires GDPR export tools. The CEO wants spam filtering. Building all of this from scratch costs engineering months you do not have.

The Solution: A Platform-Grade Forms & Inbox Engine

The Launch Rail Submissions Service provides the entire form lifecycle out of the box. A public edge API lets untrusted clients embed forms anywhere using a publishable key. An admin API gives your operations team a powerful inbox with search, assignment, status workflows, internal comments, webhook integrations, and compliance-ready export tooling — all multi-tenant from day one.

Core Capabilities Out-of-the-Box

From public form rendering to admin inbox triage — every piece is production-ready.

Dynamic JSON Schema Forms

Define form fields, validation rules, and UI hints entirely from the server. Publish versioned configurations and your frontend renders the right form automatically — no redeployment needed.

Direct-to-Cloud File Uploads

Generate pre-signed URLs for secure, direct-to-S3 uploads. Clients upload file bytes without touching your backend, then finalize to trigger antivirus scanning and link attachments to submissions.

Intelligent Spam Defense

Plug in reCAPTCHA v3, Turnstile, or hCaptcha with a single config toggle. Submissions exceeding the quarantine threshold are held for review — not silently dropped.

Full Inbox Workflow

Track every submission through a lifecycle: New, In Progress, Done, Spam, Quarantined, Archived. Assign owners, attach labels, leave internal comments, and trigger integrations at each transition.

Built for High Throughput

A clean, stateless architecture that scales horizontally. Decoupled inputs and outputs ensure zero-downtime operations.

REST / gRPC

ConnectRPC Gateway

MCP Server

AI Agent Interface

Service Logic

Domain Engine

PostgreSQL

ACID Compliant Storage

NATS / CloudEvents

Async Broadcasting

Architectural Superpowers: Secure & Extensible

Two isolated API surfaces, real-time streaming, versioned configurations, pluggable integrations, and privacy tooling that satisfies compliance from day one.

Real-TimeNew

Live Inbox Metrics & Streaming

Power your dashboard with instant inbox counts via a REST snapshot, then subscribe to a server-streaming ConnectRPC endpoint that pushes live metric updates over HTTP/2 whenever a submission changes state.

GetInboxMetrics

GET /v1/admin/submissions/metrics

Returns a snapshot of inbox counts — total new, in-progress, done, spam, quarantined. Ideal for initial dashboard loads and polling fallback.

WatchInboxMetrics

stream WatchInboxMetricsResponse

Server-streaming ConnectRPC endpoint. Subscribe once and receive pushed metric payloads over a persistent HTTP/2 connection whenever submission state changes.

Dual API Surface

Public edge API for untrusted clients (no auth — identify by public_key or slug) and a separate Admin API behind RBAC. Tenant isolation at every layer.

Versioned Form Configs

Every schema change creates a new FormVersion. Publish when ready, roll back if needed. Submissions are permanently linked to the version that validated them.

Pluggable Integrations

Attach Webhooks, Email, Slack, or Ticket actions to any form version. Each has its own retry policy with exponential backoff, jitter, and full debug logs.

GDPR & DSAR Built-In

Delete submissions by identity_id, email, or phone. Configurable data retention per form. Async CSV/JSON exports with signed download URLs.

Developer Experience: Extend with Absolute Confidence

When you own the source code, reliability is everything. Submissions is built to be customized safely.

Idempotent by Design

Every public submission accepts an idempotency_key. Network drops, client retries, and double-clicks are safely deduplicated — the server returns the existing submission instead of creating a duplicate.

Pre-Instrumented Observability

Ships with native OpenTelemetry tracing and structured slog logging. Trace a submission from the edge gateway through spam scoring, schema validation, and webhook dispatch.

Async Export Engine

Trigger exports spanning thousands of submissions without blocking your admin UI. Poll the ExportJob status, then download a signed CSV or JSON archive when it is ready.

Comprehensive Audit Trail

Every form change, status transition, assignment, and comment is recorded in a queryable audit log. Filter by actor, resource, event type, and time range for full compliance visibility.

Implementation Examples

Developer-first by design. Access full-featured gRPC, REST, and MCP endpoints out of the box. Our services use ConnectRPC for lightweight, production-grade communication.

Go Code
1// Public submission via edge API
2res, err := subClient.SubmitForm(ctx, connect.NewRequest(&subv1.SubmitFormRequest{
3    FormId: "landing_contact_us",
4    Payload: map[string]string{
5        "email": "lead@acme.com",
6        "message": "We need 50 licenses.",
7    },
8    IdempotencyKey: "browser_unique_key_001",
9}))
Native MCP Server

AI Agents Talk to Submissions Natively

Every Launch Rail service ships with a built-in MCP server. Your AI agents can discover tools, read resources, and execute actions—no wrappers, no custom integrations.

MCP Tools

Actions agents can execute

submit_form

Submit a payload to a public form with validation and spam scoring

search_submissions

Query the inbox with status, assignee, label, and full-text filters

update_status

Transition a submission through workflow stages (New, In Progress, Done, Spam)

assign_submission

Delegate a submission to a specific team member or operator

MCP Resources

Data agents can read

submissions://forms/{id}

Form definition with active schema, versions, and integration config

submissions://submissions/{id}

Full submission with payload, attachments, status, and audit history

submissions://forms/{id}/inbox

Paginated inbox view of all submissions for a specific form

In Practice

What this looks like

AI Agent asks

Find all unassigned submissions marked as quarantined on the Enterprise Contact form and assign them to the Tier 2 support team

MCP Server responds

Calls search_submissions with status=QUARANTINED, assignee_id=empty, form=Enterprise Contact. Returns 12 results. Calls bulk_assign to delegate all to Tier 2 operator. Confirms assignment complete.

Command Line Interface

Manage your infrastructure from the Terminal.

  • One-command provisioning

    Create users, tenants, and roles without touching the UI.

  • Secure Key Management

    Easily rotate API keys and manage workspace secrets.

  • Environment Sync

    Synchronize permissions across staging and production.

launchrail-ctl — zsh
$
Connected: Staging-US-East-1Latency: 12ms

Build vs. Buy Launch Rail

Why spend 4 months building table structures and plumbing when you can start shipping features tomorrow?

Build it Yourself

The "Not Invented Here" approach

4+Months
High Opportunity Cost

Diving into low-level plumbing means your engineers aren't building your core product features. You risk security vulnerabilities and maintenance debt.

Buy Launch Rail

The "Speed of Light" approach

1Afternoon
Immediate ROI

Get the source code, deploy it in minutes, and focus on what makes your business unique. Zero technical debt, enterprise-ready from day one.

Feature ComparisonSelf-BuiltLaunch Rail
Dynamic JSON Schema
S3 Cloud Uploads
Integrated Spam Defense
Versioned Form Configs
Multi-tenant Inbox
Native MCP Support

Real-World Value: Submissions in Action

See how teams across industries use Submissions to ship faster, reduce costs, and deliver enterprise-grade experiences from day one.

B2B SaaS

Enterprise Lead Capture & Routing

Embed dynamic contact forms on marketing pages using the public edge API. Submissions flow into a shared inbox where sales ops assign leads by territory, attach labels like 'Enterprise' or 'SMB', and trigger Slack notifications on high-value entries.

Healthcare

Patient Intake & Document Collection

Render HIPAA-compliant intake forms with JSON Schema validation. Patients upload insurance cards and lab results via direct-to-cloud pre-signed URLs. Attachments pass through antivirus scanning before clinical staff can review them in the admin inbox.

E-Commerce

Customer Support Inbox

Capture support requests with order metadata linkage. The admin inbox lets agents search by order_id, assign tickets, leave internal comments, and transition submissions through resolution workflows — with webhook-triggered email confirmations at each step.

FinTech / Compliance

KYC Document Submission

Collect identity documents with strict file type validation and size limits. Quarantine suspicious uploads automatically. Use DSAR tooling to purge all submissions by email or identity_id when a customer exercises their right to erasure.

Why Buy the License? (The ROI)

Building a secure multi-tenant forms engine with JSON Schema validation, cloud uploads, spam defense, a full admin inbox with assignments, integrations, and GDPR export tooling takes a dedicated team 3+ months.

Buy the Launch Rail Submissions module today and get the complete, production-ready Go codebase.

K8s Ready

Deploy to Kubernetes or Cloud Run with provided configs.

Total Compliance

DSAR purge tools, audit trails, and configurable retention built in.

Native Ecosystem

Seamlessly connect to Identity, Notifications, and other Launch Rail modules.

Ready to ship forms and inbox workflows?

Frequently Asked Questions

Common Questions & Answers

Everything you need to know about integrating and hosting this Launch Rail service.