Skip to content

Lead capture

Build forms, embed them anywhere, take payments through your own Razorpay, Cashfree or PayU account, and send every submission to a webhook — with responses landing beside the analytics that produced them.

Lead capture is a form builder inside Quantalog. You drag fields onto a canvas, publish, and share a link or embed the form on your own site. Responses land in Quantalog next to the analytics for the traffic that produced them — which is the point: a form on a separate service tells you someone filled it in, but not what brought them.

#Building a form

Open Lead capture in the sidebar and choose New form. The palette on the left holds every field type; drag one onto the canvas and click it to open its settings. An accent line shows exactly where a dragged field will land.

  • Insert anywhere — hover the gap between two fields and click +, or press /, to search every field type and insert one in place.
  • Edit text in place — click the form title, description, any field label, heading, or the submit button on the canvas and type. Press Enter to finish.
  • Rename the form from the name at the top of the editor. The header shows whether the form is a draft or live and whether you have unsaved changes.
  • Keyboard shortcuts — Ctrl/⌘ D duplicates the selected field, Delete removes it, Alt/⌥ ↑ ↓ moves it, and Ctrl/⌘ S saves. Press ? in the editor for the full list.

The palette groups fields into:

  • Basic info — name, address, phone, email, website. These carry their own validation, so an email field rejects a typo without you writing a rule.
  • Choices — dropdown, radio, checkbox, multiple choice, country, ranking.
  • Uploads — files, images, audio and video. Stored for you, not just captured as a filename.
  • Legal and consent — terms boxes, decision boxes, yes/no, and a signature pad.
  • Payment — collects money as part of the submission. See Taking payments below.
  • Page elements — headings, rich text, dividers, and page breaks that split a long form into steps.
  • Repeating groups, calculated fields, a matrix and rating scales — covered on their own in Advanced field types.

Any field can be shown conditionally, whole steps can be skipped, and the thank-you page and alert emails can change with the answers. A hidden field is never required and its answer is never submitted, so a branch nobody took leaves nothing behind. See Conditional logic.

Rather than build every field yourself, describe the form to Orbit and it drafts one — fields, wording and a starting theme — which you can then revise the same way. See AI building & theming.

A new, empty form offers three ways to begin: add a question, pick a template, or describe it to Orbit. A template can also be swapped in later. See Switching templates.

#Editing on a phone

On a phone the editor becomes a list of your questions. Change any label, its choices or whether it is required, move questions up and down, duplicate or delete them, and add new ones from the bar at the bottom. Preview shows the form exactly as respondents see it, and you can save and publish from the top bar. Creating a brand new form from a template or with Orbit still needs a bigger screen.

#Taking payments

A payment field turns a form into something that collects money. Registration fees, deposits, paid applications, donations — the respondent fills the form, pays, and the response is recorded once the payment clears.

Payments run through your own Razorpay, Cashfree or PayU account. The money goes directly to you; it does not pass through Quantalog, and we take no cut of it beyond your normal plan.

#Choosing a gateway

  • Connect any or all of the three in Quantalog under Apps, in the Payments category. The one you mark as default is used by every payment field that doesn't choose its own.
  • To charge one form through a different gateway, pick it under Gateway in that payment field's properties. Click it again to go back to the workspace default.
  • Cashfree and PayU need the payer's mobile number. If the form has no phone field, a Mobile number box appears beside the pay button; it is passed to the gateway but not saved as an answer.
  • Razorpay and Cashfree open a payment window over the form. PayU takes the respondent to its own page and brings them back afterwards.

The steps below use Razorpay; Cashfree and PayU follow the same three steps on their own page, each showing its own webhook URL.

#Invoices for paid responses

A form with a payment field can create an invoice for every response that is paid. Open the payment field's properties in the form builder and turn on Invoice paid responses. It is off by default, so you choose which forms get invoices.

  • The Invoicing app must be on in Apps, and your business name, email and address saved in Invoicing, because the invoice is made from them.
  • The amount the respondent paid is the invoice total. Pick a Tax included in the price rate to show how much of it is tax.
  • The invoice is created as paid, with the payment ID in its notes, and the customer is added to your Customers list.
  • Open the response and click the payment. The Invoice row links to the invoice, where the client can download the PDF. If it could not be created, Retry invoice tries again.

