---
title: "Perplexity research turned into an HTML web page"
kind: "Kit"
category: "Research"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/6123cd9d-fae5-4dd8-bcd1-d7a495659945"
updated: "2026-11-12"
---

# Perplexity research turned into an HTML web page

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow you call with a web address that carries a topic. An AI agent has Perplexity research the topic, and the workflow answers with a finished HTML article page.

Perplexity research turned into an HTML web page is an n8n workflow in the Research category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow turns a topic into a finished HTML article. You call its webhook with `?topic=` and a subject. A model rewrites the topic as a research prompt, and an AI agent has Perplexity research it through a tool. Another chain turns the answer into an article, then into a page styled with Tailwind CSS. The webhook answers with the page. Two optional Telegram nodes post the topic and a short part of the research to a chat. Thirty-eight nodes do the work, beside nine sticky notes.

### Who it suits

Content teams, bloggers and developers who want a first draft page on a topic, with Perplexity doing the searching. Skip it if you need checked facts. The page is model writing on top of search results, so read it before you publish.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Publishing | Editors | Get a researched first draft of a page for a topic | An editor opens the address with a topic and receives a page to edit. |
| Marketing | Content marketers | Make a quick explainer page for a product or a trend | A marketer asks for a page on a new tool and reads it before posting. |
| Education | Teachers | Turn a subject into a one page overview | A teacher requests a page on a subject for a class handout. |
| Software | Developers | Use the webhook as the back end of a small page generator | A developer calls it from a form and shows the HTML that comes back. |

You need solid n8n for this one: a webhook, two credentials, an optional Telegram bot and a workflow that calls itself as a tool.

### Where to use it

An n8n with a public address that can reach OpenAI and Perplexity will run it. The caller only needs a browser or an HTTP request.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file and steps, with a public address for the webhook
- A form or a site: call the webhook with a topic and show the HTML it returns
- Telegram: optional, a chat gets the topic and the first part of the research

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Two accounts are needed and a Telegram bot is optional.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own, with a public address for the webhook |
| OpenAI | An API key, saved in an OpenAI credential, and a model chosen in five nodes |
| Perplexity | An API key, saved in a Header Auth credential named \`Authorization\` with the value \`Bearer\` and your key |
| Telegram | Optional, a bot credential and the id of the chat that gets the posts |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`. Save it once.
2. Open `Call Perplexity Researcher` and pick this same workflow in its Workflow field. The tool runs the lower row.
3. Add an OpenAI credential and select it in the five model nodes, from `gpt-4o-mini` to `gpt-4o-mini5`. Choose a model in each, with function calling for the one behind `Perplexity Topic Agent`.
4. Add the Perplexity Header Auth credential and select it in `Perplexity`.
5. For Telegram, add a credential, select it in `Telegram` and `Telegram2` and replace `<YOUR_TELEGRAM_CHAT_ID>` in `Chat Id` and `Chat Id1`. Without Telegram, disable those two nodes.
6. Open the `Webhook` node, copy its test address, add `?topic=` and a subject, listen for a test event and open the address.

### How to use it

Open the webhook’s address with `?topic=` and your subject added, or call it from a form or a script. The reply is the finished HTML page. Publish the workflow to use the production address.

What to change for a different result

