COO 작업 우선순위 정렬
중급
이것은AI, IT Ops분야의자동화 워크플로우로, 15개의 노드를 포함합니다.주로 Asana, Postgres, Agent, ScheduleTrigger, LmChatOpenAi 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. GPT-4와 Pinecone Memory 기반 AI 구동 Asana 작업 우선순위 정렬
사전 요구사항
- •PostgreSQL 데이터베이스 연결 정보
- •OpenAI API Key
- •Pinecone API Key
사용된 노드 (15)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "czDg0Q7wsAoqYQIx",
"meta": {
"instanceId": "84ad02d6104594179f43f1ce9cfe3a81637b2faedb57dafcb9e649b7542988db"
},
"name": "COO Task Prioritization",
"tags": [],
"nodes": [
{
"id": "39d955ab-7c8e-4faa-ae3d-948dfa5e0615",
"name": "Pinecone 벡터 스토어",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
640,
500
],
"parameters": {
"options": {},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"pineconeApi": {
"id": "PSI5CiZnLRSkEgJg",
"name": "PineconeApi account"
}
},
"typeVersion": 1.1
},
{
"id": "923a5e54-785a-4c4f-b6b8-f540bb1c4e19",
"name": "Daily 9AM Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
0
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "28adcd8d-e4cf-45f7-ad32-16ffe30a525b",
"name": "Fetch Tasks",
"type": "n8n-nodes-base.asana",
"position": [
220,
0
],
"parameters": {
"filters": {
"project": ""
},
"operation": "getAll",
"returnAll": true
},
"typeVersion": 1
},
{
"id": "b43946e1-1b62-46fc-9211-72551b6c55c7",
"name": "COO 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
660,
0
],
"parameters": {
"text": "={{ $json.data }}",
"options": {
"systemMessage": "=You are a COO AI agent that helps prioritize operational tasks. Use the retrieved context from vector_database_tool to assess task urgency and strategic importance.\n\nFor the most priority task, output:\n\nTask Name\n\nPriority Level: High / Medium / Low\n\nDue Date\n\nReason for Priority\n\nConsider urgency (due date), impact on operations, and dependencies retrieved from vector knowledge.\nJust give back the most important task"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "b716a7b4-0357-4730-89b2-8bc295d5a22a",
"name": "Save Prioritized Task",
"type": "n8n-nodes-base.postgres",
"position": [
1600,
0
],
"parameters": {
"table": {
"__rl": true,
"mode": "list",
"value": "prioritized_tasks",
"cachedResultName": "prioritized_tasks"
},
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"columns": {
"value": {
"task_name": "={{ $json.output.tasks[0][\"Task Name\"] }}",
"priority_level": "={{ $json.output.tasks[0][\"Priority Level\"] }}",
"reason_for_priority": "={{ $json.output.tasks[0][\"Reason for Priority\"] }}"
},
"schema": [
{
"id": "id",
"type": "number",
"display": true,
"removed": true,
"required": false,
"displayName": "id",
"defaultMatch": true,
"canBeUsedToMatch": true
},
{
"id": "task_name",
"type": "string",
"display": true,
"required": true,
"displayName": "task_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priority_level",
"type": "string",
"display": true,
"required": false,
"displayName": "priority_level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reason_for_priority",
"type": "string",
"display": true,
"required": false,
"displayName": "reason_for_priority",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"credentials": {
"postgres": {
"id": "6DsmtQnULFUnNgy4",
"name": "Postgres account"
}
},
"typeVersion": 2.6
},
{
"id": "759f799a-d046-4609-8894-99a9b951e43f",
"name": "Task Reasoning Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
560,
260
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "wYwTjEv45IzlAOAu",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "4e3a60ec-d900-44e9-beaf-0de5905d9b2e",
"name": "Priority 출력 파서",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1120,
180
],
"parameters": {
"jsonSchemaExample": "{\n \"tasks\": [\n {\n \"Task Name\": \"Review quarterly KPIs\",\n \"Priority Level\": \"High\",\n \"Reason for Priority\": \"Provides critical performance metrics for all departments; deadline is approaching.\"\n },\n"
},
"typeVersion": 1.2
},
{
"id": "d7ae1305-e2f2-44c0-9c21-8cb29310a5d8",
"name": "Task Knowledge Vector DB",
"type": "@n8n/n8n-nodes-langchain.toolVectorStore",
"position": [
820,
220
],
"parameters": {
"name": "vector_database_tool",
"description": "The information related to task prioritization is here"
},
"typeVersion": 1
},
{
"id": "906b83fc-d501-4442-b470-3e90148ace33",
"name": "Vector Query Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
960,
440
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "wYwTjEv45IzlAOAu",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "e2b8e43c-1f7e-43e0-bba1-d186776d1e2b",
"name": "Generate Task 임베딩",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
580,
720
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "wYwTjEv45IzlAOAu",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "61c92166-6068-4884-ac39-af52ae4a496a",
"name": "메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-480
],
"parameters": {
"color": 6,
"width": 400,
"height": 680,
"content": "## 🔁 Section 1: Trigger & Data Retrieval\n\n### 🔹 **Node: `Daily 9AM Trigger`**\n\n* **Function**: Starts the workflow every day at 9:00 AM.\n* **Type**: Time-based scheduler.\n* **Why**: Ensures task processing is automated and consistent on a daily schedule.\n\n### 🔹 **Node: `Fetch Asana Tasks`**\n\n* **Function**: Retrieves all tasks from Asana that are due or assigned.\n* **Type**: API Connector to Asana.\n* **Why**: Acts as the entry point for incoming task data that needs prioritization.\n"
},
"typeVersion": 1
},
{
"id": "c9d36c9c-2cd3-407c-bc97-c765e6cb3bc6",
"name": "메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
500,
-600
],
"parameters": {
"color": 5,
"width": 760,
"height": 1480,
"content": "## 🧠 Section 2: AI Prioritization\n\n### 🔹 **Node: `COO Task Prioritization Agent`**\n\n* **Function**: Uses an AI Agent to evaluate and assign a priority to each task.\n* **Inputs**: Raw task data from Asana.\n* **Outputs**:\n\n * `task_name`\n * `priority_level` (e.g., High, Medium, Low)\n * `reason_for_priority` (a justification provided by the AI)\n* **Why**: Simulates a COO’s judgment to focus on strategic and urgent tasks.\n\n### 🔹 **Node: `Task Reasoning Model`**\n\n* **Function**: Enhances the AI Agent's decision-making by providing natural language reasoning.\n* **Model**: OpenAI Chat Model.\n* **Why**: Adds contextual understanding to why a task is important.\n\n### 🔹 **Node: `Priority Output Parser`**\n\n* **Function**: Extracts structured data (task name, priority level, reasoning) from the AI’s output.\n* **Why**: Ensures only clean, usable data is passed to the database layer."
},
"typeVersion": 1
},
{
"id": "4030c4f7-140c-453b-8441-4ed230da0928",
"name": "메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1460,
-460
],
"parameters": {
"color": 3,
"width": 380,
"height": 640,
"content": "## 🗃️ Section 3: Data Storage & Enrichment\n\n### 🔹 **Node: `Save Prioritized Tasks`**\n\n* **Function**: Inserts each prioritized task into a PostgreSQL database.\n* **Fields**:\n\n * `task_name`\n * `priority_level`\n * `reason_for_priority`\n* **Why**: Provides a persistent store for further reporting, monitoring, or automation."
},
"typeVersion": 1
},
{
"id": "cd768682-0aee-41d9-bdbc-0b3e8509a042",
"name": "메모9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1980,
-460
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "019cb716-597a-49b3-8eeb-fc523f210c8f",
"name": "메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1980,
-120
],
"parameters": {
"color": 4,
"width": 1289,
"height": 2238,
"content": "Absolutely! Here's a **very detailed, polished explanation** of your workflow — structured in a **clean, professional format** with icons and broken into **three logical sections**. This is suitable for documentation, presentations, or onboarding team members.\n\n---\n\n# 🧠 COO Task Automation Workflow Documentation\n\nThis intelligent automation workflow simulates a **COO’s decision-making** by prioritizing daily tasks fetched from Asana using AI. It operates autonomously every morning at 9 AM, analyzes the tasks using an AI reasoning engine with memory and context, and stores the prioritized outcomes in a structured database for operational use.\n\n---\n\n## ⏰ 1. Trigger & Task Collection\n\n### 📅 **Automated Daily Start**\n\n* **Time-based Scheduling**: The system is configured to initiate **automatically every day at 9:00 AM** without any manual input.\n* This guarantees consistency in daily planning and ensures tasks are prioritized early in the workday.\n\n### 🔗 **Integration with Asana**\n\n* The workflow connects directly to the **Asana task management platform**.\n* It fetches tasks assigned to the team or specific users, filtered by criteria such as due date, project, or tag.\n* These tasks include metadata like task name, description, due date, assignee, and any custom fields.\n* All this information becomes the **raw input** for the AI decision-making engine.\n\n---\n\n## 🧠 2. Intelligent Task Prioritization\n\n### 🤖 **AI-Powered Prioritization Logic**\n\n* Once tasks are collected, they are passed to a custom **AI Agent**.\n* This AI agent plays the role of a **virtual COO**, applying strategic reasoning to prioritize tasks based on business urgency, impact, and context.\n\n### 🧩 **Reasoning Through Language Models**\n\n* Behind the scenes, the agent leverages a **large language model (LLM)** to:\n\n * Analyze each task's content.\n * Cross-reference it with similar past tasks or organizational priorities.\n * Generate an intelligent output:\n\n * **Task Name**\n * **Priority Level** (High, Medium, Low)\n * **Reason for Priority** (justification written in natural language).\n\n### 🗂️ **Structured Output Conversion**\n\n* Since the AI outputs natural language, the system uses a **parser** to extract structured fields.\n* This step ensures that the response is normalized and can be cleanly inserted into a relational database.\n\n---\n\n## 📦 3. Enrichment & Persistent Storage\n\n### 🧾 **Saving to PostgreSQL**\n\n* The structured data is stored in a **PostgreSQL database** with the following schema:\n\n * `task_name`: The name or summary of the task.\n * `priority_level`: Categorized as High, Medium, or Low.\n * `reason_for_priority`: A brief but clear explanation of why the task received this priority.\n\n### 📚 **Contextual Intelligence with Vector Embeddings**\n\n* To make future decisions more intelligent, the system incorporates a **semantic memory layer** using **vector databases** and **embeddings**.\n* All task-related text is converted into **numerical vector representations** using an embeddings model.\n* These embeddings are stored in a **vector database**, enabling the AI agent to:\n\n * Recall similar past tasks.\n * Understand historical context.\n * Find patterns across time and projects.\n\n### 🔍 **Semantic Search & Retrieval**\n\n* When making prioritization decisions, the AI queries the vector database to retrieve **semantically similar tasks**.\n* This enables **context-aware decision-making**, allowing the AI to make better judgments based on past learnings, not just current inputs."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "8c201cdf-caaa-423e-ad38-f6ac7955ff32",
"connections": {
"COO Agent": {
"main": [
[
{
"node": "b716a7b4-0357-4730-89b2-8bc295d5a22a",
"type": "main",
"index": 0
}
]
]
},
"28adcd8d-e4cf-45f7-ad32-16ffe30a525b": {
"main": [
[
{
"node": "COO Agent",
"type": "main",
"index": 0
}
]
]
},
"923a5e54-785a-4c4f-b6b8-f540bb1c4e19": {
"main": [
[
{
"node": "28adcd8d-e4cf-45f7-ad32-16ffe30a525b",
"type": "main",
"index": 0
}
]
]
},
"906b83fc-d501-4442-b470-3e90148ace33": {
"ai_languageModel": [
[
{
"node": "d7ae1305-e2f2-44c0-9c21-8cb29310a5d8",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"759f799a-d046-4609-8894-99a9b951e43f": {
"ai_languageModel": [
[
{
"node": "COO Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Pinecone Vector Store": {
"ai_vectorStore": [
[
{
"node": "d7ae1305-e2f2-44c0-9c21-8cb29310a5d8",
"type": "ai_vectorStore",
"index": 0
}
]
]
},
"Priority Output Parser": {
"ai_outputParser": [
[
{
"node": "COO Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Generate Task Embeddings": {
"ai_embedding": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"d7ae1305-e2f2-44c0-9c21-8cb29310a5d8": {
"ai_tool": [
[
{
"node": "COO Agent",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 인공지능, IT 운영
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
최고 재무 책임자 예측 에이전트
Stripe 데이터 기반 GPT-4 및 Google Sheets 자동화 수익 예측
Set
Code
Stripe
+
Set
Code
Stripe
16 노드Yaron Been
인공지능
CFO 비용 검토 에이전트
GPT-4, Airtable, Pinecone 벡터 데이터베이스를 사용한 자동 비용 승인 시스템
Airtable
Agent
Airtable Trigger
+
Airtable
Agent
Airtable Trigger
15 노드Yaron Been
인공지능
반려동물 가게 4
🐶 펫 샵 예약 AI 대리자
If
Set
Code
+
If
Set
Code
187 노드Bruno Dias
인공지능
🤖 WhatsApp AI个人어시스턴트:GPT-4o、记忆및日程安排功能
AI个人어시스턴트:통합GPT-4o、RAG및语音功能,사용Supabase의WhatsApp어시스턴트
If
Set
Wait
+
If
Set
Wait
76 노드Amanda Benks
인공지능
Upwork 구인 aggregation 및 알리미
자동 채용 공고 검색: Upwork 기회 집계 및 AI 기반 알림
Set
Gmail
Http Request
+
Set
Gmail
Http Request
13 노드Yaron Been
기타
문서 기반의 기억 있는 채팅 로봇, OpenAI, Pinecone, 구글 드라이브 사용
기반 문서의 기억 있는 챗봇, OpenAI, Pinecone 및 Google Drive 사용
Merge
Airtable
Aggregate
+
Merge
Airtable
Aggregate
22 노드Sally
인공지능
워크플로우 정보
난이도
중급
노드 수15
카테고리2
노드 유형10
저자
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유