#Connecting Razorpay

Open Apps in Quantalog and choose Connect Razorpay (the Manage link on a payment field in the form builder takes you there too). The page walks through three steps in the left panel, and all three are needed before a form can charge anyone.

  • API keys — your Key ID and Key Secret, from Settings → API Keys in the Razorpay dashboard. Test and live keys are stored separately, so trying a form in test mode doesn't mean re-pasting your live credentials afterwards. Test connection checks them against Razorpay there and then rather than leaving you to find out at the first real payment.
  • Webhook — copy the URL shown and add it in Razorpay under Settings → Webhooks, subscribed to payment.captured and payment.failed. Paste the webhook secret back into the panel.
  • Go live — switch from test to live mode and turn payments on.

Where to find the keys for the other two gateways:

  • Cashfree — the App ID and Secret Key under Developers → API Keys in the Cashfree merchant dashboard. Register the webhook under Developers → Webhooks for PAYMENT_SUCCESS_WEBHOOK, PAYMENT_FAILED_WEBHOOK and PAYMENT_USER_DROPPED_WEBHOOK. There is no separate webhook secret: Cashfree signs with your Secret Key.
  • PayU — the Merchant Key and Merchant Salt under Payment Gateway → Key & Salt Details in the PayU dashboard. Add the webhook under Payment Gateway → Webhooks for successful and failed transactions. PayU signs with your salt, so there is no separate secret either.

The connection belongs to the workspace, not to one form. Set it up once and every paid form in that workspace uses it — including the webhook, which is a single URL you register once rather than one per form.

#Setting the price

Click the payment field to choose how much it charges. There are three ways:

  • Fixed — everyone pays the same amount.
  • From a field — the price comes from another answer. Point it at a number field and the respondent's figure is the price; point it at a dropdown or checkbox and you set a price against each option. Where several options can be ticked, the charge is their total.
  • Respondent decides — they name their own amount, within a minimum and an optional maximum. This is the one for donations and pay-what-you-want.

A form takes one payment field. The builder refuses a second, because two would mean one of them silently never charging.

#What the respondent sees

The payment field shows what they will be charged before they submit. Pressing submit opens Razorpay's own payment window — card, UPI, netbanking, whatever your account accepts. When it clears, they see your thank-you page.

Cancelling the payment window costs them nothing and loses nothing: their answers are still there and they can try again. A response is only recorded once the money actually arrives, so an abandoned checkout never becomes a lead you have to sift out later.

#Payments in your responses

Paid responses appear in Entries with a payment column showing the amount and a Paid badge. Clicking it opens the transaction detail — payment ID, order ID, method, and the email and phone Razorpay collected — each copyable, for reconciling against your Razorpay dashboard.

Those contact details are captured even when your form never asked for them, so a one-field donation form still tells you who paid. Payment details are included in CSV and PDF exports, and in the confirmation and notification emails.

#Multi-step forms

A page break splits a form into steps, with a progress indicator and validation before each one advances. Long applications work far better this way than as a single wall of fields.

Payment is taken when the form is finally submitted, whichever step the payment field sits on — so it belongs on the last one. If it isn't, the builder says so rather than letting you publish a form that quotes a price several steps before it charges it.

#One question at a time

Open Steps & progress and turn on One question at a time to show each question on its own screen, with a larger label and a progress bar. Respondents move on with Enter or the Next button, and single-choice questions (choice, yes/no, rating and NPS) move on as soon as an answer is picked.

It works on any form, with or without page breaks. Headings and text blocks appear with the question that follows them, a grid stays together on one screen, and conditional logic still hides questions and skips steps. Compare completion before and after in the form's drop-off report.

#Quiz funnels