| To change | Where |
| --- | --- |
| The research prompt | \`Prompts\` and \`Improve Users Topic\` |
| The search options | The body of \`Perplexity\`, such as \`effort\`, \`search\_recency\_filter\` and \`max\_output\_tokens\` |
| The article’s shape | The example schema in \`Structured Output Parser1\` |
| The page’s look | The prompt in \`Basic LLM Chain\` |
| The webhook’s path | \`pblog\` in \`Webhook\` |

### Example

A call asks for a page on a topic such as DeepSeek V3.

The topic is rewritten as a research prompt of two sentences. Perplexity answers it from a web search of the last month. The workflow shapes that answer into an article with a title, sections and quotes, and the reply is one HTML page with Tailwind styling.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one has two rows. The upper row is the article pipeline. The lower row is a small workflow that only asks Perplexity, and the agent in the upper row calls it as a tool.

**For experts.** The tool node points at the same workflow, so the file calls itself. Perplexity is reached with a plain HTTP Request to its Agent API, and the answer is read from the `output` list.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Perplexity Topic Agent\` | Agent 1.6 with \`Call Perplexity Researcher\` as its tool | The model behind it must support function calling |
| \`Perplexity\` | HTTP Request 4.2 that posts to \`/v1/agent\` | The body is an object, so quotes in a topic do not break it |
| \`Extract JSON\` | Agent 1.6 with a structured output parser | It turns the research text into the article object |
| \`Basic LLM Chain\` | Builds the final page from the article HTML | The page loads Tailwind CSS 2.2.19 from jsDelivr |

### Good to know

The original called a Perplexity API that has ended, and its model names are due to shut down.

- Perplexity: the original posted to Sonar chat completions with \`llama-3.1-sonar-small-128k-online\`. Perplexity’s docs, read on 12 November 2026, say that support ended on September 27, 2026 and name the Agent API at \`/v1/agent\` as the replacement, which Mindket’s copy uses
- Search scope: the original limited the search to the domain perplexity.ai itself. Mindket’s copy drops that limit
- Models: OpenAI’s deprecations page, read on 12 November 2026, shuts \`gpt-4o-mini-2024-07-18\` down on 14 January 2027 and \`gpt-5-mini\` on 11 December 2026, so choose a model in each node
- No page: an empty topic ends in a Do Nothing node, so the caller gets no page back
- Open address: once the workflow is published, anyone with the webhook’s address can start a run on your keys
- Your data: the topic goes to OpenAI and Perplexity, and Telegram gets the topic and the first 300 characters. The file holds no credential

## README

```markdown
# Perplexity research turned into an HTML web page

An n8n workflow you call with a web address. You pass a topic in the address, an AI agent has Perplexity research it, and the workflow answers with a finished HTML article page.

## What is inside

- `workflow.json`: the workflow as n8n exports it, forty-seven nodes. Thirty-eight do the work and nine are sticky notes that explain the steps. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- The `Perplexity` node called Perplexity's Sonar chat completions with the model `llama-3.1-sonar-small-128k-online`. Perplexity's docs, read on 12 November 2026, say Sonar Chat Completions support ended on September 27, 2026 and name `POST https://api.perplexity.ai/v1/agent` as the replacement. Mindket's copy calls that address with `effort` set to `fast`, a `web_search` tool limited to the last month and 4000 output tokens. `Success Response` now reads the answer from the `output` list.
- The original limited the search to the domain perplexity.ai itself. Mindket's copy drops that limit, so the search covers the web. To limit it again, add `search_domain_filter` to the tool's `filters`.
- The original's sampling options and its flags for images and related questions are not sent, because the Agent API has no direct field for most of them.
- The original pasted the topic into a JSON string, so a quote in the topic broke the call. The copy builds the body as an object.
- The tool node `Call Perplexity Researcher` pointed at the original author's workflow by its id. That field is empty now. Save this workflow once and pick it there, because the lower row is the researcher the tool calls.
- The Telegram chat id was a sample number in a Number field. It is now the placeholder `<YOUR_TELEGRAM_CHAT_ID>`.
- The original copy had stray text after its JSON, which Mindket's copy drops. Several nodes were linked to credentials in the author's n8n. The links are gone, so select your own.
- Nothing else. The prompts and the sticky notes are the file's own.

## Before you start

