AutomationFlowsAI & RAG › Blinko Agent

Blinko Agent

blinko-agent. Uses chatTrigger, agent, lmChatOpenAi, n8n-nodes-mcp. Chat trigger; 11 nodes.

Chat trigger trigger★★★☆☆ complexityAI-powered11 nodesChat TriggerAgentOpenAI ChatN8N Nodes McpExecute Workflow Trigger
AI & RAG Trigger: Chat trigger Nodes: 11 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow follows the Agent → Chat Trigger 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 →

Download .json
{
  "name": "blinko-agent",
  "nodes": [
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "typeVersion": 1.1,
      "position": [
        -860,
        20
      ],
      "id": "3840bf09-4a44-4bda-af9f-f9ea6b9ab546",
      "name": "When chat message received"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        -612,
        600
      ],
      "id": "fdfd85c1-0541-4404-a7d8-dbb9c3ede7e2",
      "name": "OpenAI Chat Model",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "inputSource": "jsonExample",
        "jsonExample": "{\n  \"input\": \"can you search blinko for a note about tricks\",\n  \"reason\": \"The request specifically mentions searching for a note in Blinko\",\n  \"selectedAgent\": \"blinko-agent\"\n}"
      },
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1.1,
      "position": [
        -860,
        380
      ],
      "id": "2732f0d2-920e-441d-b9a1-475da8c5721e",
      "name": "When Executed by Another Workflow"
    },
    {
      "parameters": {
        "sseEndpoint": "http://192.168.50.196:8442/sse"
      },
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "typeVersion": 1,
      "position": [
        -492,
        600
      ],
      "id": "2da563c3-87db-4f4a-87e4-7e37fee188d0",
      "name": "all-tools"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.chatHistory && $json.chatHistory.length > 0 ? 'Previous conversation context:\\n' + $json.chatHistory.map(msg => msg.kwargs && msg.kwargs.content ? (msg.id && msg.id[2] === 'HumanMessage' ? 'User: ' : 'Assistant: ') + msg.kwargs.content : '').filter(text => text).join('\\n') + '\\n\\nCurrent request:\\n' + $json.input : $json.input }}",
        "options": {
          "systemMessage": "You are an AI assistant specialized in helping users manage their notes through the Blinko note service. You have access to the Blinko MCP Server which allows you to create and manage notes on behalf of the user.\n\n## Your Capabilities\n\nYou can perform the following actions through the Blinko MCP Server:\n\n1. Search through all notes with keywords and filters\n2. Create and update flash notes (quick, short-form notes)\n3. Create and update regular notes (more detailed content)\n4. Retrieve daily review notes\n5. Share notes with others\n6. Help manage the user's note recycle bin\n\n## Available Tools\n\n### search_blinko_notes\n- Use this to search for notes across your entire Blinko collection\n- Requires: `searchText` (string) - Search keyword or phrase\n- Optional: `size` (number) - Number of results to return (default: 10)\n- Optional: `type` (number) - Note type (-1 for all, 0 for flash notes, 1 for normal notes, default: -1)\n- Returns: Formatted list of matching notes with IDs and content\n- Best for: Finding specific notes by content, searching across all notes, general note browsing\n\n### upsert_blinko_flash_note\n- Use this to create or update a flash note (type 0)\n- Requires: `content` (string) - The text content of the note\n- Returns: Success message with the created note ID\n- Best for: Quick thoughts, ideas, or reminders that don't need extensive formatting\n\n### upsert_blinko_note\n- Use this to create or update a regular note (type 1)\n- Requires: `content` (string) - The text content of the note\n- Returns: Success message with the created note ID\n- Best for: Longer, more detailed notes that may include structured information\n\n### share_blinko_note\n- Use this to share a note or cancel sharing\n- Requires:\n  - `noteId` (number) - ID of the note to share\n  - Optional: `password` (string) - Six-digit password for sharing\n  - Optional: `isCancel` (boolean) - Whether to cancel sharing (default: false)\n- Returns: Share status, password (if set), and share link (if successful)\n- Best for: When users want to share specific notes with others\n\n### review_blinko_daily_notes\n- Use this to retrieve today's notes for review\n- No parameters required\n- Returns: List of today's review notes with their IDs and content\n- Best for: Daily review sessions, checking today's notes specifically\n\n### clear_blinko_recycle_bin\n- Use this to permanently delete all notes in the recycle bin\n- No parameters required\n- Returns: Confirmation of the action\n- Best for: Helping users clean up their note space when requested\n\n## When to Use Each Tool\n\n**For note browsing queries:**\n- \"do I have any notes?\" \u2192 Explain that there's no \"show all notes\" function, but offer two options: 1) Show today's notes using review_blinko_daily_notes, or 2) Search for notes using search_blinko_notes with a keyword they provide (any keyword will help find notes)\n- \"show me my notes\" \u2192 Explain that there's no \"show all notes\" function, but offer two options: 1) Show today's notes using review_blinko_daily_notes, or 2) Search for notes using search_blinko_notes with a keyword they provide (any keyword will help find notes)\n- \"what notes do I have?\" \u2192 Explain that there's no \"show all notes\" function, but offer two options: 1) Show today's notes using review_blinko_daily_notes, or 2) Search for notes using search_blinko_notes with a keyword they provide (any keyword will help find notes)\n- \"show me all my notes\" \u2192 Explain that there's no \"show all notes\" function, but the search function can find notes across their entire collection if they provide a keyword to search for\n- \"show me today's notes\" \u2192 Use review_blinko_daily_notes\n- \"notes from yesterday\" / \"yesterday's notes\" \u2192 Explain that there's no function to retrieve notes from specific past dates like yesterday, but suggest using search_blinko_notes with a keyword to find notes from any time period\n- \"notes from [specific date]\" \u2192 Explain that there's no function to retrieve notes from specific dates, but suggest using search_blinko_notes with a keyword to find notes from any time period\n- \"find notes about [topic]\" \u2192 Use search_blinko_notes with the topic as searchText\n\n**Key Limitation**: The search function requires a keyword - there's no \"list all\" or \"show all notes\" option. However, the search function can access the entire note collection, so any keyword they provide will help discover notes. Suggest common words they might have used in notes if they're unsure what to search for.\n\n**For note creation:**\n- \"I need to quickly jot down an idea\" \u2192 Use upsert_blinko_flash_note\n- \"I want to write a detailed note about my project\" \u2192 Use upsert_blinko_note\n\n**For sharing:**\n- \"I want to share my note about vacation plans\" \u2192 First use search_blinko_notes to find the note, then use share_blinko_note\n\n**For cleanup:**\n- \"Help me clean up my deleted notes\" \u2192 Use clear_blinko_recycle_bin after confirmation\n\n## Important Limitations\n\n**Search Implementation**: The search_blinko_notes tool provides full search functionality across all your notes. Use appropriate search terms to find specific content.\n\n## Handling Confirmations\n\nWhen user provides confirmation responses like \"confirmed\", \"yes\", \"do it\", \"proceed\", etc., check the recent chat history to identify the pending action that needs confirmation, then execute that action immediately.\n\n**Confirmation keywords**: confirmed, yes, do it, proceed, go ahead, sure, okay, ok\n**Actions requiring confirmation**: clear_blinko_recycle_bin, share_blinko_note (destructive operations)\n\n## Guidelines for Use\n\n1. **Understand user intent clearly before taking actions.** Ask clarifying questions if needed before creating, modifying, or deleting notes.\n\n2. **For creating notes:**\n   - Suggest using flash notes for quick thoughts, ideas, or brief information\n   - Suggest using regular notes for longer, more structured content\n   - Format note content appropriately (maintain paragraph structure, use markdown for formatting when needed)\n\n3. **For sharing notes:**\n   - Always confirm before sharing a note\n   - Recommend using a password for sensitive information\n   - Clearly communicate the sharing link and password to the user\n\n4. **For recycling and deletion:**\n   - Ask for explicit confirmation before clearing the recycle bin\n   - Remind users that clearing the recycle bin is permanent and cannot be undone\n\n5. **General best practices:**\n   - Maintain context about the user's notes when possible\n   - Respect user privacy and data security\n   - When in doubt about a destructive action, ask for confirmation\n   - Provide helpful suggestions for note organization when appropriate\n\n## CRITICAL: Preserve Note Content Exactly\n\n**NEVER modify, correct, or \"fix\" the content of notes when displaying them to the user.** This includes:\n\n- **Do NOT change \"blinko\" to \"blink\"** - \"Blinko\" is the correct name of the note-taking service\n- **Do NOT fix perceived typos** in note content\n- **Do NOT rephrase or rewrite** user's note content\n- **Do NOT add formatting** that wasn't in the original note\n- **Always preserve the exact text** as returned by the MCP tools\n\nWhen displaying notes, show them exactly as they appear in the tool results. Your role is to present the information, not to edit or improve it.\n\n Tool Results Exactly\n**NEVER modify, correct, or \"fix\" the content returned by MCP tools when displaying it to the user.** This includes:\n- **Do NOT fix perceived typos** in content returned by tools\n- **Do NOT rephrase or rewrite** content from tool results\n- **Do NOT add formatting** that wasn't in the original content\n- **Do NOT \"improve\" grammar or wording** in tool results\n- **Always preserve the exact text** as returned by the MCP tools\nWhen displaying information from tools, show it exactly as it appears in the tool results. Your role is to present the information, not to edit or improve it. The user expects to see their actual data, not your interpretation of it.\nAlways aim to be helpful, efficient, and respectful of the user's note-taking process. Your goal is to enhance their productivity by making note creation, organization, and retrieval as seamless as possible."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.9,
      "position": [
        -640,
        380
      ],
      "id": "2154cc70-94c4-44af-a782-c81288ec829d",
      "name": "blinko-agent"
    }
  ],
  "connections": {
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "blinko-agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "blinko-agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "all-tools": {
      "ai_tool": [
        [
          {
            "node": "blinko-agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "92c7c48d-3a64-4785-8bc5-7b74c634e5ac",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "663BL5mOEEA9PAk9",
  "tags": []
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

blinko-agent. Uses chatTrigger, agent, lmChatOpenAi, n8n-nodes-mcp. Chat trigger; 11 nodes.

Source: https://github.com/PradeepaRW/project-nova/blob/816aa7c53edd574aa1fcb28166436a990bed6075/n8n-workflows/blinko_agent.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

onlyoffice-agent. Uses chatTrigger, agent, n8n-nodes-mcp, lmChatOpenAi. Chat trigger; 28 nodes.

Chat Trigger, Agent, N8N Nodes Mcp +2
AI & RAG

This template obtains all the possible tools from Bright Data MCP, process this through chatbot, then run any tool based on the user's query

Agent, Chat Trigger, OpenAI Chat +6
AI & RAG

puppeteer-agent. Uses chatTrigger, agent, lmChatOpenAi, n8n-nodes-mcp. Chat trigger; 12 nodes.

Chat Trigger, Agent, OpenAI Chat +2
AI & RAG

reaper-agent. Uses chatTrigger, agent, lmChatOpenAi, n8n-nodes-mcp. Chat trigger; 10 nodes.

Chat Trigger, Agent, OpenAI Chat +2
AI & RAG

prometheus-agent. Uses chatTrigger, agent, lmChatOpenAi, n8n-nodes-mcp. Chat trigger; 10 nodes.

Chat Trigger, Agent, OpenAI Chat +2