Generate and send personalized client proposals with OpenAI, SendGrid, Slack, and Google Sheets
Needs changesWhat this workflow does
This AI workflow has 23 nodes and runs when an HTTP POST request hits its webhook URL (plus 1 other trigger). Along the way it connects OpenAI Chat Model. It also calls api.sendgrid.com, sheets.googleapis.com and hooks.slack.com over HTTP.
How it runs
Trigger: When an HTTP POST request hits its webhook URL (plus 1 other trigger).
- Normalize Client Data (Edit Fields (Set)): sets 11 fields: clientName, clientEmail, companyName…
- Wait: pauses before continuing
- JS - Validate and Classify (Code): runs custom JavaScript code
- Filter: keeps only the items that match a condition
- Switch: routes items into 4 branches
- Template - Startup (Edit Fields (Set)): sets 6 fields: templateName, templateId, headerColor…
- Template - Enterprise (Edit Fields (Set)): sets 6 fields: templateName, templateId, headerColor…
- Template - Agency (Edit Fields (Set)): sets 6 fields: templateName, templateId, headerColor…
- Template - Nonprofit (Edit Fields (Set)): sets 6 fields: templateName, templateId, headerColor…
- Template - Standard Default (Edit Fields (Set)): sets 6 fields: templateName, templateId, headerColor…
…plus 10 more steps. See the full node list below.
Services it uses
HTTP calls to: api.sendgrid.com, sheets.googleapis.com, hooks.slack.com
Before you upgrade to n8n 3.0
1 thing in this workflow is removed in n8n 3.0. Fix it before you upgrade:
- AI Agent v1 (old agent modes) in AI - Generate Proposal Copy (v1.6): replace with Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent.
Rather not rewrite it? Many of these flows can be rebuilt in Make (free plan).
| Removed in 3.0 | Replace with |
|---|---|
| AI Agent v1 (old agent modes) AI - Generate Proposal Copy (v1.6) | Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent. |
Nodes used (11)
- Webhook
n8n-nodes-base.webhook - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - Code
n8n-nodes-base.code - Filter
n8n-nodes-base.filter - HTTP Request
n8n-nodes-base.httpRequest - Switch
n8n-nodes-base.switch - Wait
n8n-nodes-base.wait - AI Agent
@n8n/n8n-nodes-langchain.agent - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Respond to Webhook
n8n-nodes-base.respondToWebhook
From the author
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,…