Email to quote request
Watches a mailbox for emails in which customers ask for products, with the product list in the email text, and turns each one into a quote request in Propeller. The customer and products are matched, and a sales rep only has to review it.
Runs: Outside Propeller · Trigger: Email · Difficulty: Medium
What you need
- An n8n account. See Set up n8n.
- A Gmail account for the mailbox that receives the requests.
- An OpenAI account.
- A Propeller API key.
How it works
Every minute the workflow checks the mailbox for emails without a PDF and handles them one by one. For each email:
- AI reads the email and picks out the customer, the company, the customer's reference, remarks and the requested products. When someone forwarded the email, the customer comes from the forwarded message.
- Emails that are not a product request, such as out-of-office replies or newsletters, are skipped without a ticket.
- The workflow finds the customer through the customer's email address. Without a match it searches companies and contacts by name, and the AI picks from at most 20 candidates.
- Each product is matched on its article number first, as SKU or EAN. Otherwise the workflow searches the catalogue and the AI picks from at most 10 candidates per product. Quantities always come from the email.
- The workflow creates a quote request with the reference and remarks, sets it to the status in
ORDER_STATUS(defaultREQUEST) and creates a ticket in the Action Hub. Products that could not be matched are listed on the ticket.
Every request ends in exactly one ticket. When the workflow cannot create the quote request, for example because the customer is not found, the ticket says why and quotes the start of the email.
Install it
- In n8n, import the downloaded JSON as a new workflow.
- Connect your Gmail account on the Gmail Trigger node.
- Connect your OpenAI account on the three AI nodes: Extract Request Data, Match Customer and Match Products.
- Create a header auth credential with your Propeller API key and select it on the eight GraphQL nodes.
- In the Settings node, set
CHANNEL_IDto the channel quotes are created in,ASSIGN_TO_ADMIN_USER_IDto the backoffice user who gets the tickets andLANGUAGEto the language of your product names. - Send a test request to the mailbox, run the workflow once manually and check the Action Hub.
- Activate the workflow.
In n8n, create a credential of type Header Auth and fill in its two fields exactly like this:
| Field | What to fill in |
|---|---|
| Name | apiKey |
| Value | Your Propeller API key |
Name is not a title you pick yourself. It has to say exactly apiKey, otherwise the workflow cannot sign in. See Set up n8n for the full steps.
Make it yours
- Which emails: the search filter on the Gmail Trigger node (default
-filename:pdf). Use a mailbox or filter that only receives customer requests. - Purchase orders as PDF: those belong to PO email to draft order.
- The AI model: pick another model on the three AI nodes.
- Status and channel:
ORDER_STATUSandCHANNEL_IDin Settings.
Limits
The AI reads the first 8,000 characters of an email (MAX_BODY_CHARS) and up to 100 products.
A run that takes longer than one hour is stopped and shows as canceled in the n8n executions list.
Use it outside n8n
Copy the JSON into an AI assistant and follow Adjust a workflow with an AI assistant. The same flow works with any mail provider that your workflow tool supports.
The workflows and agents in the Agent Hub are free to use and adapt. They are examples, not supported product features, so test them in a staging environment and check the results before using them in production.
Related pages
- PO email to draft order - the same idea, starting from a PDF purchase order
- Voice to quote request - the same idea, starting from a voice memo
- Action Hub