← All N8N workflows
AI & researchCodeDocument Default Data LoaderEmbeddings Open AiExecute WorkflowExecute Workflow Trigger

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.

Workflow preview
TriggerWhen clicking ‘Testworkflow’Manual TriggerTransformZip EntriesEdit FieldsTransformExtract ReviewsHtmlTransformReviews to ListSplit OutFiles / mediaDefault Data LoaderDocument Default Data Lo…TransformRecursive CharacterText SplitterText Splitter Recursive …AI & modelsEmbeddings OpenAIEmbeddings Open AiTransformSet VariablesEdit FieldsWeb / APIGet Payload of PointsHTTP RequestTransformClusters To ListSplit OutAI & modelsOpenAI Chat ModelOpenAI Chat ModelRoutingOnly Clusters With 3+pointsFilterTransformSet Variables1Edit FieldsWeb / APIFind ReviewsHTTP RequestTransformPrep Output For ExportEdit FieldsData storeExport To SheetsGoogle SheetsWeb / APIClear Existing ReviewsHTTP RequestSubworkflowTrigger InsightsExecute WorkflowTransformPrep Values For TriggerEdit FieldsTriggerExecute WorkflowTriggerExecute Workflow TriggerWeb / APIGet TrustPilot PageHTTP RequestData storeQdrant Vector StoreVector Store QdrantCodeApply K-meansClustering AlgorithmCodeAI & modelsCustomer Insights AgentInformation Extractor

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.

Workflow node names, types, and operations
NodeCategoryTypeOperation
When clicking ‘Test workflow’TriggerManual TriggerSee node parameters
Zip EntriesTransformEdit FieldsSee node parameters
Extract ReviewsTransformHtmlextractHtmlContent
Reviews to ListTransformSplit OutSee node parameters
Default Data LoaderFiles / mediaDocument Default Data LoaderSee node parameters
Recursive Character Text SplitterTransformText Splitter Recursive Character Text SplitterSee node parameters
Embeddings OpenAIAI & modelsEmbeddings Open AiSee node parameters
Set VariablesTransformEdit FieldsSee node parameters
Get Payload of PointsWeb / APIHTTP RequestPOST
Clusters To ListTransformSplit OutSee node parameters
OpenAI Chat ModelAI & modelsOpenAI Chat ModelSee node parameters
Only Clusters With 3+ pointsRoutingFilterSee node parameters
Set Variables1TransformEdit FieldsSee node parameters
Find ReviewsWeb / APIHTTP RequestPOST
Prep Output For ExportTransformEdit FieldsSee node parameters
Export To SheetsData storeGoogle Sheetsappend
Clear Existing ReviewsWeb / APIHTTP RequestPOST
Trigger InsightsSubworkflowExecute WorkflowSee node parameters
Prep Values For TriggerTransformEdit FieldsSee node parameters
Execute Workflow TriggerTriggerExecute Workflow TriggerSee node parameters
Get TrustPilot PageWeb / APIHTTP RequestSee node parameters
Qdrant Vector StoreData storeVector Store QdrantSee node parameters
Apply K-means Clustering AlgorithmCodeCodeSee node parameters
Customer Insights AgentAI & modelsInformation ExtractorSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. 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

  • googleSheetsOAuth2Api
  • openAiApi
  • qdrantApi

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.

More in AI & research