Skip to main content

Draft and approve client portfolio emails with Gemini, Sheets, Slack and Gmail

Workflow preview

Workflow preview
100%
Draft and approve client portfolio emails with Gemini, Sheets, Slack and Gmail preview
Open on n8n.io

1. Workflow Overview

AI Powered Wealth Management: Automated Client Portfolio Update & Advisor Approval This n8n workflow automates the transition from raw financial trade data to professional client communication. It ...

Best for

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

Tools used

n8n-nodes-base.googlesheetstrigger, n8n-nodes-base.code, n8n-nodes-base.set, @n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.lmchatgooglegemini, n8n-nodes-base.slack, n8n-nodes-base.wait, n8n-nodes-base.switch

Source and attribution

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

Original n8n.io source

1.1 Workflow description

Title
Draft and approve client portfolio emails with Gemini, Sheets, Slack and Gmail
Workflow name
Draft and approve client portfolio emails with Gemini, Sheets, Slack and Gmail

AI-Powered Wealth Management: Automated Client Portfolio Update & Advisor Approval

This n8n workflow automates the transition from raw financial trade data to professional client communication. It monitors a Google Sheet for portfolio changes, uses Gemini AI to draft a personalized, risk-aware explanation email and sends it to an advisor via Slack for manual approval. Once approved, the email is sent automatically via Gmail and the source spreadsheet is updated to "Completed."

Quick Start Implementation

  1. Import the JSON file into your n8n account.
  2. Connect Credentials: Set up OAuth2 for Google Sheets, Gmail, Slack and Google Gemini (AI).
  3. Sheet Setup: Ensure your Google Sheet has columns for Client_ID, Client_Name, Trades_Made and Trigger_Status.
  4. Configure Approval: Update the Slack node with your specific Member ID or Channel ID.
  5. Test: Change a row's Trigger_Status in your sheet to see the AI draft appear in Slack.

What It Does

In the high-stakes world of wealth management, keeping clients informed is vital but time-consuming. This workflow bridges the gap between technical data and human relationship management. It acts as an "AI Assistant" that watches your portfolio database (Google Sheets) for any new trades. Instead of sending a cold list of tickers, it passes that data to an AI model to write a warm, professional narrative.

The workflow prioritizes safety through a Human-in-the-Loop design. Before any client sees the AI-generated content, the draft is sent to a dedicated Slack channel. The advisor can review the logic and tone, then simply click "Approve" or "Reject" via interactive buttons. This ensures that the final communication always meets the firm's compliance and quality standards.

Finally, the workflow handles the "paperwork." If approved, it sends the email through Gmail and updates the spreadsheet status to "Completed." If rejected, it flags the record for "Manual Review," ensuring no client request is ever lost in the shuffle.

Who It's For

  • Wealth Managers & Financial Advisors who want to scale personalized client touchpoints.
  • Investment Operations Teams looking to reduce manual drafting time.
  • FinTech Startups needing an automated communication layer for their portfolio management tools.
  • Customer Success Teams in the financial sector who handle high-volume account updates.

Requirements to use this workflow

  • n8n account.
  • Google Workspace Account: For Google Sheets (database) and Gmail (messaging).
  • Slack Workspace: To receive and action the approval notifications.
  • Google Gemini API Key: To power the AI drafting engine.
  • Credential Permissions: The n8n instance must have "Read/Write" access to your specific Google Sheet.

How It Works & Set Up

1. Trigger & Data Ingestion

The workflow starts with the Google Sheets Trigger node. It is configured to "poll" your sheet every minute. It specifically watches the Trigger_Status column for any updates.

Setup: Select your Spreadsheet and the specific Sheet (tab) name. Ensure "Columns to Watch" is set to your status column.

2. Logic & Contextual Enrichment

The data then moves through a Code Node that parses the stringified trade data (like tickers and amounts) into a format the AI can read.

Setup: The workflow uses "Mock" nodes for Client Risk Profile and Market Context. For production, you should replace these with a "Google Sheets: Get Row" node or an "HTTP Request" node to pull the real risk profile of the client and live market news.

3. AI Drafting

