{"product_id":"recover-abandoned-quotes-with-gpt-4o-mini-gmail-twilio","title":"Recover Abandoned Quotes with GPT-4o mini, Gmail \u0026 Twilio","description":"\u003ch3\u003eRecover abandoned quotes automatically—GPT-4o mini + Gmail or Twilio\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow finds open, follow-up-worthy quotes in your Google Sheets, re-checks their status via an HTTP call to your CRM, generates a personalized follow-up with OpenAI (GPT-4o mini), and sends it via \u003cb\u003eGmail\u003c\/b\u003e for the first touch or \u003cb\u003eTwilio SMS\u003c\/b\u003e for later touches. Every touch is logged back to Google Sheets so you can track results.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cb\u003eRuns daily at 10:00 AM\u003c\/b\u003e on a schedule.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eReads your Google Sheets\u003c\/b\u003e “Quotes” tab and selects quotes that are \u003cb\u003eopen\u003c\/b\u003e, \u003cb\u003enot opted out\u003c\/b\u003e, and \u003cb\u003edue for the next touch\u003c\/b\u003e based on sent date and touch count (day 2 email, day 7 SMS, day 14 final SMS).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eVerifies quote status via HTTP\u003c\/b\u003e by calling your CRM\/quoting system endpoint to confirm the quote is still open before sending.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eGenerates follow-up copy\u003c\/b\u003e using \u003cb\u003eOpenAI\u003c\/b\u003e (GPT-4o mini) in your business voice—appropriate for email or SMS.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eSends the message\u003c\/b\u003e using \u003cb\u003eGmail\u003c\/b\u003e for the first touch, and \u003cb\u003eTwilio\u003c\/b\u003e SMS for subsequent touches.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eLogs outcomes\u003c\/b\u003e by appending a touch record to the “Touches” tab and recording quotes found closed to the “ClosedLog” tab.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eYou capture quotes in Google Sheets but want \u003cb\u003ere-engagement reminders\u003c\/b\u003e without manual outreach.\u003c\/li\u003e\n  \u003cli\u003eYour team needs \u003cb\u003emulti-step abandoned quote recovery\u003c\/b\u003e (email, then SMS, then final SMS).\u003c\/li\u003e\n  \u003cli\u003eYou rely on a CRM\/quoting system and want \u003cb\u003estatus-safe sending\u003c\/b\u003e by re-checking via HTTP before messaging.\u003c\/li\u003e\n  \u003cli\u003eYou want an auditable trail of every follow-up in Google Sheets for reporting and QA.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cb\u003eGoogle Sheets\u003c\/b\u003e (OAuth2): reads “Quotes”, writes “Touches”, and logs to “ClosedLog”.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eOpenAI API\u003c\/b\u003e: generates email\/SMS follow-up text using \u003cb\u003eGPT-4o mini\u003c\/b\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eGmail OAuth2\u003c\/b\u003e: sends the first follow-up email.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eTwilio\u003c\/b\u003e: sends SMS follow-ups from your configured sending number.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eHTTP\u003c\/b\u003e node: calls your CRM\/quoting tool endpoint to confirm the quote is still open.\u003c\/li\u003e\n  \u003cli\u003eCore workflow logic includes nodes like \u003cb\u003eif\u003c\/b\u003e, \u003cb\u003eset\u003c\/b\u003e, and \u003cb\u003ecode\u003c\/b\u003e (plus a \u003cb\u003esticky note\u003c\/b\u003e for readability).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46217907830963,"sku":"N8N-20850","price":42.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/WhVdXDcip4RtLZ_sqIcne_IIXaDdF8.png?v=1791882516","url":"https:\/\/buyflowscripts.com\/products\/recover-abandoned-quotes-with-gpt-4o-mini-gmail-twilio","provider":"N8N Commerce","version":"1.0","type":"link"}