- An n8n instance with a public address, on n8n Cloud or your own server, because the workflow starts from a webhook.
- An OpenAI API key.
- A Perplexity API key.
- A Telegram bot and the id of the chat it writes to. This part is optional.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`. Save it once.
2. Open `Call Perplexity Researcher` and pick this same workflow in its Workflow field. It runs the lower row, which starts at `Execute Workflow Trigger`.
3. Add an OpenAI credential and select it in the five model nodes, `gpt-4o-mini`, `gpt-4o-mini1`, `gpt-4o-mini2`, `gpt-4o-mini3` and `gpt-4o-mini5`.
4. Choose a model in each of those nodes. The file names `gpt-4o-mini-2024-07-18` in the first and sets none in the other four. OpenAI's deprecations page, read on 12 November 2026, says `gpt-4o-mini-2024-07-18` shuts down on 14 January 2027 with `gpt-6-luna` as the replacement. It also says `gpt-5-mini`, which current n8n uses when none is set, shuts down on 11 December 2026 with `gpt-5.6-terra` as the replacement. The model behind `Perplexity Topic Agent` calls a tool, so pick one with function calling, such as `gpt-5.6-terra`. If a model refuses the temperature option, clear it in that node's options.
5. Add a Header Auth credential for Perplexity. Name it `Authorization` and give it the value `Bearer <YOUR_PERPLEXITY_KEY>` with your own key. Select it in `Perplexity`.
6. For Telegram, add a Telegram credential and select it in `Telegram` and `Telegram2`. Replace `<YOUR_TELEGRAM_CHAT_ID>` in `Chat Id` and `Chat Id1` with your chat's id. Without Telegram, disable those two nodes. A disabled node passes its input on.
7. Open the `Webhook` node and copy its test address. Add `?topic=` and a topic to it, listen for a test event and open the address in a browser.

## How a run goes

1. `Webhook` receives the request, and `Get Topic` takes `query.topic`. `If Topic Exists` stops an empty topic.
2. `Improve Users Topic` (Basic LLM Chain 1.4) rewrites the topic as a prompt of at most two sentences for Perplexity.
3. `Perplexity Topic Agent` (Agent 1.6) is told to use `perplexity_research_tool`, which is `Call Perplexity Researcher`.
4. The tool starts the lower row. `Execute Workflow Trigger` passes the topic to `Chat Id1` and `Telegram2`, which posts it to Telegram. Then `If` checks that a topic exists. After it, `Prompts` sets the system and user texts, and `Perplexity` (HTTP Request 4.2) asks the Agent API. Last, `Success Response` returns the text.
5. Back in the upper row, `Chat Id` and `Telegram` send the first 300 characters of the research to Telegram. `If2` and `Extract JSON` then turn the research into an article object. It has a category, a title, details, a main text, sections with quotes and hashtags.
6. `Article` and `If Article` pass it on. `Create HTML Article` converts it to a title and one line of HTML, and `If HTML` and `Contents` pick the two fields.
7. `Basic LLM Chain` turns that into a full page styled with Tailwind CSS, and `Respond to Webhook` sends it back as text.

## Change the result

- The research prompt: `Prompts` and `Improve Users Topic`.
- Search options: the body of `Perplexity`, including `effort`, `search_recency_filter` and `max_output_tokens`.
- The article's shape: the example schema in `Structured Output Parser1`.
- The page's look: the prompt in `Basic LLM Chain`.
- The webhook's path: `pblog` in `Webhook`.

## Good to know

- An empty topic ends in a Do Nothing node, so the caller gets no page back. Those branches never reach `Respond to Webhook`.
- `If2` and `If Article` compare text written without the leading `=`, so they always pass.
- The caller waits for the whole chain, which makes several model calls in a row.
- The page it returns loads Tailwind CSS 2.2.19 from jsDelivr.
- Perplexity and OpenAI bill their calls to your keys.
- The topic goes to OpenAI and Perplexity. Telegram gets the topic and the first 300 characters of the research.
- Anyone who knows the webhook's address can start a run on your keys once the workflow is published.
- The file holds no credential and no key.
```

## What is in it

3 files, 49 KB, downloaded as a zip.

```text
NOTICE.md  668 B
README.md  6 KB
workflow.json  42 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 31 steps, starting when its webhook is called or when another workflow calls it
- AI: 5 steps call an AI model: Improve Users Topic, Perplexity Topic Agent, Extract JSON, Create HTML Article and Basic LLM Chain
- Sign-ins: Signs in to: Telegram, Perplexity and OpenAI
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 10 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/6123cd9d-fae5-4dd8-bcd1-d7a495659945)
- [Its page on Mindket](https://mindket.com/p/6123cd9d-fae5-4dd8-bcd1-d7a495659945)
