Contact forms
Collect a message and route it to the right inbox. The recipient is resolved server-side — the browser never sees an address, so your form can't be turned into an open relay.
Repizen is a drop-in widget for contact forms and calendar booking. Mail routes to the right inbox, meetings send real calendar invites, and abuse stays out — with no inbox to wire up and no backend to build.
One snippet · inline, floating, or iframe · your domain, your data
<div data-emailer-widget="floating"
data-form-id="contact"></div>
<script src="https://app.repizen.com/loader.js"></script>
Everything visitors need to reach you or book time with you — without standing up a server, a database, or an SMTP relay.
Collect a message and route it to the right inbox. The recipient is resolved server-side — the browser never sees an address, so your form can't be turned into an open relay.
Publish your availability, let visitors pick a slot, and both sides get a proper .ics calendar invite they can accept in Outlook, Google, or Apple Calendar.
Mount it inline, as a floating launcher, or a raw iframe. Switch between a form and a scheduler by changing a single data- attribute.
Send from noreply@yourdomain with verified SPF and DKIM. Your deliverability rides on your domain — not a noisy shared pool.
Origin allowlists, CSP frame-ancestors, honeypots, render-delay traps, per-IP rate limits and body caps — on by default, not a paid add-on.
The service runs on managed identity end to end. There are no API keys in your pages and no infrastructure on your side to patch or leak.
Pick the mount style that fits the page. Switching between the contact form and the scheduler is just data-form-id vs data-schedule-id.
<!-- Drops the form right into the page -->
<div data-emailer-widget="inline" data-form-id="contact"></div>
<script src="https://app.repizen.com/loader.js"></script>
<!-- A chat-style launcher in the corner -->
<div data-emailer-widget="floating" data-schedule-id="team-30min"
data-button-label="Book a call" data-accent="#7c3aed"></div>
<script src="https://app.repizen.com/loader.js"></script>
<!-- No script at all — just an iframe -->
<iframe src="https://app.repizen.com/?formId=contact"
width="100%" height="560"
sandbox="allow-scripts allow-same-origin allow-forms"
title="Contact form"></iframe>
Add the snippet to any page — your CMS, your SPA, a landing page, anywhere.
Visitors submit or book. We validate, store, and send — server-side.
Mail and calendar invites arrive from your own verified domain.
Anonymous endpoints, locked down on the server. Every control below ships on, for every plan.
The client sends an ID, never an address. You can't be weaponised into a mail relay.
A per-tenant allowlist controls who can call the API and who can embed the widget.
Hidden honeypot fields and a render-delay check drop automated submissions silently.
Per-IP throttling and a hard request-size limit blunt floods and abuse.
Slots reserve atomically — two people racing for the same time, only one wins.
No connection strings, no keys in code. Tokens are issued on demand and scoped.
Every user-supplied value is HTML-escaped before it lands in an email.
Mail is signed on your verified domain so it authenticates and lands in inboxes.
Launch hosted in minutes. Move into your own cloud when compliance calls for it — same widget, same API.
Every customer runs in an isolated stamp on our hardened infrastructure. You add one CNAME, verify your sender domain, and you're live. Nothing for you to run, patch, or scale.
For sovereignty and compliance mandates, we deploy the data plane into your own account — Azure, AWS, or GCP — so submissions and bookings never leave your tenancy. You keep the keys; we operate the software.
Your site can run anywhere — Azure, AWS, GCP, on-prem. We integrate at the layer above the cloud: DNS. We never ask for credentials to your cloud account.
forms.yourdomain.com → us. Serve the widget on your own domain.Works with Route 53, Cloud DNS, Azure DNS, Cloudflare — or whatever you already use.
| Record | Type | Does |
|---|---|---|
| Domain verification | TXT | Proves you own the domain |
| SPF | TXT | Authorises sending |
| DKIM | CNAME | Signs outbound mail |
| DMARC | TXT | Policy & reporting |
| Custom domain | CNAME | Serves the widget on your domain |
Repizen is MCP-native: our official MCP server exposes the admin control plane as 5 tools any MCP host discovers and calls directly. One call provisions the tenant, declares the fields, mints a publishable key, and returns a paste-ready snippet.
{
"mcpServers": {
"repizen": {
"command": "node",
"args": ["repizen-mcp/src/index.js"],
"env": {
"REPIZEN_ADMIN_BASE": "https://widget.repizen.com/admin/api",
"REPIZEN_ADMIN_KEY": "sk_live_…"
}
}
}
}
Free to embed on one site. Growth when volume and custom sending matter. Enterprise when data must stay in your cloud.
$0/mo
Everything to ship one site.
$99/mo
For teams running real volume.
Custom
Your cloud, your rules.
By default, in an isolated stamp inside our tenant, with a region of your choice. On Enterprise, we deploy the data plane into your own cloud account so data never leaves your tenancy.
No. The widget talks to our managed API. There's nothing for you to host, and no API keys live in your pages.
All of them. The widget is a script tag or an iframe — your site can run on Azure, AWS, GCP, or your own servers. We integrate via DNS, not via your cloud account.
We send a standard .ics invite to both the visitor and the host. It opens and accepts cleanly in Outlook, Google Calendar, and Apple Calendar.
Server-side validation, per-IP rate limits, honeypot and render-delay bot traps, and body-size caps — all on by default. Stronger challenge-based protection is available for public-facing forms.
Yes — region residency, configurable retention, data-deletion on request, and a DPA on business plans. Enterprise keeps data entirely within your own cloud.
Add a form and a scheduler to your site in one line — and never wire up an inbox again.
No credit card required for Starter. Upgrade anytime from the console.
Thanks! That's exactly what your visitors will see.