Quote Intake
Automate quote requests sent by email — validate data and prepare quotes for order creation.
The Quote Intake value stream supports the handling of incoming quote requests received by email by transforming submitted request data into structured, ready-to-process quotes that can be transferred to orders.
By defining a trigger on incoming emails, the process automatically initiates and executes a sequence of steps, including validation of customer and product information, identification of missing or unavailable items, and suggestion of suitable alternatives where needed. The template shows how customer, address, cart, and quote data can be prepared automatically, reducing manual checks and repetitive data entry. Exceptions that require human attention are routed to approvers through forms, while validated quote requests can continue toward quote creation with less manual intervention. The setup is always project specific.

Key features and benefits
Automated quote intake
Incoming quote requests from email are parsed and normalized into a structured payload, then orchestrated through the value stream from initialization to quote creation with minimal manual handling.
Customer validation and creation support
Customer records are matched or prepared in Commerce Engine, with legal entity and address alignment so quote data stays consistent before products and pricing are processed.
Product validation with alternative suggestions
Requested lines are checked against the catalog; when matches are partial or missing, the flow can prepare alternative products and structured line data instead of stopping the request.
Cart creation automation
After price matching and form approval, validated quote data is used to create a quote in Emporix, providing a ready basis for cart and order follow-up without re-entering the request details.
Business use cases
The following use cases are examples of typical business scenarios, your implementation may differ based on project requirements.
Processing email-based quote requests
A buyer sends a quote request to a dedicated inbox with a spreadsheet or PDF attachment. The **Incoming Email Quote Data** Make scenario extracts customer and line data, the value stream validates the request, and a quote is created in Emporix.
Preparing quotes when only some products match
Several requested SKUs are found in the catalog, but others are missing or ambiguous. The flow routes to alternative preparation, aligns legal entity and address data where needed, and surfaces the result in a review form so an approver can confirm substitutes before the quote is finalized.
Reviewing and correcting data before quote creation
After pricing, the process sends a form link by email. An approver adjusts customer, product, or address details and submits. Validation runs on the latest data; when it passes, the quote is created and can move toward cart or order follow-up.
Applying automatic acceptance rules by quote value
After the quote is created, net total is compared to a configured threshold. Requests below the limit can be accepted automatically; higher values trigger an email to the merchant for follow-up. Teams adjust thresholds and predicates in the value stream to match their approval policy.
Process flow
The process starts when quote data is received from an incoming email and continues through initialization, customer and product validation, conditional data preparation, form-based review, pricing, and quote creation. Each step has explicit events, conditions, and outcomes so that standard requests can run automatically while exceptions are routed for correction.
Process trigger
The process is triggered when new quote data is received from an incoming email with a quote request attachment. The attachment should contain sufficient customer and product information so the request can be transformed into the target quote model. The Incoming Email Quote Data Make scenario that's underneath, handles email reception, attachment storage, and AI extraction. This scenario produces a normalized quote payload and starts the value stream. Then, the Quote Intake Initialization scenario prepares the quote intake context, including the mixin link, and creates the quote intake record in Orchestration Engine.

Incoming Email Quote Data
Configure the Incoming Email Quote Data scenario to watch for incoming quote requests. In the Gmail module, set a dedicated email as the trigger. Configure the mailbox connection, folder (for example INBOX), and a filter so only quote requests are picked up. For example, a Gmail filter query such as to:quote@example.com for the address that should receive quote requests.
When a sender emails a quote request to that address, the Incoming Email Quote Data scenario starts and processes the message and its attachments.

The Incoming Email Quote Data scenario then stores attachments in Commerce Engine, prepares context variables (for example site), and passes the data to AI extraction before starting the value stream.
Google Gemini quote extraction
The Incoming Email Quote Data scenario includes a Google Gemini module for AI-based extraction. You must have a configured connection and token using API credentials from your Google AI account (Google AI Studio or the Gemini API keys area for your project). Create or import an API key there, then wire it into the Gemini Make module connection so requests are authorized.
The AI module parses quote information from the email attachment into a valid JSON format for the value stream. In this template, Gemini 2.5 Flash is used in the Make module URL settings, for example: /v1beta/models/gemini-2.5-flash:generateContent.

You need your own Google account with access to the Gemini API (for example through Google AI Studio) so you can create API keys and authorize the Gemini connection for your environment.
After the trigger, the value stream initializes the request context, then runs customer and product validation, conditional data preparation, form-based review, and quote creation.
Quote Intake Initialization
You must configure the mixin link in the Quote Intake Initialization scenario so the incoming payload maps to the quote intake data model. In Management Dashboard, open Settings → Mixin schemas and locate the Quote initialization mixin. Open the schema and choose Open Generated JSON to copy the generated JSON schema URL. Use that link in the Quote Intake Initialization scenario, as shown below.


Remember to always save your Make module configurations.
Customer and product validation
The first steps prepare the quote context for the current request, for example by normalizing the payload from the trigger before customer and product checks run.
The process validates the customer using identifiers from the request. A conditional step evaluates whether the customer could be matched:
When the customer is found, processing continues to product validation.
When the customer is not found, an error notification is sent and the flow does not continue through product preparation or quote creation.
Conditional routing after product validation
After product validation, a conditional step evaluates the check results and routes the flow through one of three paths. The branches then merge before pricing and form steps.
Customer and legal entity — when the customer is identified, the flow loads customer master data and aligns location and address information with the correct legal entity.
Product alternatives — when only some requested products are found, the flow suggests catalog alternatives and prepares the resulting line items for the quote.
Product data only — when all requested products are matched, the flow prepares product and line data without alternative suggestions.
These branches ensure that incomplete or unmatched data is handled on the appropriate path while valid cases can continue without interruption.
After the preparation branches converge, the process matches the prices and sends the quote for review. It then waits for the review submission before proceeding with the final quote creation steps. The review is completed through forms sent by email, with each email containing a link to the relevant form.

For more details on step filters, conditional steps, and branching in value streams, see Conditions.
Quote form validation and quote creation
After the quote form is submitted, the flow validates the submitted data against the current quote context. When validation passes, a quote is created in Emporix.
After the quote is created, the flow sets the quote status to open, then a conditional step routes the instance based on the quote net total from the creation response (for example context.'quote.created'.data.price.netTotal):
When the net total is below the configured threshold (in this example, less than
30), the quote status is set to accepted.When the net total is above the threshold (more than
30), the flow retrieves users belonging to the merchant and sends an email so the team can follow up on the high-value quote.

Quote Intake implementations must be tailored to each project, with the goal of reducing manual effort, accelerating quote processing, and ensuring that incoming quote data remains consistent and reliable.
Last updated
Was this helpful?

