extracthtmlcontent html and reviews to list and default data loader
Configured with Document Default Data Loader, Embeddings Open Ai, Execute Workflow, Execute Workflow Trigger, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- Trigger
- Transform
- Files / media
- AI & models
- Web / API
- Routing
- Data store
- Subworkflow
- Code
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| When clicking ‘Test workflow’ | Trigger | Manual Trigger | See node parameters |
| Zip Entries | Transform | Edit Fields | See node parameters |
| Extract Reviews | Transform | Html | extractHtmlContent |
| Reviews to List | Transform | Split Out | See node parameters |
| Default Data Loader | Files / media | Document Default Data Loader | See node parameters |
| Recursive Character Text Splitter | Transform | Text Splitter Recursive Character Text Splitter | See node parameters |
| Embeddings OpenAI | AI & models | Embeddings Open Ai | See node parameters |
| Set Variables | Transform | Edit Fields | See node parameters |
| Get Payload of Points | Web / API | HTTP Request | POST |
| Clusters To List | Transform | Split Out | See node parameters |
| OpenAI Chat Model | AI & models | OpenAI Chat Model | See node parameters |
| Only Clusters With 3+ points | Routing | Filter | See node parameters |
| Set Variables1 | Transform | Edit Fields | See node parameters |
| Find Reviews | Web / API | HTTP Request | POST |
| Prep Output For Export | Transform | Edit Fields | See node parameters |
| Export To Sheets | Data store | Google Sheets | append |
| Clear Existing Reviews | Web / API | HTTP Request | POST |
| Trigger Insights | Subworkflow | Execute Workflow | See node parameters |
| Prep Values For Trigger | Transform | Edit Fields | See node parameters |
| Execute Workflow Trigger | Trigger | Execute Workflow Trigger | See node parameters |
| Get TrustPilot Page | Web / API | HTTP Request | See node parameters |
| Qdrant Vector Store | Data store | Vector Store Qdrant | See node parameters |
| Apply K-means Clustering Algorithm | Code | Code | See node parameters |
| Customer Insights Agent | AI & models | Information Extractor | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
googleSheetsOAuth2ApiopenAiApiqdrantApi
Workflow notes
Step 1. Starting Fresh
Step 1. Starting Fresh
For this demo, we'll clear any existing records in our Qdrant vector store for the selected company. We do this using the Qdrant's delete points API.
Step 2. Scraping TrustPilot For Company Reviews
Step 2. Scraping TrustPilot For Company Reviews
Read more about HTTP Request Node
We'll scrape at the most recent 3 pages of reviews for illustrative purposes but we could easily scrape them all if required. The HTML node offers a convenient way to extract data from the returned html pages and using it, we'll retrieve all the reviews data.
Step 3. Store Reviews in Qdrant
Step 3. Store Reviews in Qdrant
Learn more about the Qdrant Vector Store
Vector databases are a great way to store data if you're interested in perform similiarity searches which applies here as we want to group similar reviews to find patterns. Qdrant is a powerful vector database and tool of choice because of its robust API implementation and advanced filtering capabilities.
Step 5. The Insight Subworkflow
Step 5. The Insight Subworkflow
Learn more about Workflow Triggers
This subworkflow takes the companyId to find the relevant records in our Qdrant vector store. It also takes a "from" and "to" date to scope the insights to a particular range - doing this we can say something like "we only want insights for the past month of reviews".
Step 6. Apply Clustering Algorithm to Reviews
Step 6. Apply Clustering Algorithm to Reviews
Read more about using Python in n8n
We'll retrieve our vectors embeddings for the desired company reviews and perform an advanced clustering algorithm on them. This powerful echnique allows us to quickly group similar embeddings into clusters which we can then use to discover popular feedback, opinions and pain-points!
Step 7. Fetch Reviews By Cluster
Step 7. Fetch Reviews By Cluster
Learn more about using the Code Node
With the Qdrant point IDs grouped and returned by our code node, all that's left is to fetch the payload of each. Note that the clustering algorithm isn't perfect and may require some tweaking depending on your data.
Step 8. Getting Insights from Grouped Reviews
Step 8. Getting Insights from Grouped Reviews
Read more about using Information Extractor Node
Next, we'll use our state-of-the-art LLM to generate insights on our reviews. Doing it this way, we'll able to pull more granular results addressing many key topics within the reviews.
Step 9. Write To Insights Sheet
Step 9. Write To Insights Sheet
Finally, our completed insights to appended to the Insights Sheet we created earlier in the workflow.
You can find a sample sheet here: https://docs.google.com/spreadsheets/d/REPLACE_WITH_DOCUMENT_ID/2PACX-1vQ6ipJnXWXgr5wlUJnhioNpeYrxaIpsRYZCwN3C-fFXumkbh9TAsA_JzE0kbv7DcGAVIP7az0L46_2P/pubhtml
Step 4. Trigger Insights SubWorkflow
Step 4. Trigger Insights SubWorkflow
Learn more about Workflow Triggers
A subworkflow is used to trigger the analysis for the survey. This separation is optional but used here to better demonstrate the two part process.
🚨 Set company here!
🚨 Set company here!
Trustpilot must recognise it as part of the url.
Try It Out!
Try It Out!
This workflow generates highly-detailed customer insights from Trustpilot reviews. Works best when dealing with a large number of reviews.
- Import Trustpilot reviews and vectorise in Qdrant vectorstore.
- Identify clusters of popular topics in reviews using K-means clustering algorithm.
- Each valid cluster is analysed and summarised by LLM.
- Export LLM response and cluster results back into sheet.
Check out the reference google sheet here: https://docs.google.com/spreadsheets/d/REPLACE_WITH_DOCUMENT_ID/2PACX-1vQ6ipJnXWXgr5wlUJnhioNpeYrxaIpsRYZCwN3C-fFXumkbh9TAsA_JzE0kbv7DcGAVIP7az0L46_2P/pubhtml
Need Help?
Join the Discord or ask in the Forum!
Happy Hacking!
Run this once!
Run this once!
If for any reason you need to run more than once, be sure to clear the existing data first.
First Time Running?
First Time Running?
There is a slight delay on first run because the code node has to download the required packages.
extracthtmlcontent html and reviews to list and default data loader
extracthtmlcontent html and reviews to list and default data loader
Purpose and structure
This folder contains the extracthtmlcontent html and reviews to list and default data loader workflow. Its executable nodes use code, documentDefaultDataLoader, embeddingsOpenAi, executeWorkflow, executeWorkflowTrigger, filter, googleSheets, html, httpRequest, informationExtractor, lmChatOpenAi, manualTrigger, set, splitOut, textSplitterRecursiveCharacterTextSplitter, vectorStoreQdrant. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
When clicking ‘Test workflow’, Execute Workflow Trigger
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Splitout/0555_Splitout_Code_Export_Webhook.json MIT; preserve source notices.