The lead back-office for every site you build

Every client’s forms, one inlet.

You build websites for clients. Each client gets its forms and a private lead inbox; you keep one dashboard, an API and an MCP server. No SMTP, no e-mail address in your code.

No credit card · no SMTP · one snippet per site · every lead kept

inlet — dashboard

Overview

Every site's leads, in one place

New form

Total leads

1,248

↑ all-time

Last 7 days

96

↑ 18% vs prior

Active forms

7

across 5 sites

Submission trend
Top forms
Portfolio82
Contact64
Pricing41
Lead database Search

Ada Lovelace

ada@example.com

2m ago

Grace Hopper

grace@example.com

14m ago

Alan Turing

alan@example.com

1h ago

Drops into any stack

AstroNext.jsNuxtVueSvelteSvelteKitRemixReactSolidQwikAngularPlain HTMLAstroNext.jsNuxtVueSvelteSvelteKitRemixReactSolidQwikAngularPlain HTML
The whole integration

Two values. Zero email plumbing.

Every other form tool makes you wire SMTP or an email SDK into each site. Here, your site holds nothing — just a FORM_API_URL and a FORM_ID. The service does delivery, spam filtering, and the branded auto-reply.

  • No SMTP credentials in your frontend
  • No email library to install
  • No backend for you to run
  • Copy-paste helper works everywhere
submit.js
// 1. Get a proof-of-work challenge, solve it, POST your fields.
const API_URL = process.env.FORM_API_URL;   // the service
const FORM_ID = process.env.FORM_ID;         // one form's UUID

async function submitForm(fields) {
  const c = await (await fetch(`${API_URL}/api/challenge`)).json();
  let nonce = 0;
  while (!(await sha256(`${c.challenge}:${nonce}`)).startsWith("0".repeat(c.difficulty))) nonce++;
  return fetch(`${API_URL}/api/submit/${FORM_ID}`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ ...fields, pow_challenge: c.challenge, pow_timestamp: c.timestamp, pow_nonce: String(nonce) }),
  });
}
// No SMTP. No email library. No backend to run. That's the whole integration.

Don't read about it. Use it.

This is the real pipeline — proof-of-work, spam scan, delivery, auto-reply — running in your browser. Type something and hit send. Then try to spam it.

Built to scale

Everything a lead needs to arrive — nothing you have to run.

One backend, many client sites — each branded, all protected, all centralized.

Centralized inbox

Every submission from every site lands in one dashboard with live status.

Ada Lovelace2m
Grace Hopper14m

Anti-spam in four layers

Honeypot, proof-of-work, keyword flagging, and bans by IP, fingerprint and reverse-DNS host. A flagged lead is kept, never deleted.

White-label emails

Auto-reply emails adapt to each client's logo, colors and name.

A private inbox per client

Each business you build for gets its leads by e-mail and in its own branded inbox — answer with one reply.

Client A82%
Client B58%
Client C34%

CSV export

One click flattens dynamic fields into clean columns.

Delivery you can see

Every e-mail is logged. A failed send is flagged in your dashboard, never silently dropped.

Any framework

Astro, Next, Nuxt, Vue, Svelte, or plain HTML.

Fast path

Live in three steps

From zero to receiving branded lead emails — in minutes.

01

Create a client and its form

Name the business you build for, add its form, copy the form ID.

02

Paste the snippet

Drop the two env values and the submit helper into any site.

03

Receive & manage

The client gets the lead by e-mail and in their inbox, the visitor gets a branded auto-reply, you watch it all live.

Why teams switch

Built for people who run many client sites.

Swipe to compare →

CapabilityInletFormspree / BasinJotform
One account, a client per business
No SMTP in your sites
White-label e-mails and inboxes
Proof-of-work + keyword anti-spam
MCP server: your AI sets up a site
Every lead kept, exportable any time
Built on live sites

Made by a working web studio, on its own client sites.

Inlet runs the forms of real multi-location businesses today. No invented testimonials — the product is the proof, and the free plan lets you check it on your own site.

Answers

Frequently asked

Do my websites need SMTP credentials or an email library?

No. SMTP is configured once inside the service. Your websites only POST their form fields to a form URL — they hold no email credentials and import no mailer. This is the core difference from wiring email into every site.

Can it send email without a verified domain?

Yes. With a single verified sender (for example via Brevo) you can send to anyone — no full domain setup required. A custom domain with DKIM/SPF improves deliverability at scale, but is optional to start.

Which frameworks and stacks does it support?

Any browser JavaScript environment: Astro, Next.js, Nuxt, Vue, Svelte, or plain static HTML. You copy one small submit helper (or a standard HTML form) and point it at your form URL.

How does it stop spam?

Four layers: a hidden honeypot field, a cryptographic proof-of-work challenge that costs bots CPU, a keyword filter, and automatic bans by IP, browser fingerprint and reverse-DNS host for anything that trips the honeypot. A keyword hit never deletes a lead — it is stored and flagged so nothing real is ever lost.

How is this different from Formspree, Basin, or Jotform?

It is built for people who run many client sites: one developer account, one client per business, every lead stored and e-mailed to the right business, a private inbox per client, and an MCP server so your AI assistant can set a site up in one call. It is developer-first (code integration), not a drag-and-drop builder.

What happens to file uploads?

Base64 file payloads are intercepted, uploaded to storage, and replaced with clean download links inside the notification email — so attachments never trip spam filters or bloat inboxes.

Ship forms today. Own them forever.

One backend for every site you build — no SMTP, no lock-in, your data.