AutomationFlowsAI & RAG › Summarize Invoices with AWS Textract, Google Gemini, and Send to Slack

Summarize Invoices with AWS Textract, Google Gemini, and Send to Slack

ByPixcels Themes @pixcelsthemes on n8n.io

This workflow is built for finance teams, operations managers, founders, and businesses that process invoices regularly and want to eliminate manual document handling. It’s especially useful for teams that need quick, structured invoice insights delivered directly to their…

Event trigger★★★☆☆ complexityAI-powered8 nodesForm TriggerAWS S3AWS TextractGoogle GeminiSlack
AI & RAG Trigger: Event Nodes: 8 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #13803 — we link there as the canonical source.

This workflow follows the Form Trigger → Googlegemini recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "183f2352-a016-4e9a-afc5-62202caa492c",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "options": {},
        "formTitle": "invoice extractor",
        "formFields": {
          "values": [
            {
              "fieldName": "data",
              "fieldType": "file",
              "fieldLabel": "data",
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "2258c647-11fc-41a4-bb93-ae743106b4a2",
      "name": "Upload a file",
      "type": "n8n-nodes-base.awsS3",
      "position": [
        240,
        -176
      ],
      "parameters": {
        "fileName": "={{ $json.data[0].filename }}",
        "operation": "upload",
        "bucketName": "test",
        "additionalFields": {}
      },
      "typeVersion": 2
    },
    {
      "id": "998ca05e-e2d7-44dc-881e-d2db7570575b",
      "name": "AWS Textract",
      "type": "n8n-nodes-base.awsTextract",
      "position": [
        256,
        112
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d0b952d3-5a77-420a-82be-d2d5cb6f4ca1",
      "name": "Message a model",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        432,
        112
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-flash",
          "cachedResultName": "models/gemini-2.5-flash"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "you will be given invoice data you have to summarize that invoice with key important things"
            }
          ]
        },
        "builtInTools": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "27ffaaad-8d6b-4e4b-b150-9a95906c3ffe",
      "name": "Send a message",
      "type": "n8n-nodes-base.slack",
      "position": [
        784,
        112
      ],
      "parameters": {
        "user": {
          "__rl": true,
          "mode": "list",
          "value": "U07G370G5MW",
          "cachedResultName": "asana"
        },
        "select": "user",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "0d869e2d-b131-4074-8c8f-23a1794828df",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        -288
      ],
      "parameters": {
        "width": 560,
        "height": 528,
        "content": "## Automate Invoice Data Extraction and Summarization\n\n\n### How it works\n1. A user submits an invoice file through an n8n form.\n2. The uploaded invoice file is automatically stored in your configured AWS S3 bucket.\n3. AWS Textract processes the file to accurately extract all relevant data, such as line items, totals, and vendor information.\n4. Google Gemini then summarizes the extracted invoice details, highlighting key financial and transactional information.\n5. Finally, this AI-generated summary is sent as a direct message to a specified user or channel in Slack.\n\n\n### Setup\n* [ ] Connect your AWS S3 account.\n* [ ] Specify the AWS S3 bucket name for storing invoice files.\n* [ ] Add your Google Gemini API credentials.\n* [ ] Connect your Slack account.\n* [ ] Select the Slack user or channel to receive the invoice summaries.\n* [ ] Ensure your AWS account has the necessary permissions for Textract and S3 operations."
      },
      "typeVersion": 1
    },
    {
      "id": "0fbc07e9-1bb1-4e6f-ad37-67847a5793c2",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -224
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 512,
        "content": "## Upload to AWS and extract text"
      },
      "typeVersion": 1
    },
    {
      "id": "1031b1f7-50a6-4ece-b6fa-c73d756b201e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        32
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 256,
        "content": "## summarize and send to slack"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "AWS Textract": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Upload a file",
            "type": "main",
            "index": 0
          },
          {
            "node": "AWS Textract",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow is built for finance teams, operations managers, founders, and businesses that process invoices regularly and want to eliminate manual document handling. It’s especially useful for teams that need quick, structured invoice insights delivered directly to their…

Source: https://n8n.io/workflows/13803/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Analyze Amazon product reviews with Gemini and save to Google Sheets

Slack, Google Sheets, Google Gemini +1
AI & RAG

This n8n template retrieves verbal brand identity markers from any web site.

HTTP Request, Google Gemini, Form Trigger +1
AI & RAG

Customer Feedback Loop Analyzer. Uses formTrigger, lmChatGoogleGemini, gmail, slack. Event-driven trigger; 11 nodes.

Form Trigger, Google Gemini Chat, Gmail +4
AI & RAG

This workflow automates the process of converting audio meeting recordings into a structured to-do list. It listens for new audio files in a Google Drive folder, transcribes them, extracts action item

Google Drive Trigger, Google Drive, Google Gemini +1
AI & RAG

This n8n workflow converts invoices in PDF format into a structured, ready-to-use JSON, using AI and XML transformation — without writing any code. Upload form → The user uploads a PDF file. Text extr

Form Trigger, Google Gemini, XML