Skip to main content

Send low-stock inventory reorder emails from Snowflake with Claude and Outlook

Workflow preview

Workflow preview
100%
Send low-stock inventory reorder emails from Snowflake with Claude and Outlook preview
Open on n8n.io

1. Workflow Overview

Quick overview This workflow runs daily, queries Snowflake for items at or below their reorder level, and groups them by supplier. For each supplier, it uses Anthropic Claude to draft a reorder ema...

Best for

  • CRM automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.set, n8n-nodes-base.scheduletrigger, n8n-nodes-base.snowflake, n8n-nodes-base.if, n8n-nodes-base.noop, n8n-nodes-base.code, n8n-nodes-base.splitinbatches

Source and attribution

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

Original n8n.io source

1.1 Workflow description

Title
Send low-stock inventory reorder emails from Snowflake with Claude and Outlook
Workflow name
Send low-stock inventory reorder emails from Snowflake with Claude and Outlook

Quick overview

This workflow runs daily, queries Snowflake for items at or below their reorder level, and groups them by supplier. For each supplier, it uses Anthropic Claude to draft a reorder email, optionally appends details to a Google Docs log, and sends the email via Microsoft Outlook.

How it works

  1. A Schedule Trigger fires every day at 07:00 (Europe/Helsinki timezone) and passes through a Workflow Config node that holds your optional Google Docs log ID.
  2. A Snowflake query fetches all inventory rows where current_stock <= reorder_level. If no items qualify, the workflow exits cleanly via a Pass Through node with no further action.
  3. A Code node groups the low-stock items by supplier_name, producing one batch per vendor. A SplitInBatches loop then processes each supplier one at a time.
  4. For each supplier, a Set node extracts the supplier email, item count, and a pre-rendered Markdown item list, then passes everything to an LLM chain powered by Claude (claude-sonnet-4-6).
  5. Claude generates a concise, professional reorder request email body in Markdown, constrained by a system prompt to return only the email content with no preamble.
  6. The Markdown output is converted to HTML and optionally appended as a one-line entry to a Google Docs audit log (skipped if no doc ID is configured). The workflow then sends the HTML email to the supplier via Microsoft Outlook before advancing to the next vendor.

Setup

  1. Open the Workflow Config node and set log_doc_id to the document ID from your Google Doc URL (the string between /d/ and /edit). Leave it empty to skip audit logging entirely.
  2. Add your Snowflake credentials to the Query Snowflake DB node and verify the query matches your database name, schema, and table. The expected columns are item_id, item_name, current_stock, reorder_level, supplier_name, and supplier_email.
  3. Add your Anthropic credentials to the Claude Email Generation node.
  4. Add your Microsoft Outlook credentials to both the Send Reorder Email and Send Error Alert nodes. Update the toRecipients field in Send Error Alert to your alert address.
  5. If logging is enabled, add your Google Docs credentials to the Log to Google Docs node.
  6. In n8n Settings > Error Workflow, point to a dedicated error-handler sub-workflow that wires into the Send Error Alert node (it is intentionally unwired in this workflow).

Requirements

  • Snowflake account with an inventory table containing current_stock, reorder_level, supplier_name, and supplier_email columns
  • Anthropic API credentials (claude-sonnet-4-6)
  • Microsoft 365 account with Outlook access
  • Google Docs OAuth2 credentials (only if audit logging is enabled)

Customization

  • Adjust the Snowflake query to match your schema, add filters by warehouse or category, or join additional tables for richer item metadata.
  • Modify the Claude system prompt in Build Email Draft to change tone, language, or email structure — for example to generate Finnish-language emails or include purchase order references.
  • Change the cron expression in When 7am Daily to run at a different time or frequency.
  • Extend the log entry format in Log to Google Docs to include item names, SKUs, or a hyperlink back to the workflow execution.
  • Replace the Google Docs logging step with a Slack notification, a row insert into PostgreSQL, or any other audit destination by swapping the node after Check Configured Doc ID.

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 - Sticky Note

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

Block 2 - Sticky Note1

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

Block 3 - Sticky Note2

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

Block 4 - Sticky Note3

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

Block 5 - Sticky Note4

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

Block 6 - Sticky Note5

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

Block 7 - Sticky Note6

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

Block 8 - Workflow Config

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 9 - When 7am Daily

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.1

Block 10 - Query Snowflake DB

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

Block 11 - If Low Stock Exists

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

Block 12 - Pass Through

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

Block 13 - Group Items by Supplier

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 14 - Loop Over Suppliers

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

Block 15 - Complete Vendor Process

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

Block 16 - Set Supplier Details

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 17 - Build Email Draft

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.4

Block 18 - Claude Email Generation

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.2

Block 19 - Convert Markdown to HTML

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

Block 20 - Check Configured Doc ID

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

Block 21 - Log to Google Docs

Type / Role
n8n-nodes-base.googleDocs - googleDocs
Config choices
Version 2

Block 22 - Skip Logging

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

Block 23 - Send Reorder Email

Type / Role
n8n-nodes-base.microsoftOutlook - microsoftOutlook
Config choices
Version 2

Block 24 - Send Error Alert

Type / Role
n8n-nodes-base.microsoftOutlook - microsoftOutlook
Config choices
Version 2

3. Summary Table

Workflow Send low-stock inventory reorder emails from Snowflake with Claude and Outlook
Complexity advanced
Nodes 24
Categories CRM, Multimodal AI
Author Mychel Garzon
Published 21 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16541/16541.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 Send low-stock inventory reorder emails from Snowflake with Claude and Outlook do?

Quick overview This workflow runs daily, queries Snowflake for items at or below their reorder level, and groups them by supplier. For each supplier, it uses Anthropic Claude to draft a reorder ema...

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 CRM, Multimodal AI use case.