The AI: Draft Client Email node uses the Gemini model to combine the client’s name, their risk level, current market volatility and the specific trades made. It follows a strict prompt to ensure the email is professional and formatted correctly.

4. The Approval Gate

The Slack node sends the draft to the advisor. The message includes two dynamic links: Approve and Reject.

The Wait Node: After sending the Slack message, the workflow "pauses." It will wait for the advisor to click one of those links before moving to the next step.

5. Execution

Depending on the button clicked:

  • Approve: The Switch Node routes the flow to Gmail, sends the message to the client and updates the Sheet status to "Completed."

  • Reject: The flow alerts the advisor in Slack that the draft was discarded and updates the Sheet to "Needs Manual Review."

How To Customize Nodes

  • AI Persona: Edit the "AI: Draft Client Email" node's prompt to change the tone (e.g., make it more "Executive" or "Friendly").
  • Wait Time: Open the Wait: Advisor Action node to change the timeout. If an advisor doesn't respond within 2 days (default), you can set the workflow to automatically reject or notify a manager.
  • Dynamic Email: In the Gmail node, replace the hardcoded "Send To" address with an expression like {{ $json.Client_Email }} to ensure it goes to the correct person.

Add‐ons

  • News API Integration: Replace the "Mock: Market Context" node with a live news feed to provide real-time market insights in the email.
  • PDF Report Attachment: Add a node to generate a PDF summary of the trades and attach it to the Gmail sent to the client.
  • CRM Sync: Add a Salesforce or HubSpot node to log the communication in the client's activity history automatically.

Use Case Examples

  • Standard Rebalancing: Notifying clients when their portfolio is adjusted to stay within risk targets.
  • Market Volatility Alerts: Proactively explaining why trades were made during a market dip.
  • Tax-Loss Harvesting: Explaining the benefits of specific trades made for tax optimization at year-end.
  • New Product Onboarding: Introducing a client to a new asset class added to their portfolio.
  • Compliance Notifications: Ensuring all mandated trade disclosures are sent and logged instantly.

Troubleshooting Guide

Issue Possible Cause Solution
Workflow doesn't trigger Trigger column name mismatch. Ensure the column name in the "Trigger" node matches exactly with the Google Sheet.
AI Draft is nonsensical Input data (Trades) is empty. Check that the Trades_Made column in your sheet contains valid JSON or text.
Slack links don't work n8n Webhook URL is not public. Ensure your n8n instance is accessible from the internet (using a tunnel or static IP).
Gmail fails to send Credential permissions. Re-authenticate your Gmail OAuth2 and ensure "Send" permissions are granted.

Need Help?

Setting up automated financial workflows can be complex. If you need a hand configuring your AI prompts, connecting your live market data or building more advanced "Human-in-the-Loop" systems, we are here to help!

Contact WeblineIndia to customize this workflow or build a custom automation solution tailored to your business needs.

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 - Trigger: Portfolio Updated

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

Block 2 - Parse Trades & Tickers

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

Block 3 - Mock: Client Risk Profile

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

Block 4 - Mock: Market Context

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

Block 5 - AI: Draft Client Email

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 3.1

Block 6 - LLM: Gemini

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 7 - Slack: Request Advisor Approval

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

Block 8 - Wait: Advisor Action

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

Block 9 - Route: Approve vs Reject

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

Block 10 - Gmail: Send to Client

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 11 - Sheet: Mark as Completed

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 12 - Slack: Draft Rejected Alert

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

Block 13 - Sheet: Mark 'Needs Review'

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 14 - Sticky Note

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

Block 15 - Sticky Note1

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

Block 16 - Sticky Note2

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

Block 17 - Sticky Note3

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

3. Summary Table

Workflow Draft and approve client portfolio emails with Gemini, Sheets, Slack and Gmail
Complexity advanced
Nodes 17
Categories CRM, AI Chatbot
Author WeblineIndia
Published 21 Apr 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15204/15204.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 Draft and approve client portfolio emails with Gemini, Sheets, Slack and Gmail do?

AI Powered Wealth Management: Automated Client Portfolio Update & Advisor Approval This n8n workflow automates the transition from raw financial trade data to professional client communication. It ...

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