Skip to content
FlowHubFluxonLab
C
Google Sheetsfree

Classify documents and extract invoice data with LDXhub AnalyzeDoc and Google Sheets

by Hideki Moriadapted from n8n official workflow galleryUpdated Aug 2026
RequiresCCodeGoogle SheetsGoogle Sheets
Share Post Share
FoOn form submissionOn form submiss…LHAnalyzeDoc: Classify DocumentAnalyzeDoc: Cla…EFParse ClassificationParse Classific…SwRoute by TypeCoReattach Original FileReattach Origin…LHAnalyzeDoc: Extract Invoice FieldsAnalyzeDoc: Ext…EFParse Invoice JSONParse Invoice J…Append Invoice to SheetsAppend Invoice …NOReceipt: Add Your FlowReceipt: Add Yo…NOBusiness Card: Add Your FlowBusiness Card: …NOOther: Review ManuallyOther: Review M…CoFlatten for SheetsFlatten for She…1234567891011
1/5
STEPS · 11
Starts on an incoming request

Quick overview This workflow collects uploaded PDFs or images, classifies each document type using LDXhub AnalyzeDoc, and routes it accordingly; invoices get high-detail field extraction and are appended as a new row in Google Sheets. How it works Receives a file upload through an n8n form for a PDF, JPG, or PNG business document. Sends the file to LDXhub AnalyzeDoc (low-detail) to classify it as invoice, receipt, business_card, contract, blank, or other. Parses the returned JSON and routes the execution based on the detected document_type. For invoices, reattaches the original uploaded file and runs LDXhub AnalyzeDoc (high-detail) to extract key invoice fields in structured JSON. Flattens the extracted fields and appends them as a new row in a selected Google Sheets worksheet. For receipts, business cards, and other types, sends the item to placeholder routes where you can add your own processing. Setup Create an LDXhub account, generate an API key, and configure an LDXhub API credential in n8n for both AnalyzeDoc steps. Connect a Google Sheets OAuth2 credential and select the target spreadsheet and worksheet in the append step.

Tags

n8nreference-onlygoogle-sheets
Connects
CCodesheetsGoogle Sheets
CategoryGoogle Sheets
Triggermanual
Complexitycomplex
Nodes12
AddedJul 13, 2026

Related workflows

See all Google Sheets
CsheetsW
free

Generate and vet ad creative with OpenAI, Spendict, Google Sheets, and Slack

Quick overview This workflow collects a product brief via an n8n form, uses OpenAI to generate ad variants, gates each one with Spendict run/fix/kill scoring, auto-rewrites fixable ads, logs approved results to Google Sheets, and posts an approval count to Slack. How it works Receives a product brief from an n8n form submission with product, platform, audience, and desired variant count. Sends the brief to OpenAI Chat Completions to generate multiple ad variants (headline + primary text) in JSON. Splits the OpenAI response into individual variants and submits each one to Spendict’s /assess endpoint for a launch recommendation and score. Routes variants by Spendict verdict: “run” is accepted, “fix_first” is rewritten with the prioritized fixes and re-scored by Spendict, and “kill” is collected as rejected output. Combines accepted and auto-fixed variants and appends them as rows in Google Sheets with status, copy, platform, verdict, and score. Aggregates the logged approved variants and posts a summary message to Slack via an incoming webhook. Setup Add HTTP Header Auth credentials for OpenAI (Authorization: Bearer ) in both OpenAI HTTP Request steps. Add HTTP Header Auth credential

by Spendict
Csheetsyoutube
free

Audit YouTube video metadata changes with Google Sheets and Slack

Quick Overview This workflow runs daily to fetch all videos from a YouTube channel, compare key metadata fields against a prior snapshot stored in Google Sheets, log any differences, and optionally post a summary to Slack. How it works Runs every day at 08:00 on a schedule. Reads your YouTube channel’s uploads playlist and retrieves each video’s current title, description, tags, privacy status, and category. Loads the previous snapshot from Google Sheets and compares the tracked fields to detect added, removed/hidden, or changed metadata. When changes are found, appends each changed field (old value vs new value) to a Google Sheets change log. Clears and rewrites the snapshot in Google Sheets with the latest metadata so the next run compares against today’s baseline. Posts a summary to a Slack channel when changes are detected (or when alwaysNotify is enabled). Setup Add a YouTube (Google) OAuth2 credential and set your target channel ID in the audit options. Add a Google Sheets credential, set the spreadsheet ID, and ensure your spreadsheet has a Snapshot tab and a Change Log tab mapped in the Google Sheets steps. Add a Slack credential and set the target Slack channel ID for the

by Kevin Yu
Csheetsyoutube
free

Unpublish expired YouTube videos using Google Sheets and Slack

Quick Overview This workflow runs daily and checks a Google Sheets embargo schedule for YouTube videos whose unpublish date has passed, then updates their privacy status on YouTube and logs the result back to the sheet while sending a recap (or “nothing due”) message to Slack. How it works Runs every day at 6am on a schedule trigger. Reads your embargo control spreadsheet from Google Sheets. Selects videos whose “Unpublish Date” is today or earlier (using a configured timezone), skips rows already marked Expired, and defaults the target privacy status to private when missing. For each due video, fetches the current video snippet and status from YouTube. If the video is not already at the target privacy status, updates the video on YouTube to private or unlisted while preserving its existing title and category. Updates the matching row in Google Sheets to Status = Expired and writes an “Unpublished At” timestamp, then posts a Slack recap of the processed videos. If no videos are due, posts a “nothing due” notice to the configured Slack channel. Setup Add a YouTube (Google) OAuth2 credential with permission to read and update videos, and select it in both YouTube steps. Add a Google

by Kevin Yu