Cartkept™ Quote Form
In reviewNo quote request gets lost
A request-a-quote form for your Shopify store. Each request is saved before any email is sent, so a failed email never loses one, and you are told when an email cannot be delivered.
- Saved before any email is sent
- 3 email attempts for every request
- You are told when an email cannot be delivered
Submitted to Shopify App Review on 8 October 2026. Not in the App Store yet.
Saved in the app first, then emailed. Email status: sent
- Scope requested
- write_draft_orders only
- Email attempts per request
- 3: now, +15 min, +60 min
- Notification emails per store
- 200 per day
- Message length
- 2,000 characters
The problem it fixes
A quote form usually fails without a sound: the email goes to spam or the sender breaks, and the request is gone. You cannot tell a quiet week from a broken form.
- 01
A saved copy of every request, before any email
The request is written to the app first and emailed second. If the email fails, the request is still in your Requests list, with its name, email and items.
Store first, then email (app/lib/proxy.ts)
- 02
You see which requests were emailed
Each request shows its email status: Waiting, Sent or Failed. Press Resend email on any of them. The reply goes straight to the person who asked.
Per-request delivery status and a Resend email button
- 03
A warning when something is wrong
A failed email is retried after 15 and 60 minutes. If it still fails, you get one alert. Another alert comes if requests stop for far longer than your store's usual gap.
Delivery alert and zero-request alert
- 04
From request to draft order in one click
Press Create draft order on a request. Products from the request become real lines in the draft order. A general enquiry becomes a custom item at 0.00 for you to price.
Draft order button, write_draft_orders scope only
- 05
The form keeps your prices visible
The form does not hide prices. It sits on your product page and your cart. It still works if the shopper has JavaScript turned off, and it carries no Cartkept branding.
A plain HTML form posted to an app proxy
How the request-a-quote form works
- 1
Add the form to your theme
The Home page of the app has a three-step setup guide with a link into your theme editor. Add the form block to your product page, your cart, or both.
- 2
Choose the address and the fields
In Settings, type the address that should receive requests. Phone, company and message can each be hidden, optional or required. Name and email are always asked.
- 3
Send yourself a test request
The Home page has a Send test request button. Check that the request shows in Requests and that the email arrives.
- 4
Answer from your inbox
Requests arrive by email with Reply-To set to the shopper. Open Requests in the app to resend an email or create a draft order.
What it watches for you
Every request is counted as stored
The shopper sees the thank-you only after the request is saved. A failure of the email never turns into an error for the shopper.
Failed emails are retried, then you are told
Three attempts: at once, after 15 minutes and after 60 minutes. Then the request is marked failed and you get one alert email, not a stream of them.
Silence is watched against your normal pace
Once your store has at least 8 requests over at least 7 days, a gap far longer than your usual one triggers an alert, and a second email when requests return. Smaller stores get no such alert.
The Home page shows the current state
A health card shows the last request, its delivery status and any problem, such as no recipient address, a failed email or a quiet period.
Limits and your data
- Scope requested
- write_draft_orders only
- Email attempts per request
- 3: now, +15 min, +60 min
- Notification emails per store
- 200 per day
- Message length
- 2,000 characters
- Requests kept
- 3, 6, 12 or 24 months
- Requests listed in the app
- The latest 50
- Not stored
- IP address, browser, page URL, cookies
- Stored about the shopper
- Name, email, and any fields you switch on
- If you uninstall
- On uninstall the app stops sending emails for your store at once. Saved requests are deleted when Shopify sends its shop-erasure notice, about 48 hours later. You can also delete any single request in the app.
- The Free plan
- One form on your product page and cart. Every request is saved and listed with its email status. Resend email, the alerts and the draft order button are included. Notification emails are limited to 200 per store per day.A paid plan is planned. It does not exist yet, and Free stays.
Is it for you?
Let shoppers ask for a quote on my store, and be sure that every request reaches me and none gets lost.
A good fit if
- Stores that take quote requests for custom, bulk or made-to-order items
- Owners who answer requests by email and need to know none were missed
- Stores that want a request turned into a draft order in one click
Not the right app if
- Stores that need a form that hides prices or needs a login to see them
- Stores that need quotes as documents or customer accounts; this app makes neither
- Stores that expect a reply to the shopper sent for them; you answer from your inbox
Why not do it by hand
By hand, or with a plain contact form, a lost request looks the same as a quiet week. This keeps a record of every request, shows which emails went out, retries the ones that did not, and tells you when the flow stops.
Why it will be worth paying for
A paid plan is planned for the extras that save hand work, such as forwarding to more than one address. Free stays. Paid features do not exist yet and are not part of what Free does today.
Last updated 8 October 2026
Changelog
First release, in Shopify App Review
New
- A quote form for your product pages and your cart, added from the theme editor with no code.
- Every request is saved in the app before it is emailed to you, and each one shows whether the email was sent.
- If an email fails, the app tries again, then emails you once, and once more when it recovers.
- Resend a request's email, or turn a request into a draft order in one click.
- Choose which of phone, company and message the form asks for, and how long requests are kept.
- The form matches your theme's colours and fonts, and still works without JavaScript.
Questions before you install
What happens to a quote request if the email fails?
The request is already saved in the app and stays in Requests, marked Waiting, then Failed. The app retries after 15 and 60 minutes, and alerts you once if all three attempts fail. You can press Resend email at any time.
Does sent mean the email reached my inbox?
No. Sent means our email provider accepted the message. We do not yet see a mailbox that bounces it later. That is why every request is also kept in the app, where you can always see it.
What do you store about the people who fill in the form?
Their name and email, plus phone, company and message if you switched those on, the items they asked about, and delivery bookkeeping. We do not store their IP address, browser, page URL or cookies. Requests are deleted after 3, 6, 12 or 24 months, as you choose. The default is 12.
No quote request gets lost
Submitted to Shopify App Review on 8 October 2026. Not in the App Store yet.
Questions first? Write to hello@cartkept.com. We reply within one business day.