{"product_id":"gmail-rfq-triage-in-n8n-openai-draft-quote-replies","title":"Gmail RFQ Triage in n8n: OpenAI Draft Quote Replies","description":"\u003ch3\u003eTurn incoming RFQ emails into complete, ready-to-send Gmail drafts—automatically\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow monitors your \u003cstrong\u003eGmail\u003c\/strong\u003e for unread RFQ messages, extracts structured quote details with \u003cstrong\u003eOpenAI\u003c\/strong\u003e (including optional PDF text), checks completeness, and then creates a \u003cstrong\u003eGmail draft reply\u003c\/strong\u003e with either a quote skeleton or a targeted request for missing information.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns every minute\u003c\/strong\u003e and triggers when an unread Gmail email matches your configured RFQ subject search query.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNormalizes key metadata\u003c\/strong\u003e (sender, subject, thread ID, timestamp) and prepares the email body for processing.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOptionally extracts PDF attachment text\u003c\/strong\u003e (when a PDF is present) and appends it to the RFQ payload.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUses OpenAI to extract structured RFQ fields\u003c\/strong\u003e, including: company, contact, line items, dates, address, packaging, incoterms, and special requirements. Any unstated fields are left as \u003cem\u003enull\u003c\/em\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates completeness\u003c\/strong\u003e against a configurable required-field list, producing a missing-items summary and a complete\/incomplete flag.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates a draft reply in the same Gmail thread\u003c\/strong\u003e:\n    \u003cul\u003e\n      \u003cli\u003eIf complete: includes a \u003cstrong\u003equote skeleton\u003c\/strong\u003e with line items.\u003c\/li\u003e\n      \u003cli\u003eIf incomplete: requests \u003cstrong\u003eonly the missing details\u003c\/strong\u003e.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eSaaS sales\/ops teams handling frequent \u003cstrong\u003eRFQs\u003c\/strong\u003e and needing faster quote preparation.\u003c\/li\u003e\n  \u003cli\u003eAutomation engineers building a repeatable \u003cstrong\u003eGmail + OpenAI\u003c\/strong\u003e workflow for structured data extraction.\u003c\/li\u003e\n  \u003cli\u003eBusinesses receiving RFQs with PDFs that must be summarized into \u003cstrong\u003equote-ready fields\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGmail Trigger\u003c\/strong\u003e: polls every minute for unread emails using your RFQ subject search query.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNodes\/logic\u003c\/strong\u003e: \u003ccode\u003eif\u003c\/code\u003e, \u003ccode\u003eset\u003c\/code\u003e, \u003ccode\u003ecode\u003c\/code\u003e, plus a \u003cstrong\u003esticky note\u003c\/strong\u003e for guidance within the workflow.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOpenAI\u003c\/strong\u003e: performs RFQ extraction into structured fields and enables completeness checks.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGmail\u003c\/strong\u003e: creates the draft reply in the original thread (requires permission to read unread messages and draft replies).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45741419626675,"sku":"N8N-17599","price":69.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/fRu4kDhgE2UYb-NSCfFy1_ScH0NLkb.png?v=1785316208","url":"https:\/\/buyflowscripts.com\/products\/gmail-rfq-triage-in-n8n-openai-draft-quote-replies","provider":"N8N Commerce","version":"1.0","type":"link"}