{
  "name": "Triage LinkedIn notifications and InMails using Gmail, OpenAI, Notion, and Slack",
  "nodes": [
    {
      "id": "19cf7de1-76aa-4360-88c2-3d69f349c823",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        752,
        384
      ]
    },
    {
      "id": "bd362e1e-6945-43b1-9a9c-173a428c7518",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        752,
        592
      ]
    },
    {
      "id": "2d0ec52f-4b29-443d-908e-33f37d061143",
      "name": "Daily Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -496,
        160
      ]
    },
    {
      "id": "9e8cdc78-af9d-416c-b967-4a94c4d8e403",
      "name": "Pull Messages From with LinkedIn tags",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -272,
        160
      ]
    },
    {
      "id": "0b144918-ad7e-40c2-9ecf-3bb29ff63754",
      "name": "First Filter for non direct messages or invites",
      "type": "n8n-nodes-base.filter",
      "position": [
        -48,
        160
      ]
    },
    {
      "id": "3193be9d-48df-4297-b6dc-0cc517aea00b",
      "name": "Second Filter for non direct messages or invites",
      "type": "n8n-nodes-base.filter",
      "position": [
        176,
        160
      ]
    },
    {
      "id": "d9be4829-a33a-4ee4-b663-ff6e63dee4c6",
      "name": "Pull body of messages",
      "type": "n8n-nodes-base.gmail",
      "position": [
        400,
        160
      ]
    },
    {
      "id": "8c44d562-1c1f-4287-89fb-643edb8e20f3",
      "name": "Open AI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        624,
        384
      ]
    },
    {
      "id": "8083ae5c-9dce-4309-a2e4-2e7aa48d7b52",
      "name": "LinkedIn Triage Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        656,
        160
      ]
    },
    {
      "id": "54068f8e-6b42-48a9-a99e-76872ddd4c35",
      "name": "Filter out Irrelevant and Sales heavy requests",
      "type": "n8n-nodes-base.filter",
      "position": [
        1120,
        160
      ]
    },
    {
      "id": "e75bc8d3-1c56-4564-8e5b-181848b252c9",
      "name": "Put into Ticketing System",
      "type": "n8n-nodes-base.notion",
      "position": [
        1344,
        160
      ]
    },
    {
      "id": "ed407ae0-6888-4246-b5be-9da0c8a74524",
      "name": "Filter out reply quick tickets",
      "type": "n8n-nodes-base.filter",
      "position": [
        1568,
        160
      ]
    },
    {
      "id": "1c0c409b-508a-42a4-b9ce-8c15c2e9f6a2",
      "name": "Send Message to myself",
      "type": "n8n-nodes-base.slack",
      "position": [
        1792,
        160
      ]
    },
    {
      "id": "cf99bf36-e47f-4c52-89fc-8e2818c7d93d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1072,
        -432
      ],
      "parameters": {
        "width": 464,
        "height": 720,
        "content": "## LinkedIn notifications and InMails triage\n\nThis workflow runs daily and turns LinkedIn email noise into a short list of messages worth your attention. It pulls emails from Gmail using a label, filt"
      }
    },
    {
      "id": "6bdecd8d-871a-452d-a89f-de68d3a7034f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        -32
      ],
      "parameters": {
        "width": 816,
        "height": 352,
        "content": "## Gmail intake and noise filters\n* Pull messages from a Gmail label\n* Keep only real LinkedIn messages and InMails\n* Remove common automated notifications\nTip: update filter phrases to match your Lin"
      }
    },
    {
      "id": "9da769c2-9ac6-4e2f-8f6b-6f9e8aefed6c",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        -48
      ],
      "parameters": {
        "width": 432,
        "height": 784,
        "content": "## AI triage\n* Sends subject, sender, date, and a body excerpt to the model\n* Returns structured output for stable mapping\n* Produces action, relevancy, sales likelihood, summary, and optional reply d"
      }
    },
    {
      "id": "e5f03d0a-bc28-4f9f-b11d-74ff675003b8",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        -288
      ],
      "parameters": {
        "width": 336,
        "height": 256,
        "content": "## Privacy note\nThis workflow sends email content to an LLM.\n\nDo not run this on sensitive mailboxes unless you are comfortable with that.\n\nIf needed:\n* reduce body length\n* redact content before the "
      }
    },
    {
      "id": "6a69872d-f2b0-4dd9-a609-d2cb771ec496",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1328,
        0
      ],
      "parameters": {
        "width": 624,
        "height": 320,
        "content": "## Outputs\n* Notion stores every triaged message for later review\n* Slack notifies you only for reply_quick items\n"
      }
    },
    {
      "id": "c66580a6-5c86-4c39-8387-940109157b85",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2016,
        48
      ],
      "parameters": {
        "width": 336,
        "height": 224,
        "content": "## Cost and reliability\nNotes:\n* `maxTokens` is high, which can increase cost\n* If parsing fails, reduce body length or simplify the schema\n* Consider a fallback:\n  * if output invalid, set `action = "
      }
    }
  ],
  "connections": {
    "Daily Trigger": {
      "main": [
        [
          {
            "node": "Pull Messages From with LinkedIn tags",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Open AI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "LinkedIn Triage Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "LinkedIn Triage Agent": {
      "main": [
        [
          {
            "node": "Filter out Irrelevant and Sales heavy requests",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pull body of messages": {
      "main": [
        [
          {
            "node": "LinkedIn Triage Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "LinkedIn Triage Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Put into Ticketing System": {
      "main": [
        [
          {
            "node": "Filter out reply quick tickets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter out reply quick tickets": {
      "main": [
        [
          {
            "node": "Send Message to myself",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pull Messages From with LinkedIn tags": {
      "main": [
        [
          {
            "node": "First Filter for non direct messages or invites",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter out Irrelevant and Sales heavy requests": {
      "main": [
        [
          {
            "node": "Put into Ticketing System",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "First Filter for non direct messages or invites": {
      "main": [
        [
          {
            "node": "Second Filter for non direct messages or invites",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Second Filter for non direct messages or invites": {
      "main": [
        [
          {
            "node": "Pull body of messages",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}