This workflow corresponds to n8n.io template #4641 — we link there as the canonical source.
This workflow follows the Agent → Chainsummarization recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "Gn5M1FfXUAVy6h9l",
"meta": {
"templateCredsSetupCompleted": true
},
"tags": [],
"nodes": [
{
"id": "3d621f41-b73a-406a-bfda-fac0d2ed1499",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
340
],
"parameters": {
"color": 4,
"width": 540,
"height": 560,
"content": "## Router agent\nMakes decisions with the help of an LLM \n- Analyzes the content\n- Decides which part of the transcript is relevant to the different departments\n- Sends the emails to the departments\n"
},
"typeVersion": 1
},
{
"id": "249c22aa-58ca-40df-9157-7a00fbfd3dff",
"name": "Router Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"notes": "Route the client feedback topics to the relevant department ",
"position": [
960,
540
],
"parameters": {
"text": "={{ $('Webhook').item.json.body['Client Conversation'] }}",
"options": {
"systemMessage": "=You are provided with some client-company conversation and should decide who has to be informed about the feedback. Always only inform one person. Those are your options: \n- It's about a product, send an email to {{ $('Define routing emails').item.json['Support Email'] }}\n- It's about an invoicing problem, send an email to {{ $('Define routing emails').item.json['Administrative Email'] }}\n- It's related to a travelling/trip, send an email to {{ $('Define routing emails').item.json['Commercial Email'] }}\n\nAdd the email of the person (\"{{ $('Webhook').item.json.body['Client Email'] }}\") at the beginning of the text preceded by \"FROM CLIENT: \"\nUse the Mailjet tool to inform each of the most related department. Provide mailjet with a subject, an email, and the email body formated as html which is the client conversation itself."
},
"promptType": "define"
},
"notesInFlow": true,
"typeVersion": 1.8
},
{
"id": "cffeafac-75e0-4a60-91d3-0a7d3bdb7371",
"name": "Summarization",
"type": "@n8n/n8n-nodes-langchain.chainSummarization",
"notes": "The transcript summarized here",
"position": [
360,
140
],
"parameters": {
"options": {
"summarizationMethodAndPrompts": {
"values": {
"prompt": "=Summarize the following Converstaion in 2-3 sentences:\n\n\"{{ $('Webhook').item.json.body['Client Conversation'] }}\"\n\nJust output the summarized conversation and nothing else. Use the same language as the input",
"summarizationMethod": "stuff"
}
}
}
},
"notesInFlow": true,
"typeVersion": 2,
"alwaysOutputData": false
},
{
"id": "ac5a16de-efb5-4603-bb52-2d85b007bf86",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
460,
420
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "8644b46e-b64c-415b-acfc-103ef5c71903",
"name": "Gmail",
"type": "n8n-nodes-base.gmailTool",
"position": [
1040,
760
],
"parameters": {
"sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {
"appendAttribution": false
},
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "b02e1dad-6f07-4215-a89b-fb0763232bcb",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
40
],
"parameters": {
"color": 4,
"width": 260,
"height": 260,
"content": "## Set emails here\nFor each responsible person"
},
"typeVersion": 1
},
{
"id": "fec711e6-837a-4722-83b9-dc838770fcb3",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-300,
40
],
"parameters": {
"color": 4,
"width": 260,
"height": 260,
"content": "## Webhook \nTo be used to send the transcription."
},
"typeVersion": 1
},
{
"id": "2af225aa-95b9-4578-9c8c-0c49bb5e8510",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
40
],
"parameters": {
"color": 4,
"width": 540,
"height": 280,
"content": "## Save transcription to Hubspot\n- Search for the client ID based on his email\n- Upload the summarized conversation as meeting notes"
},
"typeVersion": 1
},
{
"id": "fb226ebf-b62f-48ef-b291-17b4beb30ebc",
"name": "Slack",
"type": "n8n-nodes-base.slack",
"position": [
880,
-160
],
"parameters": {
"text": "=Below is the latest summary.\n\n{{ $json.response.text }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C08VCE4AYNL",
"cachedResultName": "n8n"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 2.3
},
{
"id": "5622a2af-726d-468c-88b2-22d66a449128",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
-280
],
"parameters": {
"color": 4,
"width": 540,
"height": 300,
"content": "## Send the summary to Slack and WhatsApp\n- Configure Slack Channel\n- Configure WhatsApp Recepient"
},
"typeVersion": 1
},
{
"id": "d8b2181f-1c52-417b-9fdd-776e64a920ab",
"name": "WhatsApp Business Cloud",
"type": "n8n-nodes-base.whatsApp",
"position": [
1120,
-160
],
"parameters": {
"template": "n8n_workflow_latest|en",
"components": {
"component": [
{
"bodyParameters": {
"parameter": [
{
"text": "={{ $('Webhook').item.json.body['Your Name'] }}"
},
{
"text": "={{ $('Summarization').item.json.response.text }}"
}
]
}
}
]
},
"phoneNumberId": "702894569566382",
"recipientPhoneNumber": "={{ $('Webhook').item.json.body['WhatsApp Contact Number'] }}"
},
"credentials": {
"whatsAppApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "039c62d8-3a33-4436-9577-e2dc45f9e694",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-220,
140
],
"parameters": {
"path": "1ffeacc2-1dbd-4a9e-bf3f-6811ddd31642",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "941ea710-68a5-46c7-b622-bf88b96430a7",
"name": "Define routing emails",
"type": "n8n-nodes-base.set",
"position": [
60,
140
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "099d5326-3452-47b8-9dc0-acc0e6fd951e",
"name": "Support Email",
"type": "string",
"value": "user@example.com"
},
{
"id": "4ed84290-dbf7-47f7-8693-4f95e0c2fd7e",
"name": "Administrative Email",
"type": "string",
"value": "user@example.com"
},
{
"id": "614d4a5c-c9f2-4d82-bfcb-cfdcc8a4b07d",
"name": "Commercial Email",
"type": "string",
"value": "user@example.com"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8af03b9d-b647-4d4c-8903-dd32e4b6a434",
"name": "HubSpot Search Client",
"type": "n8n-nodes-base.hubspot",
"notes": "Search for the id",
"position": [
880,
160
],
"parameters": {
"operation": "search",
"authentication": "oAuth2",
"filterGroupsUi": {
"filterGroupsValues": [
{
"filtersUi": {
"filterValues": [
{
"value": "={{ $('Webhook').item.json.body['Client Email'] }}",
"propertyName": "email|string"
}
]
}
}
]
},
"additionalFields": {}
},
"credentials": {
"hubspotOAuth2Api": {
"name": "<your credential>"
}
},
"notesInFlow": true,
"typeVersion": 2.1
},
{
"id": "cb2bb828-ca8c-473a-a485-c8cde6116388",
"name": "HubSpot Save Notes",
"type": "n8n-nodes-base.hubspot",
"notes": "Add meeting notes in the contact form",
"position": [
1120,
160
],
"parameters": {
"type": "meeting",
"metadata": {
"body": "={{ $('Summarization').item.json.response.text }}",
"title": "New meeting"
},
"resource": "engagement",
"authentication": "oAuth2",
"additionalFields": {
"associations": {
"contactIds": "={{ $json.properties.hs_object_id }}"
}
}
},
"credentials": {
"hubspotOAuth2Api": {
"name": "<your credential>"
}
},
"notesInFlow": true,
"typeVersion": 2.1
}
],
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "428e832a-7b0e-4e88-9695-6d793067deb8",
"connections": {
"Gmail": {
"ai_tool": [
[
{
"node": "Router Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Slack": {
"main": [
[
{
"node": "WhatsApp Business Cloud",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Define routing emails",
"type": "main",
"index": 0
}
]
]
},
"Router Agent": {
"main": [
[]
]
},
"Summarization": {
"main": [
[
{
"node": "Router Agent",
"type": "main",
"index": 0
},
{
"node": "HubSpot Search Client",
"type": "main",
"index": 0
},
{
"node": "Slack",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Summarization",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Router Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Define routing emails": {
"main": [
[
{
"node": "Summarization",
"type": "main",
"index": 0
}
]
]
},
"HubSpot Search Client": {
"main": [
[
{
"node": "HubSpot Save Notes",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2hubspotOAuth2ApiopenAiApislackOAuth2ApiwhatsAppApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates the process of handling conversation transcriptions and distributing key information across your organization. Here's what it does:
Source: https://n8n.io/workflows/4641/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow automates customer feedback processing by analyzing sentiment, identifying key issues, generating personalized responses, and escalating critical cases to support teams when required. De
This workflow automates credit operations onboarding by running KYC verification, credit bureau checks, identity validation, and sanctions screening through a single AI-powered agent. Built for credit
This workflow automates credit operations onboarding by running KYC verification, credit bureau checks, identity validation, and sanctions screening through a single AI-powered agent. Built for credit
• Webhook receives lead form submissions from your website • AI Agent (GPT-4o) analyzes lead quality using intelligent scoring framework • Clearbit enriches company data automatically (employee count,
Form Stickynote. Uses hubspot, stickyNote, agent, chainSummarization. Event-driven trigger; 14 nodes.