{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "e2c58c94-6864-431d-a5e3-56ea2757cf10",
      "name": "Slack Channel Chatbot",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        192,
        -1328
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are a helpful assistant. For all questions, get the slack channel history from the slack history tool. Do not make anythign up. Use only data in the slack tool to answer questions. "
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "bbb5baca-6411-4d41-8530-3aff0a228513",
      "name": "Chat with Slack",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -192,
        -944
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "51c83a27-1e6d-4c46-bbaf-d34e5c14f707",
      "name": "Sticky Note53",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -256,
        -1344
      ],
      "parameters": {
        "color": 7,
        "width": 224,
        "height": 560,
        "content": "\n- \u201cGive me a 5-bullet summary of the last 24 hours.\u201d  \n- \u201cWhat action items were assigned, and to whom?\u201d  \n- \u201cList open questions that haven\u2019t been answered yet.\u201d  \n- \u201cWho was mentioned most this week?\u201d  \n- \u201cSummarize decisions from the last sprint planning.\u201d  \n- \u201cShow messages with the word \u2018blocker\u2019 from the past 2 days.\u201d  \n- \u201cWhat files/links were shared today?\u201d"
      },
      "typeVersion": 1
    },
    {
      "id": "3e18db06-f194-4d48-b861-d4724cd83e22",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -816,
        -1568
      ],
      "parameters": {
        "width": 400,
        "height": 1056,
        "content": "## \u2699\ufe0f Setup Instructions\n\n### 1\ufe0f\u20e3 Set Up OpenAI Connection\n1. Go to [OpenAI Platform](https://platform.openai.com/api-keys)  \n2. Navigate to [OpenAI Billing](https://platform.openai.com/settings/organization/billing/overview)  \n3. Add funds to your billing account  \n4. Copy your API key into the **OpenAI credentials** in n8n\n\n### 2\ufe0f\u20e3 Connect Slack API\n1. Create an app \u2192 <https://api.slack.com/apps>  \n2. **OAuth & Permissions** \u2192 add scopes you need to read channel history (typical:  \n   `channels:history`, `groups:history`, `im:history`, `mpim:history`, plus `channels:read`, `groups:read`, `users:read`. Add `chat:write` if you want the bot to reply in Slack.)  \n3. **Install** the app to your workspace \u2192 copy the **Bot User OAuth Token**  \n4. In n8n \u2192 **Credentials \u2192 New \u2192 Slack OAuth2 API** \u2192 paste token and save  \n5. In the **Slack History** node, select your Slack credential and the **Channel ID** to read\n\n---\n\n## \ud83d\udde3\ufe0f Example Questions You Can Ask\n- \u201cGive me a 5-bullet summary of the last 24 hours.\u201d  \n- \u201cWhat action items were assigned, and to whom?\u201d  \n- \u201cList open questions that haven\u2019t been answered yet.\u201d  \n- \u201cWho was mentioned most this week?\u201d  \n- \u201cSummarize decisions from the last sprint planning.\u201d  \n- \u201cShow messages with the word \u2018blocker\u2019 from the past 2 days.\u201d  \n- \u201cWhat files/links were shared today?\u201d\n\n---\n\n## \ud83d\udcec Contact\nNeed help customizing this or adding auto-replies back into Slack?\n\n- \ud83d\udce7 **robert@ynteractive.com**  \n- \ud83d\udd17 **[Robert Breen](https://www.linkedin.com/in/robert-breen-29429625/)**  \n- \ud83c\udf10 **[ynteractive.com](https://ynteractive.com)**\n"
      },
      "typeVersion": 1
    },
    {
      "id": "113a5a1d-3afb-4bbf-81c6-0e6602121f98",
      "name": "Sticky Note52",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        -1360
      ],
      "parameters": {
        "color": 3,
        "width": 224,
        "height": 640,
        "content": "### 2\ufe0f\u20e3 Connect Slack API\n1. Create an app \u2192 <https://api.slack.com/apps>  \n2. **OAuth & Permissions** \u2192 add scopes you need to read channel history (typical:  \n   `channels:history`, `groups:history`, `im:history`, `mpim:history`, plus `channels:read`, `groups:read`, `users:read`. Add `chat:write` if you want the bot to reply in Slack.)  \n3. **Install** the app to your workspace \u2192 copy the **Bot User OAuth Token**  \n4. In n8n \u2192 **Credentials \u2192 New \u2192 Slack OAuth2 API** \u2192 paste token and save  \n5. In the **Slack History** node, select your Slack credential and the **Channel ID** to read\n"
      },
      "typeVersion": 1
    },
    {
      "id": "922d2b75-5e58-4e60-a3a3-84ad97ec63f2",
      "name": "Sticky Note50",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        -1568
      ],
      "parameters": {
        "color": 7,
        "width": 1248,
        "height": 1056,
        "content": "# \ud83d\udcac Slack Channel Chatbot (n8n + OpenAI)\n\nChat with a Slack channel using AI. This workflow fetches the channel\u2019s message history and lets you ask natural-language questions (\u201cwhat were the decisions?\u201d, \u201cwho\u2019s blocked?\u201d, \u201csummarize yesterday\u201d). The assistant **only** answers from the channel\u2019s actual messages\u2014no guessing.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "edca3251-40b1-441c-a4f4-87940abdb157",
      "name": "Slack History",
      "type": "n8n-nodes-base.slackTool",
      "position": [
        672,
        -832
      ],
      "parameters": {
        "filters": {},
        "resource": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C04FXLG2YRJ",
          "cachedResultName": "general"
        },
        "operation": "history",
        "returnAll": true
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "c3dfd3e0-4f0d-41ee-a703-bd9d6fcd7e8f",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        240,
        -736
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "df01d3a5-ea81-4d7c-b82f-dee98257a172",
      "name": "Sticky Note54",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -912
      ],
      "parameters": {
        "color": 3,
        "width": 288,
        "height": 304,
        "content": "### 1\ufe0f\u20e3 Set Up OpenAI Connection\n1. Go to [OpenAI Platform](https://platform.openai.com/api-keys)  \n2. Navigate to [OpenAI Billing](https://platform.openai.com/settings/organization/billing/overview)  \n3. Add funds to your billing account  \n4. Copy your API key into the **OpenAI credentials** in n8n  "
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Slack History": {
      "ai_tool": [
        [
          {
            "node": "Slack Channel Chatbot",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Chat with Slack": {
      "main": [
        [
          {
            "node": "Slack Channel Chatbot",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Slack Channel Chatbot",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}