Modèle de démarrage gratuit pour architecture multi-agents

Avancé

Ceci est unDocument Extraction, Multimodal AIworkflow d'automatisation du domainecontenant 24 nœuds.Utilise principalement des nœuds comme Set, Slack, GoogleDrive, HttpRequest, ManualTrigger. Planification des ventes collaborative : Multi-agent IA, Google Docs et Slack

Prérequis
  • Token Bot Slack ou URL Webhook
  • Informations d'identification Google Drive API
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "SvIdF4LUuyHYM2ii",
  "meta": {
    "instanceId": "4a2e6764ba7a6bc9890d9225f4b21d570ce88fc9bd57549c89057fcee58fed0f",
    "templateCredsSetupCompleted": true
  },
  "name": "Multi-Agent Architecture Free Bootstrap Template for Beginners",
  "tags": [],
  "nodes": [
    {
      "id": "02b4083a-34a1-4d4f-8f7d-936633d5c3ac",
      "name": "Lors du clic sur 'Exécuter le workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -416,
        -16
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "405374aa-0fef-4384-9de8-4f996ad880e9",
      "name": "Agent CEO",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        320,
        -16
      ],
      "parameters": {
        "text": "=Company: {{ $json.Company }}\nProducts/Focus: {{ $json.Product }}\nTarget customers: {{ $json.Audience }}\nSale window: {{ $json['Sale window'] }}\nPrimary channels: {{ $json['Primary channels'] }}\nSuccess metrics: {{ $json['Success metrics'] }}\n\nCreate a practical plan for the upcoming sales season. Keep to the structure and JSON schema in the system prompt.",
        "options": {
          "systemMessage": "You are the CEO orchestrating three tool agents (departments) to produce a concise sales-season plan.\n\nTOOLS AVAILABLE\n1) MarketingDept – campaign ideas, channels, content calendar.\n2) OpsDept – inventory & staffing readiness, fulfillment steps, key risks.\n3) FinanceDept – pricing/discounts, budget split, targets.\n\nWORKFLOW\n- Read the user brief.\n- Call each tool once with only the info they need.\n- Merge their outputs into a single, consistent plan.\n- Resolve conflicts briefly (prefer feasibility over ambition).\n- Keep it action-oriented and short.\n\nFINAL OUTPUT (markdown sections)\n# Summary\n# Timeline (key dates)\n# Marketing Plan (top 3 campaigns, channels)\n# Operations Readiness (inventory, staffing, fulfillment)\n# Pricing & Budget (discounts, budget split, targets)\n# Risks & Mitigations\n# Next 5 Actions"
        },
        "promptType": "define"
      },
      "typeVersion": 2.1
    },
    {
      "id": "4d1ed7fa-a106-4a5b-ae0e-67fb8fe99b85",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        32,
        208
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "de8475ee-2b6a-43ec-85ce-a620996901b2",
      "name": "Modifier les champs",
      "type": "n8n-nodes-base.set",
      "position": [
        -192,
        -16
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a0237546-a7a6-4f52-b4c9-078f7ef6879f",
              "name": "Company",
              "type": "string",
              "value": "AutomateWithMe"
            },
            {
              "id": "e6fbc3e4-d59e-4ed3-9eac-553d2662bdec",
              "name": "Product",
              "type": "string",
              "value": "Automation Services"
            },
            {
              "id": "bc72c647-c2d9-462f-95da-c3889ca30d20",
              "name": "Sale window",
              "type": "string",
              "value": "Aug to December annually"
            },
            {
              "id": "663cc17d-b979-4b3c-99c9-d82f4ccdb03b",
              "name": "Primary channels",
              "type": "string",
              "value": "Amazon, Ebay"
            },
            {
              "id": "bb9172a7-38e3-4dfb-a181-991257f1d454",
              "name": "Success metrics",
              "type": "string",
              "value": "Revenue"
            },
            {
              "id": "65f42033-edef-4046-9d91-25107d52c81d",
              "name": "Audience",
              "type": "string",
              "value": "SME's owner (CEO, CFO, CIO)"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6b954de8-5ad2-417f-ad36-9c483abd88ae",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        256,
        416
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "92c5d1f4-7a87-4cbd-aff2-b6263dffaa29",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        576,
        416
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "740bc190-ca94-4dd2-b25a-a6b433b58c3f",
      "name": "Agent Marketing",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        160,
        208
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {},
        "toolDescription": "You are the Marketing Department. From the brief, propose practical campaigns.\n\nOUTPUT (JSON):\n{\n  \"campaigns\":[\n    {\"name\":\"\",\"channel\":\"\",\"audience\":\"\",\"message\":\"\",\"kpi\":\"\"}\n  ],\n  \"content_calendar\":[\n    {\"date\":\"YYYY-MM-DD\",\"channel\":\"\",\"asset\":\"\",\"cta\":\"\"}\n  ],\n  \"notes\":\"\"\n}\n\nRULES\n- Max 3 campaigns, each tied to 1–2 channels.\n- KPIs: choose 1 per campaign (e.g., CTR, leads, revenue).\n- Be realistic with the given constraints and dates."
      },
      "typeVersion": 2.2
    },
    {
      "id": "dca51d1c-5347-4756-b002-193c4ebd3eab",
      "name": "Agent Opérations",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        480,
        208
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {},
        "toolDescription": "You are Operations. Assess readiness and outline what must happen to deliver.\n\nOUTPUT (JSON):\n{\n  \"inventory_note\":\"\",\n  \"staffing_plan\":[{\"team\":\"\",\"need\":\"\",\"when\":\"\"}],\n  \"fulfillment_steps\":[{\"step\":\"\",\"owner\":\"\",\"due\":\"\"}],\n  \"operational_risks\":[{\"risk\":\"\",\"mitigation\":\"\"}]\n}\n\nRULES\n- Keep it feasible: call out shortages or bottlenecks.\n- Prefer simple, sequenced steps with clear owners and due dates."
      },
      "typeVersion": 2.2
    },
    {
      "id": "b3f5c3e9-a26f-4281-916a-a0bc92f96ead",
      "name": "Agent Finance",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        800,
        208
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {},
        "toolDescription": "You are Finance. Recommend discounts, budget split, and targets.\n\nOUTPUT (JSON):\n{\n  \"discounts\":[{\"product\":\"\",\"type\":\"% or fixed\",\"value\":0,\"notes\":\"\"}],\n  \"budget_split\":{\"marketing\":0,\"ops\":0,\"contingency\":0},\n  \"targets\":{\"revenue\":0,\"roi\":0,\"gross_margin_pct\":0},\n  \"notes\":\"\"\n}\n\nRULES\n- Keep totals sensible and within constraints.\n- Tie discounts to campaigns and inventory realities."
      },
      "typeVersion": 2.2
    },
    {
      "id": "6812da19-e35c-4dad-8fee-be01340430b9",
      "name": "OpenAI Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        896,
        416
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c73b0250-c41d-40ae-be5f-9e97098b7afe",
      "name": "Créer un document",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1424,
        -16
      ],
      "parameters": {
        "url": "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart&supportsAllDrives=true",
        "body": "=--foo_bar_baz\nContent-Type: application/json; charset=UTF-8\n\n{\n  \"name\": \"Company Sale Plan {{ $today.format('yyyy-MM-dd-hhmm') }}\",\n  \"mimeType\": \"application/vnd.google-apps.document\",\n  \"parents\": [\"{{ $json['Drive Folder ID'] }}\"]\n}\n\n--foo_bar_baz\nContent-Type: text/markdown; charset=UTF-8\n\n{{ $json['Document Content'] }}\n--foo_bar_baz--",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendQuery": true,
        "contentType": "raw",
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "rawContentType": "multipart/related; boundary=foo_bar_baz",
        "queryParameters": {
          "parameters": [
            {
              "name": "uploadType",
              "value": "multipart"
            },
            {
              "name": "supportsAllDrives",
              "value": "true"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "boundary",
              "value": "foo_bar_baz"
            }
          ]
        },
        "nodeCredentialType": "googleDriveOAuth2Api"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "fC471es5gk5Mm900",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "729829e7-565b-43b5-ab77-a78ea976061d",
      "name": "Configurer les métadonnées",
      "type": "n8n-nodes-base.set",
      "position": [
        1200,
        -16
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1ff0b9a4-7d60-44ec-b047-e49252f1ace9",
              "name": "Drive Folder ID",
              "type": "string",
              "value": "1IPcko8bzogO3W4mxhrW2Q017QA0Lc5MI"
            },
            {
              "id": "75ab39ab-44d0-4272-bceb-fe63bd72a5ba",
              "name": "Document Content",
              "type": "string",
              "value": "={{ $json.output }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "576f221c-2766-4e28-b3b4-69d9f1d25b39",
      "name": "Téléverser un fichier",
      "type": "n8n-nodes-base.slack",
      "position": [
        1872,
        -16
      ],
      "webhookId": "b4d5b0ca-b166-4000-abf8-df943fe711ae",
      "parameters": {
        "options": {
          "channelId": "C097VAKKPUP",
          "initialComment": "📄 The Sales Season Plan is ready!  Please find the generated PDF file attached for review and next steps.  "
        },
        "resource": "file",
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "4JSKt9sIRV1KGswQ",
          "name": "Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "ad6e678d-000f-47cb-882b-0c7aca453800",
      "name": "Convertir en PDF",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1648,
        -16
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {
          "googleFileConversion": {
            "conversion": {
              "docsToFormat": "application/pdf"
            }
          }
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "fC471es5gk5Mm900",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "2dd2914f-68e5-4a84-a952-0fca32a2b3e4",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1664,
        -992
      ],
      "parameters": {
        "width": 1072,
        "height": 2032,
        "content": "# Multi-Agent Architecture Free Bootstrap Template for Beginners\n[![Watch the video](https://wisestackai.s3.ap-southeast-1.amazonaws.com/n8n-multi-agent-architecture-free-bootstrap-template-for-beginners.jpg)](https://www.youtube.com/watch?v=BfMY2jFJR9k)\n\n_Free template to learn and reuse a multi-agent architecture in n8n. The company metaphor: a **CEO (orchestrator)** delegates to **Marketing, Operations, Finance** to produce a short sales-season plan, export it to PDF, and share it._\n\n## **Who’s it for**\n- Builders who want a **clear, minimal pattern** for multi-agent orchestration in n8n.  \n- Teams demoing/teaching agent collaboration with **one coordinator + three specialists**.  \n- Anyone needing a **repeatable template** to generate plans from multiple “departments”.\n\n## **How it works / What it does**\n1. **Trigger (Manual)** — Click *Execute workflow* to start.\n2. **Edit Fields** — Provide brief inputs (company, products, dates, constraints, channels, goals).\n3. **CEO Agent (Orchestrator)** — Reads the brief, calls 3 tool agents once, merges results, resolves conflicts.\n4. **Marketing Agent** — Proposes top campaigns + channels + content calendar.\n5. **Operations Agent** — Outlines inventory/staffing readiness, fulfillment steps, risks.\n6. **Finance Agent** — Suggests pricing/discounts, budget split, targets.\n7. **Compose Document** — CEO produces Markdown; node converts to Google Doc → **PDF**.\n8. **Share** — Upload the PDF to Slack (or Drive) for review.\n\n**Outputs**\n- **Markdown plan** with sections (Summary, Timeline, Marketing, Ops, Pricing, Risks, Next Actions).  \n- **Compact JSON** for automation (campaigns, budget, dates, actions).  \n- **PDF** file for stakeholders.\n\n## **How to set up**\n1. **Add credentials**\n   - OpenAI (or your LLM provider) for all agents.\n   - Google (Drive/Docs) to create the document and export PDF.\n   - Slack (optional) to upload/share the PDF.\n2. **Map nodes (suggested)**\n   - **When clicking ‘Execute workflow’** → **Edit Fields** (form with: `company`, `products`, `audience`, `start_date`, `end_date`, `channels`, `constraints`, `metrics`).\n   - **CEO Agent** (AI Tool Node) → calls **Marketing Agent**, **Operations Agent**, **Finance Agent** (AI Tool Nodes).\n   - **Configure metadata** (doc title from company + window).\n   - **Create document file** (Google Docs API) with CEO Markdown.\n   - **Convert to PDF** (export).\n   - **Upload a file** (Slack) to share.\n3. **Prompts (drop-in)**\n   - **CEO (system)**: orchestrate 3 tools; request concise JSON+Markdown; merge & resolve; output sections + JSON.\n   - **Marketing / Operations / Finance (system)**: each returns a small JSON per its scope (campaigns/calendar; staffing/steps/risks; discounts/budget/targets).\n4. **Test** — Run once; verify the PDF and Slack message.\n\n## **Requirements**\n- n8n (current version with **AI Tool Node**).  \n- LLM credentials (e.g., OpenAI).  \n- Google credentials for Docs/Drive (to create & export).  \n- Optional Slack bot token for file uploads.\n\n## **How to customize the workflow**\n- **Swap roles**: Replace departments (e.g., Product, Legal, Support) or add more tool agents.\n- **Change outputs**: Export to **DOCX/HTML/Notion**; add a cover page; attach brand styles.\n- **Approval step**: Insert **Slack “Send & Wait”** before PDF generation for review/edits.\n- **Data grounding**: Add RAG (Sheets/DB/Docs) so agents cite inventory, pricing, or past campaign KPIs.\n- **Automation JSON**: Extend the schema to match your CRM/PM tool and push `next_actions` into Jira/Asana.\n- **Scheduling**: Replace manual trigger with a **cron** (weekly/monthly planning).\n- **Localization**: Add a Translation agent or set language via input field.\n- **Guardrails**: Add length limits, cost caps (max tokens), and validation on agent JSON."
      },
      "typeVersion": 1
    },
    {
      "id": "e6e8f2b1-be21-4ba4-99a6-69348a05bfbf",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -288
      ],
      "parameters": {
        "width": 272,
        "height": 208,
        "content": "### 1) Start the run (Manual Trigger)\n**Node:** *When clicking ‘Execute workflow’*  \n**What happens:** You kick off a single-run demo. Manual start keeps the flow predictable while you learn.  \n**Why it matters:** Lets you iterate on prompts/fields quickly before adding a schedule or webhook."
      },
      "typeVersion": 1
    },
    {
      "id": "e13b861b-764d-44d0-834a-84151c860a21",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        144
      ],
      "parameters": {
        "width": 272,
        "height": 304,
        "content": "### 2) Collect the brief (Edit Fields)\n**Node:** *Edit Fields*  \n**Inputs to capture (examples):**\n- `company`, `products`, `audience`\n- `start_date`, `end_date`\n- `channels` (e.g., “email, social, search”)\n- `constraints` (budget cap, stock limits, compliance)\n- `metrics` (revenue, ROI, CAC, leads)  \n**Tips:** validate dates and keep text short; agents will elaborate."
      },
      "typeVersion": 1
    },
    {
      "id": "1179b80c-e42a-4605-96b8-88e86ca221e2",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        -352
      ],
      "parameters": {
        "width": 512,
        "height": 288,
        "content": "### 3) Orchestrate like a CEO (CEO Agent)\n**Node:** *AI Tool Node (CEO Agent)*  \n**Role:** Orchestrator. It reads the brief, assigns tasks to 3 department agents **once each**, then merges results.  \n**Key behavior to configure:**\n- Provide a **system prompt** that defines: goals, tools available, expected sections, JSON schema, and “call each tool exactly once”.  \n- Instruct it to **resolve conflicts** (e.g., finance budget vs. marketing ambition) by preferring feasibility.\n\n**Expected CEO outputs:**\n- **Markdown Plan** with sections: Summary, Timeline, Marketing, Ops, Pricing, Risks, Next Actions.  "
      },
      "typeVersion": 1
    },
    {
      "id": "43d1f02b-8e90-46a4-abb5-88c861a3be74",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        560
      ],
      "parameters": {
        "color": 3,
        "width": 320,
        "height": 336,
        "content": "### 4) Call Tool #1: Marketing Department\n**Node:** *AI Tool Node (Marketing Agent)*  \n**Input from CEO:** Slimmed brief + required fields (audience, channels, dates, constraints).  \n**Output (JSON):**\n```json\n{\n  \"campaigns\":[{\"name\":\"\",\"channel\":\"\",\"message\":\"\",\"kpi\":\"\"}],\n  \"content_calendar\":[{\"date\":\"YYYY-MM-DD\",\"channel\":\"\",\"asset\":\"\",\"cta\":\"\"}],\n  \"notes\":\"\"\n}\n```\n**What to teach learners:** Limit to 2–3 campaigns; pick 1 KPI per campaign; keep calendar realistic."
      },
      "typeVersion": 1
    },
    {
      "id": "254915c0-cf61-4014-adaf-51300797f217",
      "name": "Note adhésive5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        560
      ],
      "parameters": {
        "color": 5,
        "width": 320,
        "height": 336,
        "content": "### 5) Call Tool #2: Operations Department\n**Node:** *AI Tool Node (Operations Agent)*  \n**Input from CEO:** Products, window, constraints (inventory/staff).  \n**Output (JSON):**\n```json\n{\n  \"inventory_note\":\"\",\n  \"staffing_plan\":[{\"team\":\"\",\"need\":\"\",\"when\":\"\"}],\n  \"fulfillment_steps\":[{\"step\":\"\",\"owner\":\"\",\"due\":\"\"}],\n  \"operational_risks\":[{\"risk\":\"\",\"mitigation\":\"\"}]\n}\n```\n**Learning:** Prefer checklists with owners/due dates; call out bottlenecks early."
      },
      "typeVersion": 1
    },
    {
      "id": "d4947eba-5a53-4593-941a-b864911b6761",
      "name": "Note adhésive6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        560
      ],
      "parameters": {
        "color": 4,
        "width": 320,
        "height": 336,
        "content": "### 6) Call Tool #3: Finance Department\n**Node:** *AI Tool Node (Finance Agent)*  \n**Input from CEO:** Campaign ideas + ops constraints.  \n**Output (JSON):**\n```json\n{\n  \"discounts\":[{\"product\":\"\",\"type\":\"%|fixed\",\"value\":0,\"notes\":\"\"}],\n  \"budget_split\":{\"marketing\":0,\"ops\":0,\"contingency\":0},\n  \"targets\":{\"revenue\":0,\"roi\":0,\"gross_margin_pct\":0},\n  \"notes\":\"\"\n}\n```\n**Learning:** Tie discounts to campaigns and stock positions; keep budget totals sensible."
      },
      "typeVersion": 1
    },
    {
      "id": "c545990f-2d67-4fdb-888c-733da6043c2e",
      "name": "Note adhésive7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -352
      ],
      "parameters": {
        "width": 448,
        "height": 272,
        "content": "### 7) Merge & reconcile (inside CEO Agent)\n**Node:** *CEO Agent continues*  \n**What happens:** CEO pulls the 3 JSONs, resolves conflicts (e.g., campaign count vs. budget), and produces:\n- Final **Markdown plan** (human-readable)  \n- Final **JSON payload** (machine-usable)  \n**Tip:** Ask CEO to output **both artifacts** in a single response under distinct keys (e.g., `plan_md`, `plan_json`)."
      },
      "typeVersion": 1
    },
    {
      "id": "3cb78770-a21f-488f-b256-c0d78d9316bc",
      "name": "Note adhésive8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        -464
      ],
      "parameters": {
        "width": 672,
        "height": 400,
        "content": "#### Set document metadata (Configure metadata)\n**Node:** *Edit Fields / Set*  \n**What you set:** Document title, author, tags.  \n**Example title:** `{{ $json.plan_json.company }} — Sales Season Plan ({{ $json.plan_json.window.start }} → {{ $json.plan_json.window.end }})`  \n**Learning:** Keep naming deterministic for easy filing/search.\n\n#### Create the source document (Create document file)\n**Node:** *HTTP Request: Google Docs create* or n8n’s Google Docs node  \n**Input:** `plan_md` from CEO → convert Markdown → HTML (or use a Markdown-to-HTML helper) → write into a new Google Doc.  \n**Learning:** Markdown-in → Doc-out keeps content editable by humans.\n\n#### Export to PDF (Convert to PDF)\n**Node:** *HTTP Request: Google export* or Google Drive “download file”  \n**What happens:** The Doc is exported to PDF for sharing.  \n**Tip:** Save the PDF filename with the same deterministic title."
      },
      "typeVersion": 1
    },
    {
      "id": "8d9d8432-6295-461b-ae94-709fdd59950e",
      "name": "Note adhésive9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        -96
      ],
      "parameters": {
        "width": 688,
        "height": 240,
        "content": "### 11) Share the artifact (Upload a file)\n**Node:** *Slack: upload file* (or Drive/Email)  \n**Message (example):**\n```\n📄 Sales Season Plan is ready\nCompany: {{ $json.plan_json.company }}\nWindow: {{ $json.plan_json.window.start }} → {{ $json.plan_json.window.end }}\nThe PDF is attached. Please review and add comments.\n```\n**Learning:** Always include context (company/window) in the post."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "abf7f2d5-968e-4883-a52e-c0abefbb3da4",
  "connections": {
    "405374aa-0fef-4384-9de8-4f996ad880e9": {
      "main": [
        [
          {
            "node": "729829e7-565b-43b5-ab77-a78ea976061d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "de8475ee-2b6a-43ec-85ce-a620996901b2": {
      "main": [
        [
          {
            "node": "405374aa-0fef-4384-9de8-4f996ad880e9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b3f5c3e9-a26f-4281-916a-a0bc92f96ead": {
      "ai_tool": [
        [
          {
            "node": "405374aa-0fef-4384-9de8-4f996ad880e9",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "576f221c-2766-4e28-b3b4-69d9f1d25b39": {
      "main": [
        []
      ]
    },
    "ad6e678d-000f-47cb-882b-0c7aca453800": {
      "main": [
        [
          {
            "node": "576f221c-2766-4e28-b3b4-69d9f1d25b39",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "740bc190-ca94-4dd2-b25a-a6b433b58c3f": {
      "ai_tool": [
        [
          {
            "node": "405374aa-0fef-4384-9de8-4f996ad880e9",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "dca51d1c-5347-4756-b002-193c4ebd3eab": {
      "ai_tool": [
        [
          {
            "node": "405374aa-0fef-4384-9de8-4f996ad880e9",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "4d1ed7fa-a106-4a5b-ae0e-67fb8fe99b85": {
      "ai_languageModel": [
        [
          {
            "node": "405374aa-0fef-4384-9de8-4f996ad880e9",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "6b954de8-5ad2-417f-ad36-9c483abd88ae": {
      "ai_languageModel": [
        [
          {
            "node": "740bc190-ca94-4dd2-b25a-a6b433b58c3f",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "92c5d1f4-7a87-4cbd-aff2-b6263dffaa29": {
      "ai_languageModel": [
        [
          {
            "node": "dca51d1c-5347-4756-b002-193c4ebd3eab",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "6812da19-e35c-4dad-8fee-be01340430b9": {
      "ai_languageModel": [
        [
          {
            "node": "b3f5c3e9-a26f-4281-916a-a0bc92f96ead",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "729829e7-565b-43b5-ab77-a78ea976061d": {
      "main": [
        [
          {
            "node": "c73b0250-c41d-40ae-be5f-9e97098b7afe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c73b0250-c41d-40ae-be5f-9e97098b7afe": {
      "main": [
        [
          {
            "node": "ad6e678d-000f-47cb-882b-0c7aca453800",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "02b4083a-34a1-4d4f-8f7d-936633d5c3ac": {
      "main": [
        [
          {
            "node": "de8475ee-2b6a-43ec-85ce-a620996901b2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Extraction de documents, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds24
Catégorie2
Types de nœuds9
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
Trung Tran

Trung Tran

@trungtran

Empowering small and medium businesses with smart automation and practical AI, no big tech team required.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34