{
  "openruna_format": "flow-graph-v1",
  "title": "Speech Support Workflow",
  "slug": "speech-support-workflow",
  "source_filename": "1452_Telegram_Stickynote_Automate_Triggered.json",
  "nodes": [
    {
      "id": "AI Agent",
      "name": "AI Agent",
      "integration": "@n8n/n8n-nodes-langchain.agent",
      "kind": "action"
    },
    {
      "id": "Google Gemini Chat Model",
      "name": "Google Gemini Chat Model",
      "integration": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "kind": "action"
    },
    {
      "id": "Recieve Telegram Message",
      "name": "Recieve Telegram Message",
      "integration": "telegram",
      "kind": "trigger"
    },
    {
      "id": "Check For Text or Voice Message",
      "name": "Check For Text or Voice Message",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Download Audio File",
      "name": "Download Audio File",
      "integration": "telegram",
      "kind": "action"
    },
    {
      "id": "Transcribe Audio File",
      "name": "Transcribe Audio File",
      "integration": "@n8n/n8n-nodes-langchain.openAi",
      "kind": "action"
    },
    {
      "id": "If Voice Message",
      "name": "If Voice Message",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Code to remove unwanted characters from LLM response",
      "name": "Code to remove unwanted characters from LLM response",
      "integration": "code",
      "kind": "logic"
    },
    {
      "id": "Code to split output into chunks under 4000 characters",
      "name": "Code to split output into chunks under 4000 characters",
      "integration": "code",
      "kind": "logic"
    },
    {
      "id": "Respond to Telegram Message",
      "name": "Respond to Telegram Message",
      "integration": "telegram",
      "kind": "action"
    },
    {
      "id": "Wipe Conversation Memory",
      "name": "Wipe Conversation Memory",
      "integration": "@n8n/n8n-nodes-langchain.memoryManager",
      "kind": "action"
    },
    {
      "id": "Store Conversation Memory",
      "name": "Store Conversation Memory",
      "integration": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "kind": "action"
    },
    {
      "id": "Set prompt to start a new speech",
      "name": "Set prompt to start a new speech",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Set prompt to generate a speech based on the feedback",
      "name": "Set prompt to generate a speech based on the feedback",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Set prompt to provide feedback on speech",
      "name": "Set prompt to provide feedback on speech",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Route Flow Based on Message Content",
      "name": "Route Flow Based on Message Content",
      "integration": "switch",
      "kind": "logic"
    }
  ],
  "edges": [
    {
      "from": "AI Agent",
      "to": "Code to remove unwanted characters from LLM response"
    },
    {
      "from": "If Voice Message",
      "to": "Download Audio File"
    },
    {
      "from": "If Voice Message",
      "to": "Route Flow Based on Message Content"
    },
    {
      "from": "Download Audio File",
      "to": "Transcribe Audio File"
    },
    {
      "from": "Transcribe Audio File",
      "to": "Route Flow Based on Message Content"
    },
    {
      "from": "Recieve Telegram Message",
      "to": "Check For Text or Voice Message"
    },
    {
      "from": "Wipe Conversation Memory",
      "to": "Set prompt to start a new speech"
    },
    {
      "from": "Check For Text or Voice Message",
      "to": "If Voice Message"
    },
    {
      "from": "Set prompt to start a new speech",
      "to": "AI Agent"
    },
    {
      "from": "Route Flow Based on Message Content",
      "to": "Wipe Conversation Memory"
    },
    {
      "from": "Route Flow Based on Message Content",
      "to": "Set prompt to generate a speech based on the feedback"
    },
    {
      "from": "Route Flow Based on Message Content",
      "to": "Set prompt to provide feedback on speech"
    },
    {
      "from": "Set prompt to provide feedback on speech",
      "to": "AI Agent"
    },
    {
      "from": "Code to remove unwanted characters from LLM response",
      "to": "Code to split output into chunks under 4000 characters"
    },
    {
      "from": "Set prompt to generate a speech based on the feedback",
      "to": "AI Agent"
    },
    {
      "from": "Code to split output into chunks under 4000 characters",
      "to": "Respond to Telegram Message"
    }
  ]
}