Track parcel returns and refunds with Google Drive, Gmail, and Kontoflux
UnknownUnknown. This template uses community nodes we can't verify statically. Uses community nodes that can't be verified statically (unverified community packages are off by default in 3.0). Static check, last run 2026-10-19.
Community nodes
These come from third-party npm packages. In n8n 3.0 unverified community packages are off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
@mendable/n8n-nodes-firecrawl(web search (Firecrawl), read web page (Firecrawl))
Rarely used nodes in this template: n8n-nodes-base.gmailHitlTool
Nodes used (17)
- Google Drive Trigger
n8n-nodes-base.googleDriveTrigger - Google Drive
n8n-nodes-base.googleDrive - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Http Request Tool
n8n-nodes-base.httpRequestTool - Data Table Tool
n8n-nodes-base.dataTableTool - Gmail Tool
n8n-nodes-base.gmailTool - Gmail Hitl Tool
n8n-nodes-base.gmailHitlTool - Firecrawl Tool
@mendable/n8n-nodes-firecrawl.firecrawlTool - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Data table
n8n-nodes-base.dataTable - AI Agent
@n8n/n8n-nodes-langchain.agent - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Gmail
n8n-nodes-base.gmail - If
n8n-nodes-base.if - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - Mistral AI
n8n-nodes-base.mistralAi
What it does
Quick overview This workflow tracks return shipments and refunds by extracting data from scanned return receipts in Google Drive, enriching it via Gmail and Kontoflux, storing everything in an n8n Data Table, and then monitoring DHL delivery status and refund payments with daily follow-ups and approval-based reminder emails. How it works 1. Triggers when a new receipt scan file is created in a specific Google Drive folder. 2. Downloads the file, runs Mistral OCR to extract text, and uses an LLM to parse the carrier, tracking ID, recipient/shop name, and drop-off date. 3. Uses Gmail and the Kontoflux transactions API (via an LLM agent) to find the matching order confirmation, determine the expected refund amount and payment method split (bank vs PayPal balance), and creates a tracking row in an n8n Data Table with expected delivery and refund dates. 4. Every day at 08:00, reads overdue (not yet delivered) shipments from the Data Table and, for DHL/Deutsche Post tracking IDs, queries the DHL Tracking API and updates the Data Table and emails you a delivery notification when a shipment becomes delivered. 5. Every day at 08:00, reads overdue (not yet refunded) returns from the Data Table, searches for matching incoming credits in Kontoflux (bank and PayPal), and records any received amounts back to the Data Table. 6. If the refund fully matches what was originally paid (by channel), it requests approval by email to mark the return as refunded; otherwise it looks for refund announcements in Gmail, postpones the next check date, or drafts a friendly reminder (optionally using Firecrawl to find a service email address) and sends it after approval. Setup 1. Create an n8n Data Table with the required columns (carrier, trackingid, recipient, amount, handedover, expecteddelivereddate, expectedrefunddate, shipmentdelivered, delivereddate, refunded, refundstatus, friendlyremindersentdate, paidpaypalbalance, paidbank, refundedpaypalbalanceamount, refundedbankamount) and set its ID in all Data Table nodes currently using YOURDATATABLEID. 2. Add credentials for Google Drive OAuth2, Gmail OAuth2 (for searching, approvals, and sending emails), and Mistral Cloud (OCR). 3. Provide API access for the DHL Tracking API (replace YOURDHLAPIKEY), Kontoflux (HTTP Header Auth plus YOURKONTOFLUXWORKSPACEID), and Firecrawl API (for finding contact emails when needed). 4. Add an OpenAI-compatible LLM credential (used by the agents) and, if desired, an Anthropic-compatible credential for fallback models. 5. Replace placeholders such as YOURGOOGLEDRIVEFOLDERID, [email protected], YOUR-N8N-INSTANCE, and the prompt variables like YOURNAME, YOURBANK, and YOURBANKACCOUNTNAME.