JomForm Docs

Everything JomForm does, one line per feature, grouped by what you are trying to get done. Where the full walk-through exists, the entry links to it.

Start here

  1. Create a free account — your first form is ready in about 5 minutes.
  2. Build a form with the drag-and-drop builder and attach products.
  3. Add your CHIP payment credentials in Settings → CHIP.
  4. Publish the form — it goes live at your workspace URL or a custom domain.
  5. Track sales, subscriptions and email delivery from the dashboard.

Features

Workspaces

Workspaces (your account's tenant)

A workspace holds your forms, products, sales and payment account, and owns its own address ({slug}.jomform.com or your domain). With none, the dashboard asks you to create one. Full guide →

Renaming a workspace

Rename a workspace's name or its public address; the old address keeps redirecting. Full guide →

Deleting a workspace

Reversible, not destructive: a typed slug confirmation sends it to the Trash, even a full workspace. Restoring is one click; deleting for good is a second step that refuses one with sales. Full guide →

Activity log (audit trail)

Every action in this workspace, newest first, including the destructive ones — a deletion leaves no other trace. Append-only. Full guide →

Sales & payments

Sales

Track every sale: reference code, status, buyer, amount, payment method and date. Confirm bank transfers, capture or release authorisations, refund, and export CSV. Full guide →

One list for sales and responses

Without a form filter the Sales page is one merged list: every sale and every response, newest first, with one combined count. Full guide →

Responses (response-only forms)

A form can collect answers instead of payments. Its entries are stored as responses, shown on the same Sales page, with a drawer holding every value. Full guide →

Form analytics (the per-form counter)

The per-form counter counts the rows that form actually recorded: responses for a response form, sales in every status for a payment form. Never both. Full guide →

Partial refunds

Refund a paid sale in full or in part: the sale records how much was returned and keeps the balance refundable until zero. Full guide →

Subscriptions

Charge customers automatically monthly or yearly, for a fixed number of payments or indefinitely. A late payment follows the schedule mode; a declined card is retried three times. Full guide →

Realtime notifications & the order screen beep

The Sales page follows your workspace's realtime stream; the switch beside the Live pill beeps when something arrives. Per workspace, so it survives a reload. Full guide →

Forms & fields

Order forms

Build order and response forms with a drag-and-drop builder — fields, products, images, coupons — and publish to your workspace URL or a custom domain. Full guide →

Products

Sell one-time items and subscriptions: each product has a name, price, stock, images and optional variations, and a subscription adds a billing period.

Variation products

A product with variations is variable: each variation carries its own name, price, stock and image, and can carry its own subscription cycle. Full guide →

Product images on forms

Choose how each product photo appears on the form: size (small, medium, large or hidden) and layout (thumbnail-left, the default, or image-top for a menu-card look). Full guide →

Templates

Start from the built-in template gallery (order forms, booking, donation, contact, survey and more), or save any form as a private template you can clone and edit in the builder. Full guide →

Publishing a form

Press Publish and JomForm confirms the form is live with its public URL. A payment form with no products is refused once, unless you publish anyway. Full guide →

Form URLs and slugs (rename a form)

Set the form's slug in Form Settings; rename it any time and the old URL keeps resolving. Full guide →

Storefront & pages

Restaurant menu (QR ordering)

Turn a form into a QR restaurant menu: sort its products into named categories, highlight a best-seller, and diners order and pay from the table. Full guide →

Menu basket (multi-item ordering)

A menu takes a whole table's order: every item is add-to-cart, with a sticky basket, quantity steppers and a running total that survives a reload. Full guide →

Landing pages

Customise your workspace storefront with a hero, subtitle, body, image, theme colours, logo and call-to-action buttons that link to your forms.

Custom domains

Put your forms on your own domain: add it, point a CNAME to custom.jomform.com and verify. With Cloudflare linked, JomForm can create the CNAME for you. Full guide →

Media library

Upload images, code assets (css/js/html/svg/woff2) and PDFs. Images are optimised and served immediately; code assets are scanned before being served.

Settings

Configure CHIP payment credentials, custom domains, tracking scripts, e-Invoice (LHDN), outbound webhooks, currency, and per-workspace email templates.

Email

Email & notifications

Customise the receipt email and the per-form notification rules (subject, body, receipt on/off, merchant notify); a form override falls back to the workspace and then the built-in default. Full guide →

Email suppression list · Placeholders reference

Growth

Affiliate marketing

Pay promoters for the sales they bring: give each affiliate a short code and a commission, share their ?aff=CODE link, and the sale is attributed to them. Full guide →

Security

Spam protection

AI review of every submission: flagged entries wait in a review queue, a false positive can be un-flagged, and an unreviewed flag is deleted after 30 days. Full guide →

Two-factor authentication (2FA)

Add a second factor from Profile → Security: scan the QR into an authenticator app and confirm the 6-digit code. Turning it off asks for that code, and a magic-link session must prove itself first. Full guide →

Trusted devices (2FA)

Trust a device for 30 days so it skips the code. Profile → Security, your account block, lists every device with a Revoke button. Full guide →

For developers

MCP (AI agents)

Connect JomForm to Claude, Cursor and other AI agents over the Model Context Protocol. Agents can build forms and manage products, sales and more. Full guide →

Design → AI agent → MCP customization

Design your form in a tool like Canva, then have an AI agent connected to the JomForm MCP apply that design with CSS and JS. Full guide →

Embed on your site

Drop a form into any website with an iframe. The embedded form posts its height to your page, so it grows with the form. Full guide →

REST API

Drive JomForm from your own server: create forms, read sales and responses, manage products, subscriptions and webhooks. Full guide →

FAQ

How do I connect an AI agent?

Point any MCP client at the server URL https://mcp.jomform.com/mcp. It registers itself via OAuth 2.1 — no API keys needed. See the MCP tool reference for what agents can do.

What are the placeholders in emails?

Placeholders like {{ref_code}} and {{amount}} are replaced with real values when an email is sent. See the placeholders reference for the full list.

Can I use my own domain?

Yes. Add your domain in Settings → Domains, point a CNAME to custom.jomform.com, and verify. Your forms then go live on your domain automatically.

Passkeys (sign in without a password)

Sign in with your face, fingerprint or device PIN instead of a password. Add a passkey from Profile → Security → Register passkey: your browser asks your device to create it, and the passkey appears in the list with the date it was added. Once you have one, the login page offers a passkey button before you type anything, because signing in with a passkey starts from a list of your credentials rather than an email address. Each passkey is bound to one device or password manager (iCloud Keychain, Google Password Manager, 1Password, a security key), so add one per device you sign in from, and remove any you no longer use with the delete button on its row. An older passkey may have been stored as a non-discoverable credential, which the login page's button cannot use: delete that row and register a new passkey, which is made discoverable so the button finds it.