Skip to main content

Catch failed invoice extractions with easybits, Slack, and Google Drive

Workflow preview

Workflow preview
100%
Catch failed invoice extractions with easybits, Slack, and Google Drive preview
Open on n8n.io

1. Workflow Overview

What This Workflow Does Monitors incoming invoice emails and catches extraction failures before they slip through. When easybits Extractor can't extract the invoice number from an attachment, the w...

Best for

  • Invoice Processing automation workflows
  • AI Summarization automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

@easybits/n8n-nodes-extractor.easybitsextractor, n8n-nodes-base.if, n8n-nodes-base.slack, n8n-nodes-base.googledrive, n8n-nodes-base.gmailtrigger, n8n-nodes-base.merge, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Felix.

Original n8n.io source

1.1 Workflow description

Title
Catch failed invoice extractions with easybits, Slack, and Google Drive
Workflow name
Catch failed invoice extractions with easybits, Slack, and Google Drive

What This Workflow Does

Monitors incoming invoice emails and catches extraction failures before they slip through. When easybits Extractor can't extract the invoice number from an attachment, the workflow sends a Slack alert to finance so nothing gets lost. Successfully extracted invoices are archived to Google Drive – only clean, validated files land there.

How It Works

  1. Gmail Trigger – Polls for new emails with attachments every minute
  2. Extraction – The attachment is sent to easybits Extractor
  3. Validation – An IF node checks if invoice_number was successfully extracted
  4. On failure – A Slack alert is sent to finance for manual review
  5. On success – The file is merged back with its extracted data and archived to Google Drive

Why This Matters

Extractor returns null when it can't confidently identify a data point – which is the right behavior (better than hallucinating a value). But without a safety net, those nulls can propagate into your Sheets, your approval flow, or your accounting system. This workflow makes silent failures visible.

Setup Guide

1. Set Up Your easybits Extractor Pipeline

  1. Go to extractor.easybits.tech and create a pipeline for invoice extraction
  2. Make sure your pipeline includes an invoice_number field (this is the field the validation step checks)
  3. Click "Auto-Map Fields" to let the Extractor suggest fields from a sample invoice, then review and save
  4. Copy your Pipeline ID and API Key from Pipeline Details → View Pipeline

> 💡 Tip: You can validate against any field that's critical for your use case – just swap invoice_number in the IF node for whatever field you define as mandatory (e.g. total_amount, vendor_name).

2. Install the easybits Extractor Node

  • n8n Cloud: The node is verified – just search for "easybits Extractor" in the node panel
  • Self-hosted: Go to Settings → Community Nodes → Install and enter @easybits/n8n-nodes-extractor

3. Connect Your Credentials

  1. Gmail Trigger: New Invoice – Add your Gmail OAuth2 credential and confirm the polling interval
  2. easybits: Extract Invoice Number – Enter your Pipeline ID and API Key
  3. Slack: Notify – Extraction Failed – Add your Slack credential and update the target user or channel
  4. Upload to Invoice Folder – Add your Google Drive credential and select the folder where archived invoices should land

4. Adjust the Validation Field (Optional)

The IF node currently checks {{ $json.data.invoice_number }} with the is empty operator. If your pipeline uses a different critical field, update this expression to point at that field.

5. Activate & Test

  1. Click Active in the top-right corner of n8n
  2. Send yourself a test email with an invoice that's hard to read (blurry photo, scanned copy with poor contrast) to force an extraction failure
  3. Confirm you receive the Slack alert
  4. Send a clean invoice to confirm the success branch uploads correctly to Google Drive

🔄 Extending This Pattern

This error handling branch can sit in front of any workflow in the easybits series:

  • Invoice Approval Pipeline – catch failed extractions before they hit Slack approval
  • Document Classification Pipeline – flag documents that couldn't be classified confidently
  • Receipt-to-Sheet – prevent null rows from polluting your expense tracker

The pattern is always the same: Extractor → IF (is empty) → error branch alongside your main path.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - easybits: Extract Invoice Number

Type / Role
@easybits/n8n-nodes-extractor.easybitsExtractor - easybitsExtractor
Config choices
Version 2

Block 2 - Validate: Invoice Number Present

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 3 - Slack: Notify – Extraction Failed

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.4

Block 4 - Upload to Invoice Folder

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 5 - Gmail Trigger: New Invoice

Type / Role
n8n-nodes-base.gmailTrigger - gmailTrigger
Config choices
Version 1.3

Block 6 - Merge: Extracted Data + File

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 7 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Catch failed invoice extractions with easybits, Slack, and Google Drive
Complexity intermediate
Nodes 13
Categories Invoice Processing, AI Summarization
Author Felix
Published 16 Apr 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15098/15098.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Catch failed invoice extractions with easybits, Slack, and Google Drive do?

What This Workflow Does Monitors incoming invoice emails and catches extraction failures before they slip through. When easybits Extractor can't extract the invoice number from an attachment, the w...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Invoice Processing, AI Summarization use case.