Use “Open a quote request” in Recued. Exact-form template that turns one owner-accepted Reception intake response into an order awaiting your price, and records the request itself in the pack's own Records storage. Changes remain behind Recued's approval controls.
Open a quote request
Use “Open a quote request” in Recued. Exact-form template that turns one owner-accepted Reception intake response into an order awaiting your price, and records the request itself in the pack's own Records storage. Changes remain behind Recued's approval controls.
Complete workflow
Use Seller Quote Request in Recued for unspecified pricing, estimate, order, and reception. It includes 7 built-in actions and 4 ready-to-run workflows. Actions that change data use Recued's approval controls.
You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.
Use “Price and send a quote” in Recued. Pin your price onto a waiting quote request, then send the customer a payment link for exactly that figure.
Use “Observe a quote payment” in Recued. It carries out the named workflow using the connections and settings you choose.
Use “Quote board” in Recued. Every quote request against one offer, with the two things you act on: which ones are still waiting for your price, and which ones you have priced and are waiting on the customer. It reads information without changing data in the connected service.
Use “Records runtime” in Recued. It helps you complete this workflow using the connections and settings you choose.
Taking a quote request in
- In Settings -> Seller, create an offer with pricing unspecified and activate it. That is the whole difference between this flow and a fixed-price sale: an unspecified offer has no amount, so an order against it opens in
pricingand waits for you. - In Reception, create one public intake form for enquiries. Require visitor email. This recipe declares the answers it reads in
requires_form_fields, so pairing it to a form that spells them differently is refused while you are still setting up rather than storing nothing on every submission.
- Destination: form_response. ⛔ Not task — that destination materialises its own record from the visitor's answers on approve, which is not what you want in front of an order.
- Accept a test response, open it in Data -> Form responses, choose Automate this form, and clone this installed template. The clone is scoped to that exact form; installing the pack never arms a public trigger.
- Set Seller offer to the unspecified offer's id and Sender account to a registered send-capable mail account.
- Run one accepted response manually. The card shows the order handle — the only order id a customer may ever be shown — the order sitting in
pricing, and the request record this run wrote. - Price it with Price and send a quote. Arm the exact-form trigger only after one request has gone end to end.
⚠ Nothing here names a price, and that is structural rather than stylistic: core.seller.order.open refuses an amount argument outright, so the offer row is the only thing that can carry money and an unspecified offer carries none. The total arrives once, from you, through core.seller.order.quote.
What gets stored locally
Two things are written, in two different places, and they answer different questions.
- The order lives in the seller store and is the authority on phase and money. Nothing here copies that.
- The request record lives in this pack's Records storage and holds what the order cannot: the customer's own description of the work, who to address the quote to, their address, the order handle, and when they submitted.
Price and send a quotelater adds the subject and covering note it emailed.
The row id is derived by the kernel from (offer, submission), so it is the same row on every delivery of the same accepted response.
The run looks for that row before creating it, and the reason is recovery rather than duplication. Open a quote request reports the order as already open on every delivery after the first, so a write gated on that alone would skip forever if a run died between opening the order and writing the row — and the request would never reach the board at all. Gating on the search instead means the next delivery notices the row is missing and writes it.
⚠ requested_at is the visitor's submission time, not the moment the row was written. Sort a board on it for the customer's chronology and on _record.created_at for what this pack learned when — after a recovery run those two are legitimately far apart.
⚠ The description is stored up to 4000 characters, where the card still shows the first 500. The stored copy is the one the board reads.
How it works
Inspect the data fetches, transforms, gates, and output this recipe runs.
Settings
Configurable at install. Defaults shown — change them anytime in Recued.
ack line
setting
=
Thanks for the enquiry — we have it, and we will send you a price shortly.
seller offer id
setting
=
[object Object]
sender mail instance
setting
=
[object Object]
Trust & control
What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.