Skip to content
FlowHubFluxonLab
A
AI Automationfree

Generate and send personalized client proposals with OpenAI, SendGrid, Slack, and Google Sheets

by Oneclick AI Squadadapted from n8n official workflow galleryUpdated Aug 2026
RequiresAAI AgentCCodeHTTP RequestHTTP RequestOpenAI Chat ModelOpenAI Chat Model
Share Post Share
WeWebhook - New Proposal RequestWebhook - New P…ScPoll - Hourly Form SubmissionsPoll - Hourly F…SeNormalize Client DataNormalize Clien…CoJS - Validate and ClassifyJS - Validate a…FiFilter - Valid Requests OnlyFilter - Valid …HRSend Validation Error NoticeSend Validation…SwSwitch - Client Type RouterSwitch - Client…SeTemplate - StartupTemplate - Star…SeTemplate - EnterpriseTemplate - Ente…SeTemplate - AgencyTemplate - Agen…SeTemplate - NonprofitTemplate - Nonp…SeTemplate - Standard DefaultTemplate - Stan…CoJS - Conditional Pricing LogicJS - Conditiona…WaWait - Rate Limit BufferWait - Rate Lim…AgAI - Generate Proposal CopyAI - Generate P…OpenAI Chat ModelOpenAI Chat Mod…CoJS - Format Proposal DocumentJS - Format Pro…WaWait - Review BufferWait - Review B…HRSend Proposal EmailSend Proposal E…HRLog to Google Sheets TrackerLog to Google S…HRNotify Team - SlackNotify Team - S…RTWebhook Response - SuccessWebhook Respons…WaWait - Data1234567891011121314151617181920212223242526
1/5
STEPS · 26
Starts on an incoming request

Quick overview This workflow accepts proposal requests via webhook or an hourly schedule, normalizes and validates the client data, uses OpenAI to generate a tailored proposal with pricing, then sends it via SendGrid, logs the request to Google Sheets, notifies a Slack channel, and returns a webhook response. How it works Receives a proposal request from a webhook POST (or runs hourly on a schedule) and maps incoming fields into a consistent client schema. Validates required fields, converts the budget to a number, and assigns a budget tier for pricing. If required data is missing, sends a SendGrid email to the requester listing the validation errors. Routes valid requests by client type (startup, enterprise, agency, nonprofit, or default) and applies conditional pricing and discounts to build line items and totals. Uses OpenAI (GPT-4o-mini) to generate a seven-section, personalized proposal based on the client details, project scope, template context, and pricing. Formats the generated proposal into a branded HTML email with an investment breakdown table.

Tags

n8nreference-onlyagentlm-chat-open-ai
Connects
AAI AgentCCodeWHTTP RequestopenaichatmodelOpenAI Chat Model
CategoryAI Automation
Triggermanual
Complexityadvanced
Nodes23
AddedJun 18, 2026

Related workflows

See all AI Automation
ACgmailsheets
free

Analyze YouTube comments with OpenAI, Google Sheets, and Gmail

Quick overview This workflow monitors a Google Sheets list of YouTube video IDs, fetches video details and top comments from the YouTube Data API, analyzes the comments with OpenAI into structured sentiment and themes, emails an HTML report via Gmail, and writes the results back to Google Sheets. How it works Triggers every minute when a row in Google Sheets is added or updated. Reads the video ID and status from the row and continues only if the status is set to “Pending”. Calls the YouTube Data API to fetch the video’s metadata and the top comment threads for that video. Flattens the comment threads, calculates basic stats (comment count and average likes), and compiles a limited comment text block for analysis. If comments exist, sends the compiled comments and video title to OpenAI to generate a structured analysis (sentiment score, sentiment breakdown, themes, questions, feedback, insights, and summary). Builds an HTML email report from the structured results, sends it to the configured recipient with Gmail, and updates the Google Sheet row with the analysis fields; if no comments exist, marks the row as “No comments”. Setup Create or duplicate a Google Sheet with at least “Vi

by Dr. Firas
ACDgmail
free

AI: Summarize podcast episode and enhance using Wikipedia

The workflow automates the process of creating a summarized and enriched podcast digest, which is then sent via email. Note that to use this template, you need to be on n8n version 1.19.4 or later.

by n8n Team
ACembeddingsopenaiopenaichatmodel
free

Handle WhatsApp sales inquiries with OpenAI, Pinecone, Google Calendar, and Slack

Quick overview This workflow handles inbound WhatsApp Business messages with an OpenAI-powered sales agent that uses Pinecone RAG for product answers and Google Calendar tools for scheduling, then either replies on WhatsApp or hands the conversation to Slack, with Slack-based error alerts. How it works Triggers on every inbound WhatsApp Business message and checks whether the payload contains a text body. Drops non-text messages (such as images or voice notes) and continues only with text conversations. Uses an OpenAI chat model with per-customer session memory to generate a concise sales reply and decide whether a human handoff is needed. Lets the agent query a Pinecone-backed product catalog via OpenAI embeddings to answer pricing, specs, and availability questions. Lets the agent check availability and book appointments in Google Calendar when the customer requests scheduling. Parses the agent’s HANDOFF flag and either posts the customer message plus draft reply to a Slack channel or sends the reply back to the customer on WhatsApp. Sends a Slack alert to an ops channel if any step in the workflow fails. Setup Connect WhatsApp Business Cloud credentials and set the WhatsApp Phon

by Redowan Ahmed Farhan