Block 1 - When clicking ‘Execute workflow’
- Type / Role
- n8n-nodes-base.manualTrigger - manualTrigger
- Config choices
- Version 1
This workflow is provided as-is. Please review and test before using in production.
Description: This workflow automates a complete CRM → Sheets → AI → Email reporting pipeline for HighLevel opportunities. It fetches fresh opportunity data from HighLevel, validates and normaliz...
n8n-nodes-base.manualtrigger, @n8n/n8n-nodes-langchain.lmchatazureopenai, n8n-nodes-base.highlevel, n8n-nodes-base.if, n8n-nodes-base.googlesheets, n8n-nodes-base.code, n8n-nodes-base.gmail, @n8n/n8n-nodes-langchain.agent
This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Rahul Joshi.
Original n8n.io sourceThis workflow automates a complete CRM → Sheets → AI → Email reporting pipeline for HighLevel opportunities. It fetches fresh opportunity data from HighLevel, validates and normalizes every record, syncs all structured opportunities into a Google Sheet, merges them into a single dataset, and then uses GPT-4o to generate a clean, Gmail-friendly HTML report summarizing all opportunities for the day. Finally, it emails the formatted report directly to the sales inbox—creating a fully automated, zero-touch Daily Opportunity Insight System. Invalid or incomplete CRM entries are logged automatically, ensuring data hygiene and auditability.
▶️ When Clicking ‘Execute Workflow’ (Manual Trigger) Starts the daily reporting pipeline manually or on schedule.
📥 Fetch Opportunities from HighLevel CRM Retrieves the latest opportunities (limit = 5) from HighLevel along with company, contact, source, and pipeline metadata. Acts as the primary CRM input.
🔍 Validate Opportunity Data Payload (IF Node) Checks whether each record contains a valid id. ✅ Valid → proceed to extraction and normalization ❌ Invalid → sent to Google Sheets for cleanup
⚠️ Log Invalid Opportunities to Google Sheets Saves corrupt or incomplete CRM payloads into an error sheet. Supports CRM maintenance and future corrective actions.
🧾 Extract Key Fields from HighLevel Data (Code Node) Pulls only essential fields from each opportunity: id, name, company, email, phone, source, assignedTo, pipelineId, stageId, tags, monetaryValue, and timestamps. Produces a simplified, uniform data structure.
🛠 Normalize Opportunity Structure (Code Node) Cleans and standardizes each opportunity’s schema: ensures consistent field naming, fills contact info when nested, resolves pipeline/stage fields, and finalizes structure for sheet update.
📊 Update Opportunity Records in Google Sheets Upserts (append/update) each opportunity into the ghl database tab of sample_leads_50. Matching key: id Keeps HighLevel CRM and Google Sheets fully synced.
🧩 Merge All Opportunities into a Single JSON Array Combines every normalized opportunity into one array named opportunities. This consolidated payload is passed to GPT-4o for table generation.
🧠 Configure GPT-4o Model (Azure OpenAI) Initializes GPT-4o as the AI engine responsible for generating the final HTML summary.
📄 Generate Daily Opportunity Summary Report (AI Agent) GPT-4o transforms the merged opportunity dataset into a structured HTML report:
📧 Send Daily Opportunity Summary via Gmail Emails the final HTML report to the internal sales inbox with subject: “Daily Opportunity Report – Summary of New Leads” Optimized for Gmail + Outlook rendering.
HighLevel OAuth connection Azure OpenAI GPT-4o credentials Google Sheets OAuth (Techdome account) Gmail API connection for report delivery
✅ Automatic syncing of HighLevel CRM opportunities into Sheets ✅ AI-generated HTML dashboards without manual formatting ✅ Clean, readable daily insights for sales teams ✅ Built-in error logging for bad CRM records ✅ Zero manual intervention required after setup
Sales & Growth Teams using HighLevel CRM Operations teams maintaining CRM hygiene Agencies needing daily pipeline visibility Organizations wanting automated AI-generated opportunity summaries
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.
| Workflow | Sync HighLevel CRM to Google Sheets with GPT-4o daily reports via Gmail |
|---|---|
| Complexity | advanced |
| Nodes | 22 |
| Categories | CRM, AI Summarization |
| Author | Rahul Joshi |
| Published | 14 Nov 2025 |
Use the JSON export at /data/workflows/10838/10838.json as the source template for this automation.
Open n8n, import the downloaded JSON, and review each node before activating the workflow.
Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.
Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.
Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.
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.
Description: This workflow automates a complete CRM → Sheets → AI → Email reporting pipeline for HighLevel opportunities. It fetches fresh opportunity data from HighLevel, validates and normaliz...
Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.
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 Summarization use case.