How Stepkiln works
Open Stepkiln from the Framer Marketplace (Plugins in the toolbar) in any project you can edit.
1. Create a form
On the Forms tab, pick a starting point (contact, quote request with a live total, 3-step project inquiry, job application with a CV upload, or blank) and click Create. Nothing is added to your project until you save.
2. Build
Each step is a card. Click a question to edit its label, its name in answers, its type, whether it's required, placeholder and help text. Choice questions take one option per line; add = 35 after an option to give it a price. Add questions with the menu under each step, move them up and down, and add or reorder steps.
Logic. Open Logic on a question (or Step logic on a step) and add conditions: the question or step shows only when all (or any) of them are true. Conditions can only look at earlier answers, so a form never depends on something the visitor hasn't seen yet. An answer to a question that gets hidden again doesn't count and isn't sent.
Totals. A Calculated question shows a live number from a formula. {name} is an earlier answer: numbers count as themselves, a choice as its price, ticked boxes as the sum of their prices (or how many are ticked when they have no prices), a consent box as 1 or 0. Use + - * / ( ), comparisons, min, max, round(x, digits), ceil, floor, abs and if(test, then, else). Example: {service} + max({rooms} - 1, 0) * 25 + {extras}. The relay works the total out again when the answer arrives, so the number you receive is always the form's own.
Files. A File upload question takes the file types you list (blank allows common documents and images), up to 10 files and up to 25 MB per file, and 25 MB per answer in total.
Hidden values. A Hidden value question records the page address, the referrer, a UTM tag, gclid or a fixed text with every answer.
Problems (a duplicate name, a formula that looks ahead, an option with no text) are listed under the steps and block saving until they're fixed.
3. Save and style
Save sends the form to the relay, writes it as a code file in your project (Assets > Code, named Stepkiln_...) and, the first time, puts it on the canvas. Style it in the right-hand panel like any component: font, label font, text, hint, accent, button text, field fill, border and error colours, radius, gap and padding. Show step and Show thanks choose what the canvas displays; the live site always starts at step 1. Saving again rewrites the code file; copies on the canvas keep their styling. Edit the form in the plugin, not in the code file.
4. Deliver
Add destinations on the Deliver tab, then Save delivery:
- Email: up to 5 addresses. Replies go to the visitor when the form has an email question. Optionally send the visitor a copy (hidden values left out).
- Webhook: a JSON POST with
answers(name to value),fields(label, type, value, text) andfiles(name, size, link). The headerStepkiln-Signature: sha256=<hex>is an HMAC-SHA256 of the raw body with the secret shown once after saving;Stepkiln-Submission-Idlets you ignore repeats. - Google Sheets: in your sheet, Extensions > Apps Script, paste the script from the Deliver tab, then Deploy > New deployment > Web app (execute as you, anyone can access) and paste the address that ends in
/exec. Each answer becomes a row; new questions become new columns. - Airtable: a personal access token with
data.records:writeon the base, the base id (starts withapp) and the table. Name columns exactly like your questions. - Notion: an internal integration secret and the database id; share the database with the integration. Columns named like your questions get the answers (text, number, email, phone, URL, checkbox, select, multi-select, date); everything else goes in the page.
- Slack and Discord: an incoming webhook address for the channel.
Failed deliveries are tried again after 1, 5 and 30 minutes, 2 hours and 12 hours. Destinations with problems show the last error. Send a test answer sends sample answers to every destination right away.
Sites that can send answers: your published Framer addresses are added automatically when you save; add custom domains one per line. Answers from anywhere else are refused.
5. Inbox
The Inbox tab lists the latest answers (100 at a time) with their files and delivery status, and downloads them as CSV. Answers and files are deleted after 30 days.
Spam
Every form has a hidden field people never see (bots fill it), a check that the form wasn't sent faster than a person can type, and limits per visitor. Answers caught this way look sent to the bot and are dropped.
License
Building and previewing are free. On the trial each form takes 25 answers over 7 days from its first save, then pauses (visitors see a polite note) until you add a license on the Plan tab; activating moves every form in the project onto it. Paid forms stay live while the license is active, with 7 days of grace if a renewal fails. Keys work on two Framer accounts per seat.