此页面还没有简体中文版,暂以英文显示。

Add an Accept button to your HTML proposal (and get the client's yes by email)

Quick answer

Add a small form to the proposal page, with the package the client picks, their name and email, an optional note, and an Accept button. Publish it on a host that keeps form entries, and each answer arrives by email and stays in a list you can download. It records the client's yes, not a signature and not an invoice: a signed contract and the bill come next, from your e-signature and invoicing tools.

Publish my proposal

Free plan: no credit card, 50 form entries a month shown, 1 published page. A private link or a password is Pro.

On this page

"Looks good, let's go" in a reply email gets lost in a thread, and it rarely says which option the client chose. An Accept button on the proposal page asks the question in one place: which package, who is saying yes, and anything to change first. Their answer reaches you as an email and stays in a list.

The form to add

Paste this prompt into Claude or ChatGPT in the chat that wrote the proposal. Change the package names to yours.

Add an "Accept this proposal" section at the end of the proposal page, with a plain HTML form. Rules:

- A <form method="post"> with no action attribute and no onsubmit attribute. Add no JavaScript anywhere on the page.
- Radio buttons that share name="package", one for each package in the price table, using the package names exactly as the table writes them. Put them in a <fieldset> with the <legend> "Choose a package". Make one choice required.
- A text field name="name" labelled "Your name" and an email field name="email" labelled "Your email", both required.
- A textarea name="note" labelled "Anything to change before we start? (optional)".
- A required checkbox name="agree" labelled "I accept this proposal as written above".
- One submit button: "Accept the proposal".
- Every field has a visible <label>. On a phone, each field fills the width and the button is easy to tap.
- In the print stylesheet, hide the form.

Give me the whole page again as one HTML file.

The finished form looks like this, and you can paste it in yourself instead:

<section id="accept">
  <h2>Accept this proposal</h2>
  <form method="post">
    <fieldset>
      <legend>Choose a package</legend>
      <label><input type="radio" name="package" value="Essential" required> Essential</label>
      <label><input type="radio" name="package" value="Standard"> Standard</label>
      <label><input type="radio" name="package" value="Complete"> Complete</label>
    </fieldset>
    <label for="name">Your name</label>
    <input id="name" name="name" type="text" autocomplete="name" required>
    <label for="email">Your email</label>
    <input id="email" name="email" type="email" autocomplete="email" required>
    <label for="note">Anything to change before we start? (optional)</label>
    <textarea id="note" name="note" rows="3"></textarea>
    <label><input type="checkbox" name="agree" value="Yes" required> I accept this proposal as written above</label>
    <button type="submit">Accept the proposal</button>
  </form>
</section>

Why these rules: Convika connects a form that sends nowhere and keeps its own fields, labels, and look. That works when the form has no action, its radio buttons share a name, it has a send button, and no script on the page sends data somewhere else. The email field also lets you answer the client by replying to Convika's email.

Put the Accept button live in 5 steps

Upload the proposal with its form

On the Convika dashboard, select Upload an HTML file. Choose Upload a file, or Paste code for the AI's code, and click Create my preview. Files can be up to 2 MB.

Connect the form

The page's screen says A form on this page sends entries nowhere. Click Connect this form. Convika makes a new preview version whose form sends its entries to Convika, with the fields you wrote: the package, the name, the email, the note, and the checkbox.

If the screen says the form can't keep its own fields, it names the reason. "Its choice buttons have no name" means the radio buttons need a shared name. "It has no send button" means the form needs a submit button. Ask the AI to fix that one thing and upload again.

Check the preview

Click Open preview and look at the form on your phone. You can press Accept the proposal there, but test entries in a preview aren't saved.

Publish

Click Publish page. Under Who can open this page?, choose Public and click Next. The first time you publish, Convika shows Publish free, and under it Publish without the Convika bar, which opens an order for Pro monthly ($12 a month). To publish on Free, click Publish free. A Free page is public, and search results may list it. To keep a priced proposal private, pick Private link or Only people with the password instead, on Pro: sending a client an HTML proposal as a link compares them.

Send one test from the live page

Open the live link on your phone, accept with your own email, and check that the email reaches your inbox. That test is saved and counts toward the month's entries. Delete it from the list, then send the client the link.

What arrives, and where

  • An email for each answer. Its subject reads "New form entry on" and your page's name, with every answer inside: the package, the name, the email, the note, and the checkbox. Click reply, and your message goes to the email address the client typed. The first entry on a page also sends a "First entry on" email, once.
  • A list on the dashboard. On the page's screen, click View entries under Forms. Each answer stays there until you delete the form. Download CSV exports them.
  • A count in the overview. The Site overview counts Form answers next to Visitors, so you see the page was opened and answered.
  • Your chat, if you connected Convika. Ask Claude or ChatGPT "Who accepted my proposal, and which package did they choose?" and it reads the entries for you (connect Convika once).
  • A thank-you line for the client. After they press Accept the proposal, the form hides and Convika shows a short thank-you line in its place.

Free shows 50 entries a month across your forms and emails each of those. Entries after that are kept, up to 1,000 more a form each month, and show once you're on Pro, which has no monthly cap.

Let the client choose a package

Radio buttons make the client pick one option, and the email names the package they chose, in their own words from your table. Keep the package names the same in the price table and the form, so the answer matches the price. For add-ons the client can combine, ask the AI for checkboxes that share one name, such as name="addons".

To collect a deposit, send it after the yes, from the invoicing or payment tool you already use. Put a line under the button that says when the deposit request comes, for example: "You'll get the deposit invoice within 1 working day."

An Accept is not a signature or an invoice

The form records what the client chose and typed, and when. It isn't an e-signature: it checks no one's identity and creates no signed document. It also isn't an invoice and sends no bill. Use the Accept as the go-ahead for the next step. Send the contract through an e-signature tool when the work needs a signed agreement, and the bill through your invoicing tool. Convika does neither.

Frequently asked questions

How do I add an Accept button to a proposal?

Add a form to the proposal page with the package choice, the client's name and email, and a button labelled "Accept the proposal". The form must send somewhere that keeps entries. On Convika, upload the page, click Connect this form on the page's screen, check the preview, and publish. Each answer is emailed to you and kept under Forms.

Can a client approve a proposal online for free?

Yes. On Convika's Free plan, a form on the proposal page keeps the client's answer and emails it to you, for up to 50 entries a month shown across your forms. The page itself is public on Free; a private link or a password is Pro ($12 a month).

Is clicking Accept legally binding?

The form records the client's answer; it isn't an e-signature, and Convika makes no claim about what it proves. For a contract that needs a signature, send it through an e-signature tool after the client accepts.

Does Convika email me when the client accepts?

Yes. Convika emails the account owner each new entry as it arrives, with every answer in the message. Replying goes to the email address the client typed. Teammates get the emails once they turn on Form entry emails in Settings.

Can I use my own form, or do I have to use Convika's?

Your own form works. When it sends nowhere, Connect this form keeps its fields, labels, and look, and sends its entries to Convika. If it can't be connected, the dashboard says why and offers a Convika form in its place instead, with fixed fields: email; name and email; or name, email, and message.

The preview shows the form, and its entries aren't saved. Send the client the published page's link.

What happens to the form when I change the proposal?

Start the change from the page's current HTML: click Copy HTML or Download HTML on the page's screen, give it to the AI with your changes, and tell it to leave the form exactly as it is. Then upload the result under Update from an HTML file, and the form stays connected. If the new file leaves the form out, Convika puts its form back near the end of the page.

Next step

How to see who visits a page you made with AI

Count visitors and see where they came from on a page ChatGPT, Claude, or Gemini made. GA4, Cloudflare, Plausible, Clarity, and Convika compared.

Related articles

More on forms and visitor stats

Skipbox

Cheap & fast GitHub Actions runners, unlimited for $39 a month

Your own machine keeps Docker layers and package caches between jobs. Switch by changing one runs-on line.

Start a free Skipbox trial⁠

Skipbox is made by the team behind Convika.

Share this article

Get the client's yes on the page

Upload the proposal with its form. Each Accept arrives in your inbox and stays in a list.

Publish my proposal

Free plan: no credit card, 50 form entries a month shown, 1 published page. A private link or a password is Pro.