This workflow corresponds to n8n.io template #9318 — we link there as the canonical source.
This workflow follows the Execute Workflow Trigger → HTTP Request 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": "qExvN2hGizkLq6TF",
"name": "Kagi News - Get",
"tags": [
{
"id": "Aaa1egWKdddg7ajn",
"name": "subworkflow",
"createdAt": "2025-10-05T11:03:01.663Z",
"updatedAt": "2025-10-05T11:03:01.663Z"
}
],
"nodes": [
{
"id": "e680b236-fe1d-49ca-986b-39fe566345b8",
"name": "Start",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
-176,
704
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "category"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "336dae60-4e2f-437e-9aeb-766b37249faa",
"name": "Get Latest Categories",
"type": "n8n-nodes-base.httpRequest",
"position": [
48,
704
],
"parameters": {
"url": "https://kite.kagi.com/api/batches/latest/categories",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "cb901a65-2185-406c-bc02-f5c818d0a146",
"name": "Split Categories",
"type": "n8n-nodes-base.splitOut",
"position": [
272,
704
],
"parameters": {
"options": {},
"fieldToSplitOut": "categories"
},
"typeVersion": 1
},
{
"id": "b214244c-f0cc-49d1-ab1d-86939d1657a1",
"name": "Filter by wanted category",
"type": "n8n-nodes-base.filter",
"position": [
496,
704
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "2be80603-43a8-4866-a968-fe36c1a2427a",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.categoryName }}",
"rightValue": "={{ $('Start').item.json.category }}"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "6e1436bf-4319-455d-8a54-bc362243e645",
"name": "Get Stories in Category",
"type": "n8n-nodes-base.httpRequest",
"position": [
944,
704
],
"parameters": {
"url": "=https://kite.kagi.com/api/batches/latest/categories/{{ $json.id }}/stories?lang=en",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "af7a2c6f-bf5c-4fe2-85f1-61d2e97fc1f0",
"name": "Split out stories",
"type": "n8n-nodes-base.splitOut",
"position": [
1168,
704
],
"parameters": {
"options": {},
"fieldToSplitOut": "stories"
},
"typeVersion": 1
},
{
"id": "a635706a-5a2d-4245-84ff-64a446b4ce5f",
"name": "Pick only title",
"type": "n8n-nodes-base.set",
"position": [
1392,
704
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "88973abc-91b7-494c-8bec-d705328f65f5",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "9e84fcbb-ce4d-463d-bb59-ab4b00c20bea",
"name": "Limit to 1 category",
"type": "n8n-nodes-base.limit",
"position": [
720,
704
],
"parameters": {},
"typeVersion": 1
},
{
"id": "eafffa3d-fc83-4879-b58c-2f164102175c",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-368,
256
],
"parameters": {
"width": 304,
"height": 624,
"content": "## Try it out!\n\nThis is meant to be used in other workflows, but you can manually trigger it by setting a `category` in the `Start` node.\n\n# How it works\n\n- We hit the Kagi News API twice\n-- once to get the category ID\n-- and once to get the stories in that category\n- We then do any changes we need to the output, to pick out just the information we are interested in\n\n# Requirements\n- Nothing!"
},
"typeVersion": 1
},
{
"id": "d205f078-dbfa-48df-a6df-d8f6942dcfee",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
624
],
"parameters": {
"content": "## Get available categories"
},
"typeVersion": 1
},
{
"id": "0d6ca507-2024-459a-a94a-49fb46369714",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
224,
624
],
"parameters": {
"width": 608,
"content": "## Find the category you want"
},
"typeVersion": 1
},
{
"id": "58209a48-39dd-427b-bda5-bbd33b1c9c2c",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
848,
624
],
"parameters": {
"width": 448,
"content": "## Get the stories in that category"
},
"typeVersion": 1
},
{
"id": "130d0520-29e7-4bfa-9ecc-710973074220",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1344,
624
],
"parameters": {
"content": "## Extract details I am interested in"
},
"typeVersion": 1
},
{
"id": "6639180c-cbc8-4856-a2e9-c6e9e14ff1b0",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1344,
848
],
"parameters": {
"color": 7,
"height": 96,
"content": "Here I am only extracting the title, but you can also get the summary, maybe the talking points, and so on."
},
"typeVersion": 1
},
{
"id": "72fb9837-8712-417d-8c2b-8cc77125599b",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
848
],
"parameters": {
"color": 7,
"height": 96,
"content": "This is the only call to a remote service."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "783ec830-2bc0-49bf-82d5-ab387ec7033a",
"connections": {
"Start": {
"main": [
[
{
"node": "Get Latest Categories",
"type": "main",
"index": 0
}
]
]
},
"Split Categories": {
"main": [
[
{
"node": "Filter by wanted category",
"type": "main",
"index": 0
}
]
]
},
"Split out stories": {
"main": [
[
{
"node": "Pick only title",
"type": "main",
"index": 0
}
]
]
},
"Limit to 1 category": {
"main": [
[
{
"node": "Get Stories in Category",
"type": "main",
"index": 0
}
]
]
},
"Get Latest Categories": {
"main": [
[
{
"node": "Split Categories",
"type": "main",
"index": 0
}
]
]
},
"Get Stories in Category": {
"main": [
[
{
"node": "Split out stories",
"type": "main",
"index": 0
}
]
]
},
"Filter by wanted category": {
"main": [
[
{
"node": "Limit to 1 category",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Get the latest news, from Kagi, with a workflow that lets you filter by news category.
Source: https://n8n.io/workflows/9318/ — 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 template is a powerful, reusable utility for managing stateful, long-running processes. It allows a main workflow to be paused indefinitely at "checkpoints" and then be resumed by external, async
Upload files from any source to your account Kommo or AmoCRM with a simple and reusable workflow. It can split a large file into small ones and upload chunks. Works for Kommo and amoCRM There are 3 re
Remixed Backup your workflows to GitHub from Solomon's work. Check out his templates.
Remixed Backup your workflows to GitHub from Solomon's work. Check out his templates.
This workflow audits your SharePoint Online environment for external sharing risks by identifying files and folders that are shared with anonymous links or external/guest users. It is designed to trav