{
  "name": "Production AI Playbook: Human Oversight (Exercise 2)",
  "nodes": [
    {
      "id": "43844688-ff29-481f-a544-f8dc3d3fd602",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        0,
        0
      ]
    },
    {
      "id": "4b5965d9-3fdf-4ca6-81e6-21225f457798",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        288,
        0
      ]
    },
    {
      "id": "b944a6ca-38ba-4bbf-9903-03c2ff9e799b",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        224,
        224
      ]
    },
    {
      "id": "1def7515-5f42-451d-a207-f4c7a18a92f6",
      "name": "Review: Send Contract",
      "type": "@n8n/n8n-nodes-langchain.chatHitlTool",
      "position": [
        480,
        224
      ]
    },
    {
      "id": "0248f52c-1bbf-4de0-b2c8-55ddc1d67df5",
      "name": "Send Contract",
      "type": "@n8n/n8n-nodes-langchain.toolCode",
      "position": [
        480,
        432
      ]
    },
    {
      "id": "542612dc-099f-4a2c-b627-fd9bbb12a444",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        -224
      ],
      "parameters": {
        "width": 512,
        "height": 816,
        "content": "## Sales Pipeline Agent with Tool Call Approval Gates\n\n### How it works\n1. **Chat Trigger** receives a request to send a contract (e.g., \"Send the Enterprise contract to john@acmecorp.com for deal 452"
      }
    }
  ],
  "connections": {
    "Send Contract": {
      "ai_tool": [
        [
          {
            "node": "Review: Send Contract",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Review: Send Contract": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}