With One question at a time on, a form can work like a quiz funnel — a tap per screen, pictures, a short "analyzing" moment, then the result or offer:

  • Picture cards — on a Radio or Checkbox question, open Display and turn on Show as picture cards. Each option gets an image, an optional badge ("Most popular") and a note ("₹299 / month"); pick 1–4 columns. Radio cards move on as soon as one is tapped.
  • Image — under Page Elements. Place it just before a question and it shows above that question on the same screen.
  • Analyzing Screen — under Funnel. It gets its own step with a progress ring and a checklist that ticks off, then moves on by itself after the seconds you set.
  • Countdown — under Funnel. A timer for an offer that starts when it is first seen and keeps running if the page is refreshed. Pair it with a Payment field and picture cards with prices for a plan picker.

Use endings by answer to personalise the result, and quiz scoring if answers should add up to a score. To start from a working example, pick the Calm kids plan quiz under Quiz Funnels in the template picker: picture cards, agree/disagree screens, an image above a question, an analyzing screen, email capture, and a plan picker with a countdown and payment, all on one-question-at-a-time.

#Sharing and embedding

A published form has its own link, which anyone can open — no Quantalog account needed. Share gives you the link, a QR code, and embed snippets for plain HTML, React, and Vue. The embed resizes itself to fit its content rather than sitting in a fixed box with its own scrollbar.

Every form records where its submissions came from, so the entries screen can break responses down by referring site alongside the view and completion-rate figures — see Form analytics. For working leads through a pipeline, and for letting a respondent edit what they already sent, see Entries, pipeline & links.

#Notification emails

A form can email the respondent a confirmation and alert you on every submission. Both are written in the builder, and {{Field Label}} in either one is replaced with that field's answer.

On a paid form, nothing is sent until the payment clears — a confirmation for a payment that failed would be worse than no confirmation at all.

Emails go out through an email app you connect (Brevo or your own SMTP), and new responses can also reach the Quantalog bell, Slack and Discord. Setup for all of these is in Notifications & integrations.

#Sending submissions to a webhook

A form can POST every submission to a URL you supply. Open Apps in Quantalog and turn on Webhook in the Automation section, alongside your email and payment apps. Unlike those, though, it belongs to the one form you had open when you connected it, not the whole workspace: a different form's submissions go nowhere until you connect a webhook on that one too.

This is deliberately generic rather than a list of named integrations: point it at a Zapier or Make webhook trigger and you can reach Slack, Google Sheets, Airtable, Notion or a CRM without waiting on us to build a connector for each one, or point it at your own server and handle the submission however you like.

  • URL — where the POST goes. Any endpoint that accepts JSON works, including a Zapier "Catch Hook" trigger.
  • Signing secret — optional, but worth setting if the endpoint is your own server rather than Zapier or Make. Every delivery carries an X-Da-Forms-Signature header: an HMAC-SHA256 of the request body, keyed with this secret. Recompute it on receipt and compare before trusting the payload — otherwise anyone who finds the URL can post to it.

Each delivery is a single POST shaped like this:

POST body
{
  "formId": "…",
  "submissionId": "…",
  "submittedAt": "2026-09-12T10:15:00.000Z",
  "data": { "Name": "Ada Lovelace", "Email": "ada@example.com" },
  "payment": { "amount": 50000, "currency": "INR", "status": "paid" }
}

data keys are field labels, matching the CSV export and the notification emails. payment is present only on a paid form, and only once the payment has actually cleared — the same rule the notification emails and the Entries table follow.

#Drafts and abandoned responses

A respondent's answers are saved in their own browser as they type, so a stray refresh or a closed tab doesn't cost them a half-finished application. The draft never leaves their device and is cleared the moment they submit. Turning on collect partial responses saves the same draft to your workspace too, which is what lets a respondent email themselves a link back to it — see Entries, resume & edit links.

Files uploaded to a form that was never submitted are swept away automatically, as are checkouts that were opened and abandoned. Neither shows up in your responses.

#More on forms