Turn your Excel price sheet into a quote calculator for staff or clients
Quick answer
Make two calculators from one Excel price sheet: one for staff, with costs and margins, behind a password, and one for clients with prices only, since anyone can read a web page's source. The client page carries a form that sends you each quote request. Each price change goes live as a new version at the same link.
For your team only, publish it on a private link or behind a password, both with Pro.
Make your team's version
Convika's AI rewrites this calculator from what you write. You try it on your phone before you keep it, with no account.
On this page
- Two calculators from one price sheet
- Ways to put a price sheet in front of staff and clients, compared
- The sample price sheet
- Tiered prices: VLOOKUP's approximate match in JavaScript
- Minimum charge, tax, and rounding
- What the quote shows
- The test table
- The prompt
- Keep costs out of the client file
- Build both calculators in 7 steps
- The quote requests you get
- Change prices without changing the link
- Frequently asked questions
- Sources
Your prices live in a workbook: a tier table, a few options, a minimum order, the tax line, and on another sheet what each job costs you. Staff quote from it on a laptop, and clients email to ask "how much for 500 flyers?". This guide turns that workbook into two phone calculators: one for staff with costs and margins, one for clients with prices only and a form that sends you their quote. It works through a sample flyer price sheet, with the Excel formulas, the JavaScript they become, and 8 test cases with expected totals.
Vendor and Microsoft pages quoted here were read on November 6, 2026.
Two calculators from one price sheet
| Staff version | Client version | |
|---|---|---|
| Who opens it | Your team, on site or on the phone | Anyone you send the link to, or who finds it |
| What it shows | Prices, the quote, your cost, margin, and margin % | Prices and the quote only |
| What's in the file | The price table and the cost table | The price table only |
| Who can open this page? | Only people with the password (Pro) | Public (Free) or Private link (Pro) |
| Form | None needed | "Send me this quote" |
Why two files and not one with the costs hidden: a web page is a file the browser downloads whole. Anyone who opens the client page can save it or read its source, and every number in the file is there, whatever the page hides on screen. So the client file must not contain a cost, a margin, or a markup, not even in a comment.
Why a password for staff, not a private link: Convika's publish dialog describes a Private link as "Anyone with the link can open it, with no password or account. It stays out of search results and out of the gallery." That keeps a page unlisted. It doesn't keep out a client who gets the link forwarded by a staff member. With Only people with the password, Convika's server checks the password before it sends the page, so a forwarded link opens a password screen (how it works).
Ways to put a price sheet in front of staff and clients, compared
| Option | Built from your sheet | Quote requests by form | Cheapest plan that takes them | Where people open it | Keeping costs from clients |
|---|---|---|---|---|---|
| ConvertCalculator | Rebuilt in its editor, with "the functions you know from Excel" | Yes: Starter has Platinum's features under 100 visits a month; Pro takes "200 submissions" a month | Starter, free under 100 visits a month; above that, Pro, $40 / mo (pricing). Hobby: "No submissions" | On your website; custom domains on Platinum | Its pricing page doesn't say |
| Calconic | Rebuilt in its editor | Order Form and Mail Results are premium elements; Light has 750 email notifications a month | Light, $5 a month billed annually, or $6 billed quarterly (pricing) | "any website that supports JavaScript or iFrame embedding", or its custom landing pages | Its pricing page doesn't say |
| An Excel workbook embedded from OneDrive | The sheet itself | No form | Microsoft's embed page names no price | Inside your web page: "Anyone who visits the webpage with this embedded file will be able to view it without signing in" | Costs on another sheet are still in the workbook you share |
The .xlsx file, sent by email | The sheet itself | No, the client emails you back | Nothing extra | Excel or a viewer on the client's phone | The costs travel with the file |
| An AI-written page on Convika | Your AI rewrites the formulas in JavaScript, and you check them with test cases | Your page's own form, connected: entries stored and emailed | Free shows 50 entries a month; Pro shows all, at $12 a month | Its own link, on any phone | Two files: prices only for clients, costs behind a password for staff |
Details from each vendor's page:
- ConvertCalculator describes its free Starter plan as access to "Platinum features like these and more on the Free plan until you reach 100 visits per month." Its FAQ adds: "Once this limit is exceeded, your account will no longer be eligible for the free plan and your live calculators will be disabled." On its pricing page, Hobby is $20 / mo for 2,000 visits with "No submissions"; Pro is $40 / mo for 10,000 visits and 200 submissions, "Perfect for lead generation, product configuration, and quote forms"; Premium is $100 / mo; Platinum is $200 / mo and adds custom domains. The page says to "Pay annually, get two months for free."
- Calconic's free plan has "5 active calculators" and "500 impressions / mo." On its pricing page, Light is $5 a month billed annually (10 active calculators, 3,000 impressions and 750 email notifications a month), or $6 a month billed quarterly (5 calculators, 2,000 impressions, 500 email notifications), both excluding VAT. Paid plans remove the Calconic brand line, and the page offers a "30-day Money Back Guarantee".
- An embedded workbook. Microsoft's OneDrive embed page warns: "Anyone who visits the webpage with this embedded file will be able to view it without signing in." Its page for SharePoint and OneDrive for Business says "You can't edit an embedded Excel for the web workbook", and its interactivity setting is for sorting and filtering tables and PivotTables. Neither page says a visitor can type a quantity into a cell.
The sample price sheet
A small print shop's flyer prices. Every number is the example's. Replace them with yours.
| Flyers ordered, from | Price each, one side |
|---|---|
| 1 | $0.90 |
| 100 | $0.60 |
| 250 | $0.45 |
| 500 | $0.35 |
| 1,000 | $0.28 |
- Both sides: the price each × 1.4, rounded to the cent.
- Lamination: $0.15 a flyer. Design: $45 once.
- Minimum order: $35 before tax. A smaller order gets a "minimum order" line that makes up the difference.
- Sales tax: 8.25% of the subtotal, rounded to the cent.
- Over 10,000 flyers: "Ask us for a price."
- Staff only: cost $0.11 a flyer one side, $0.16 both sides, $0.05 a flyer to laminate, $25 of design time.
The sheet's formulas, with Tiers the named range of the table above:
B2 Quantity (a whole number, 1 to 10,000)
B3 Both sides TRUE or FALSE
B4 Lamination TRUE or FALSE
B5 Design TRUE or FALSE
B8 Price each =VLOOKUP(B2, Tiers, 2, TRUE)
B9 Price each, quoted =IF(B3, ROUND(B8*1.4, 2), B8)
B10 Flyers =ROUND(B2*B9, 2)
B11 Lamination =IF(B4, ROUND(B2*0.15, 2), 0)
B12 Design =IF(B5, 45, 0)
B13 Items =B10+B11+B12
B14 Minimum order =MAX(0, 35-B13)
B15 Subtotal =B13+B14
B16 Sales tax =ROUND(B15*8.25%, 2)
B17 Total =B15+B16
Staff sheet only:
B20 Cost =B2*IF(B3, 0.16, 0.11) + IF(B4, B2*0.05, 0) + IF(B5, 25, 0)
B21 Margin =B15-B20
B22 Margin % =B21/B15
To copy your own formulas out, FORMULATEXT "Returns a formula as a string" (Microsoft): put =FORMULATEXT(B8) beside each cell and paste both columns to your AI. Paste each table as text, with its header row.
Tiered prices: VLOOKUP's approximate match in JavaScript
VLOOKUP(B2, Tiers, 2, TRUE) is the approximate match. Microsoft's VLOOKUP page says it "assumes the first column in the table is sorted either numerically or alphabetically, and will then search for the closest value." In practice it returns the row with the largest "from" quantity that is not above the order, the same as XLOOKUP's match mode -1: "Exact match. If none found, return the next smaller item" (Microsoft). Below the first row, "you'll get the #N/A error value."
The JavaScript for it, with the table written into the file:
// From quantity, price each (one side), sorted by quantity
const TIERS = [
[1, 0.90],
[100, 0.60],
[250, 0.45],
[500, 0.35],
[1000, 0.28],
];
function priceEach(qty) {
let price = null; // null is VLOOKUP's #N/A: no row at or below qty
for (const [from, each] of TIERS) {
if (qty >= from) price = each;
else break;
}
return price;
}
Two things to settle before the AI writes it:
- Every flyer at the tier's price, or each band at its own price. The sample charges every flyer at its tier's price, so 99 flyers cost $89.10 and 100 cost $60.00. A sheet that charges each band separately, like tax brackets, makes 250 flyers $179.55 (99 × $0.90 + 150 × $0.60 + 1 × $0.45) instead of $112.50. Tell the AI which one your sheet does, and test 99, 100, 249, and 250.
- Sorted table, whole numbers. Microsoft: "If the first column isn't sorted, the return value might be something you don't expect." Keep the table sorted in the file, and have the page refuse 0, blanks, and fractions of a flyer.
Minimum charge, tax, and rounding
Write the order of the steps down, because the page has to follow it exactly: price each, both-sides price rounded, each line rounded, items added, the minimum applied, tax on the subtotal rounded, the total. Rounding a line in a different place moves a total by a cent.
Excel's ROUND rounds the number as Excel shows it, half away from zero. JavaScript's own rounding works on the binary number underneath. Two of Microsoft's own ROUND examples, and one line of the sample sheet, show the gap:
| Excel | Excel gives | JavaScript | JavaScript gives |
|---|---|---|---|
=ROUND(2.15, 1) | 2.2 | (2.15).toFixed(1) | "2.1" |
=ROUND(-1.475, 2) | -1.48 | Math.round(-1.475 * 100) / 100 | -1.47 |
=ROUND(138*8.25%, 2) | 11.39 | (138 * 0.0825).toFixed(2) | "11.38" |
The last row is case 5 of the test table below: 230 flyers, $138.00, and a total of $149.39 in Excel against $149.38 from toFixed. Ask the AI for this function and use it for every rounding step:
// Excel's ROUND for digits >= 0: half away from zero,
// on the number read at 15 significant digits, as Excel shows it
function excelRound(x, digits) {
const f = 10 ** digits;
const scaled = Number((Math.abs(x) * f).toPrecision(15));
return (Math.sign(x) * Math.round(scaled)) / f;
}
It gives 2.2, -1.48, and 11.39 for the three rows above. Three more spreadsheet habits to tell the AI about:
- Percent cells. A cell showing 8.25% holds 0.0825. Write 0.0825 in the file, or divide by 100 once, in one place.
- Rounding to a multiple.
MROUND"rounds up, away from zero, if the remainder of dividing number by multiple is greater than or equal to half the value of multiple", but Microsoft lists a known limitation: "MROUND(6.05,0.1) returns 6.0 while MROUND(7.05,0.1) returns 7.1" (Microsoft). JavaScript can't copy a direction Microsoft calls undefined, so test those midpoints if your sheet rounds to 5 or 10 cents. - Rounding up to a step.
CEILING.MATH(x, 0.25)becomesMath.ceil(Number((x / 0.25).toPrecision(15))) * 0.25. Without the 15-digit step, 24.750000000000004, which is what JavaScript gets for 15 × 7.5 × 0.2 × 1.1, rounds up to 25. Check that case in your workbook, too.
What the quote shows
Show every line the price comes from, so a client can see why 250 flyers cost what they do, and staff can read the quote out on the phone. Case 6 below, on the client page:
250 flyers, printed both sides 250 × $0.63 $157.50
Lamination 250 × $0.15 $37.50
Subtotal $195.00
Sales tax 8.25% $16.09
Total $211.09
Prices valid until December 31, 2026 · v1
A 20-flyer order adds a line, "Minimum order $17.00", above the subtotal. The staff page shows the same lines, then Cost $52.50, Margin $142.50 (73.1%).
The test table
Computed with a Node script that follows the formulas above and Excel's ROUND, which matches Microsoft's published ROUND examples. Run each case in your workbook too, and use what your workbook gives.
| Case | Order | Price each | Lines | Subtotal | Tax 8.25% | Total | Staff: cost, margin |
|---|---|---|---|---|---|---|---|
| 1 | 20, one side | $0.90 | $18.00 + $17.00 minimum order | $35.00 | $2.89 | $37.89 | $2.20, $32.80 (93.7%) |
| 2 | 99, one side | $0.90 | $89.10 | $89.10 | $7.35 | $96.45 | $10.89, $78.21 (87.8%) |
| 3 | 100, one side | $0.60 | $60.00 | $60.00 | $4.95 | $64.95 | $11.00, $49.00 (81.7%) |
| 4 | 0 | — | "Enter a whole number of flyers, 1 or more" | — | — | — | — |
| 5 | 230, one side | $0.60 | $138.00 | $138.00 | $11.39 | $149.39 | $25.30, $112.70 (81.7%) |
| 6 | 250, both sides, laminated | $0.63 | $157.50 + $37.50 | $195.00 | $16.09 | $211.09 | $52.50, $142.50 (73.1%) |
| 7 | 500, one side, laminated, design | $0.35 | $175.00 + $75.00 + $45.00 | $295.00 | $24.34 | $319.34 | $105.00, $190.00 (64.4%) |
| 8 | 1,000, both sides, design | $0.39 | $390.00 + $45.00 | $435.00 | $35.89 | $470.89 | $185.00, $250.00 (57.5%) |
Cases 2 and 3 are the tier boundary: one more flyer makes the total $31.50 cheaper. Case 5 is the rounding trap from the section above. Case 8's price each is $0.28 × 1.4 = $0.392, rounded to $0.39 before it's multiplied, as the sheet does in B9.
The prompt
Make the client file first, in a conversation where you paste prices only. Then ask for the staff file. Keeping the costs out of the first conversation is the simplest way to keep them out of the client file.
The prompt is written for the sample flyer sheet. For a cleaning firm, a contractor, or an agency, change rules 3 and 5 to your own sheet's inputs (rooms, square feet, hours, materials), lines, minimum, and tax rate. Change "for flyers" and both titles to your trade, keeping " - staff only" on the staff one, such as "Cleaning quote" and "Cleaning quote - staff only". Keep the other rules as they are.
Below is my price sheet for flyers: the tier table, the options, and the formulas,
pasted from Excel. Make a quote calculator from it as one HTML page that works on a phone.
Rules:
1. One file: HTML, CSS, and plain JavaScript inside it. No libraries, no build step,
no eval, no new Function, no fetch, no XMLHttpRequest.
2. Write the tier table and every price into the file as JavaScript constants.
3. Inputs: quantity (a whole number from 1 to 10,000), both sides (check box),
lamination (check box), design (check box). Over 10,000, show "Ask us for a price".
4. Port each formula as its own named function, in the sheet's order. VLOOKUP with
TRUE is an approximate match on a sorted table: the last row at or below the quantity.
Round with an excelRound(x, digits) function that rounds half away from zero on the
number read at 15 significant digits (Number(x.toPrecision(15))), and round in exactly
the cells the sheet rounds. Never use toFixed for a value you calculate with.
5. Show the breakdown: each line with its quantity and price each, the minimum order
line when there is one, subtotal, sales tax 8.25%, total, "Prices valid until
December 31, 2026", and "v1". Recalculate on every input.
6. Under the breakdown, a form: a text field named "name", an email field named "email",
a tel field named "phone", a text area named "notes" for the job details, a
read-only text area named "quote" that the script fills with the breakdown whenever
it changes, and a "Send me this quote" button. The form has no action and no onsubmit.
The script has no fetch, no window.open, no mailto: or tel: links, and no variable
named location.
7. Large tap targets and one column on a phone. Give the page the title "Flyer quote".
[paste the tier table, the options, and the formulas here]
Then, in the same conversation, for the staff file:
Now make a staff version as a separate file. Same prices, functions, and breakdown,
plus my costs below: show Cost, Margin, and Margin % under the total. No form.
Give it the title "Flyer quote - staff only". Keep the client file exactly as it is.
[paste the cost table and the cost formulas here]
Rule 6 is what lets Convika connect the client form. A form with an onsubmit, or a page whose script calls fetch, opens a window, sets the location, or builds a mailto: or tel: address, is left alone, and a script variable named location reads as one that sets it. Convika's form script also takes the form's submit before the page's own submit code runs, which is why the quote must already be in the text area when the client presses Send me this quote.
Keep costs out of the client file
Before you upload the client file, open it in a text editor and search for:
- each cost from the staff sheet (0.11, 0.16, 0.05, and the design time's 25 in the sample);
- the words cost, margin, markup, and profit, in any spelling, comments included;
- a formula that works the price out from a cost (price = cost × markup), which puts the cost in the file under another name.
Nothing should turn up. Hiding a number with CSS, or leaving it in a variable the page doesn't show, still sends it to every visitor.
The staff file can hold costs because Convika's server checks the password before it sends that file. Everyone with the password reads the same page, so change the password when someone leaves the team: everyone who entered the old one sees the password screen again.
Build both calculators in 7 steps
1. Get the two files from your AI
Send the two prompts above, with your sheet pasted in. Save the files as flyer-quote.html and flyer-quote-staff.html.
2. Check both against your workbook
Open each file in a browser on your computer and type in the 8 cases above, then the same cases in your workbook. Every total has to match to the cent. When one doesn't, ask the AI to show the intermediate values for that case (price each, each line, subtotal, tax before rounding) and compare them with the sheet's cells. Then search the client file as in the section above. For a general check of any AI-made page, read what to check before you share the link.
3. Upload the client file
Sign up at app.convika.com without a card. Click Upload an HTML file, drop the client file on the Upload a file tab, and click Create my preview. The upload box below shows the page with scripts off, so the quote stays blank there until you press Keep this page — free, no card.
4. Connect the "Send me this quote" form
On the page's screen, Convika says "A form on this page sends entries nowhere". Click Connect this form. The form keeps its own fields and look, the read-only quote included, and Convika makes a new preview that sends each entry to you. If no notice appears, a script on the page sends or opens something: read why an AI-made form doesn't send anything.
5. Upload the staff file as its own page
Back on your pages, upload the staff file the same way, with Upload an HTML file, as a page of its own with its own link. The staff file looks like the client page, so Convika may ask "Is this file a new version of this page?" or say "This file looks like a new version of this page". Click Create a new page instead, or Make it a separate page, whichever the card shows. Never click Upload as a new version or Update the live page there: either one puts the staff file, costs and margins included, at the client page's link.
The same goes for publishing. On Free, with the client page already live, the publish dialog may say "This looks like a new version of your live page" or ask "Is this a new version of your live page?". Click Publish it as another page, never Update the live page (free).
6. Publish the staff page behind a password
On the staff page, click Publish page. Under Who can open this page?, choose Only people with the password, type a password of 8 to 128 characters, and click Next. The first time, a password opens an order for Pro monthly (1 day free with a card, then $12 a month). Click Subscribe, free for 1 day and add your card on the next screen. The page goes live once the trial starts or the payment goes through.
7. Publish the client page and send a test quote
On the client page, click Publish page, choose Public, and click Publish. With Pro, the page has no Convika bar, and Pro keeps up to 100 pages live. Open the live link on your phone, type an order, and press Send me this quote: test entries sent from a preview aren't saved. The entry arrives by email, and under View entries on the page's screen.
Only want the client page? Publish it as Public on Free: click Next, and the first time, Publish free. It shows the Convika bar at the foot of the page.
The quote requests you get
Each "Send me this quote" entry holds the client's name, email, phone, notes, and the quote text exactly as the page showed it, with its version line, so you know which prices they saw.
- Email. On Free, Convika shows and emails the first 50 entries a month across your forms; Pro emails them all. Each email holds every answer, and replying goes to the address the client typed. Past 5 entries in a minute, or 100 in a day, on one form, the rest aren't emailed one by one: one email a day says how many there were.
- The list. Under View entries, with Download CSV to open them in Excel.
- How many. On Free, entries past the first 50 a month are kept and show once you're on Pro, which shows them all. Convika accepts up to 5 entries a minute and 20 an hour from one network.
To see which link or campaign brings the requests, read how to see who visits a page you made with AI.
Change prices without changing the link
When a price changes, change the sheet first. Then update each page from the version Convika has, so the client page keeps its connected form:
- On the page's screen, under Update from an HTML file, click Upload a new version.
- In the box titled "Latest version (v1) as HTML" (with your number), click Copy HTML. Paste it into the chat with the new prices, and ask for the next version number and date. For the client page, add: "Keep the form and every script Convika added exactly as they are."
- Run the test table again, with the expected totals from the updated workbook.
- Upload the AI's answer, check the preview, and click Publish v2 at the same link (with your number).
Don't upload a client file the AI made before you connected the form: it brings back the form that sends nowhere, and Convika adds the connected form again near the end of the page, so clients would see two. Clients and staff keep the links they have. Keep one link per calculator, and the version and date at the foot of each page, so a quote request always names the prices it came from. Details: update an AI-made page without changing its link.
Convika doesn't limit a page to company email addresses, single sign-on, or named accounts, and doesn't make it work offline or install as an app. The staff password is one password, shared. You stay responsible for checking every quote the page gives against your own price sheet.
Frequently asked questions
How do I make a pricing calculator in Excel?
Put your prices in a table sorted by the quantity they start at, look up the price each with VLOOKUP(quantity, table, 2, TRUE), add options with IF, apply a minimum with MAX, and round the tax with ROUND(subtotal*rate, 2). The sample sheet on this page has every formula. To let staff or clients use it on a phone, rewrite it as a web page and check it against the workbook.
Can I turn my Excel price sheet into a calculator clients use on their phones?
Yes. Give ChatGPT, Claude, or Gemini the price table and the formulas, ask for one HTML file with plain JavaScript and Excel's rounding, and check it with test cases from your workbook. Then put the file at a link. On Convika, a Public page is free, with the Convika bar.
How do I share a quote calculator without showing my costs?
Make two files. The client file holds prices only, because anyone can read a web page's source. The staff file holds the costs and goes behind a password, which Convika's server checks before it sends the page. Search the client file for each cost number before you upload it.
Is a private link safe for staff prices?
No. A private link is unlisted, not locked: Convika's dialog says "Anyone with the link can open it, with no password or account." A link forwarded to a client opens the page. For costs and margins, choose Only people with the password, which needs Pro.
How do I convert VLOOKUP with approximate match to JavaScript?
Write the table into the file sorted by its first column, then loop through it and keep the last row whose first value is at or below the one you look up. No row at or below it is VLOOKUP's #N/A: show a message instead. The code is in the section on tiered prices above.
Why is my JavaScript total a cent off from Excel?
Usually rounding. Excel's ROUND rounds the number as it shows it, half away from zero, while JavaScript's toFixed and Math.round work on the binary value: (138 * 0.0825).toFixed(2) gives "11.38" where Excel's ROUND gives 11.39. Use one rounding function that reads the value at 15 significant digits, and round in the same cells the sheet rounds.
Can clients send me the quote from the calculator?
Yes, through a form on the page. Ask the AI for a form with a read-only text area that holds the quote, and no action, onsubmit, or sending script. On Convika, click Connect this form: each request is stored, emailed to you, and listed under View entries. Free shows and emails the first 50 entries a month.
What do ConvertCalculator and Calconic cost?
ConvertCalculator's Starter plan is free, with Platinum's features, until you pass 100 visits a month. Past that, it lists Hobby at $20 / mo with no submissions, and Pro at $40 / mo with 200 submissions a month, which is the plan for quote forms. Calconic lists Light at $5 a month billed annually, or $6 billed quarterly, with email notifications. With both, you rebuild the calculator in their own editor, and their pricing pages don't say how they keep costs from clients.
How do I update prices without sending a new link?
Upload the new file as a new version of the same page and publish it. On Convika, click Upload a new version under Update from an HTML file, check the preview, and click Publish v2 at the same link. Everyone's link opens the new prices.
Sources
- ConvertCalculator pricing, no date on the page; read November 6, 2026
- Calconic pricing, no date on the page; read November 6, 2026
- How to add an embedded document or picture into a webpage (Microsoft Support), page date December 18, 2025; read November 6, 2026
- Embed your Excel workbook on your web page or blog from SharePoint or OneDrive for Business (Microsoft Support), page date January 1, 2025; read November 6, 2026
- VLOOKUP function (Microsoft Support), page date January 1, 2026; read November 6, 2026
- XLOOKUP function (Microsoft Support), page date January 23, 2026; read November 6, 2026
- ROUND function (Microsoft Support), page date January 1, 2026; read November 6, 2026
- MROUND function (Microsoft Support), page date January 1, 2026; read November 6, 2026
- FORMULATEXT function (Microsoft Support), page date January 1, 2026; read November 6, 2026
Next step
How to check that an AI-made calculator matches your Excel sheet
Run the same input sets through Excel and the AI's page, compare to a stated tolerance, and find the places where Excel and JavaScript round differently.
Related articles
- Turn an Excel calculator into a web app your team opens on a phoneHave ChatGPT, Claude, or Gemini rewrite your sheet's formulas as one HTML file, test it against Excel, and share a link. Or keep the sheet as the engine.
- Excel macros don't run on iPad: give your team a web tool insteadExcel for iPad opens .xlsm files but won't run VBA, Microsoft says. Compare Office Scripts, Power Apps, remote desktop, and a web tool built from the macro.
- How to password protect an HTML page without code, on your own domainJavaScript passwords sit in the page code. Put an HTML page from ChatGPT or Claude behind a server-checked password on your own domain.
- My ChatGPT-made website form doesn't send anything. How do I fix it?The form on a page ChatGPT or Claude made says thanks, but nothing arrives. Find the cause in 2 minutes, then fix it with a form service or on Convika.
- How to make the signup form on your AI-made page actually workThe form ChatGPT or Claude wrote sends entries nowhere. Compare Formspree, Netlify Forms, Google Forms, and Convika, then set one up step by step.
More calculators built from Excel sheets
AI Skill Pod
Share AI skills with your team, the easy way
Everyone uses your team's skills in their own ChatGPT, Claude or Gemini, on any plan. Send one invite link. Free to start.
Start free on AI Skill Pod