AutomationFlowsAI & RAG › Automate It Support with Telegram Voice to Jira Tickets Using Whisper &…

Automate It Support with Telegram Voice to Jira Tickets Using Whisper &…

Original n8n title: Automate It Support with Telegram Voice to Jira Tickets Using Whisper & Gpt-4.1 Mini

ByTrung Tran @trungtran on n8n.io

> Automatically process IT support requests submitted via Telegram voice messages by transcribing, extracting structured data, creating a JIRA ticket, and notifying relevant parties. Internal teams that handle IT support but want to streamline voice-based requests. Employees…

Event trigger★★★★☆ complexityAI-powered25 nodesOpenAI ChatOutput Parser StructuredSlackJiraTelegram TriggerTelegramOpenAIAgent
AI & RAG Trigger: Event Nodes: 25 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7137 — we link there as the canonical source.

This workflow follows the Agent → Google Drive recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "6CQ1q9QNxrj2uI22",
  "meta": {
    "templateId": "5473",
    "templateCredsSetupCompleted": true
  },
  "name": "\ud83c\udfa7 IT Voice Support Automation Bot \u2013 Telegram voice message to JIRA ticket with OpenAI Whisper",
  "tags": [
    {
      "id": "3R2z7RUjxRHnnAdm",
      "name": "IT Workflow",
      "createdAt": "2025-07-31T14:10:26.526Z",
      "updatedAt": "2025-07-31T14:10:26.526Z"
    },
    {
      "id": "ow6eIe95VK6fRkyw",
      "name": "Chatbot",
      "createdAt": "2025-08-05T06:23:11.231Z",
      "updatedAt": "2025-08-05T06:23:11.231Z"
    }
  ],
  "nodes": [
    {
      "id": "d86b9562-b23b-4683-b77b-6af858369fe1",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1712,
        1088
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f373c9fe-54ae-4639-9020-a7bc0dc491a6",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1840,
        1088
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"chatid\": \"IT-REQ-20240701-001\",\n    \"requested_by\": {\n      \"name\": \"\",\n      \"department\": \"\"\n    },\n    \"from\":\"\",\n    \"category\": \"Feature\",\n    \"priority\": \"High\",\n    \"status\": \"Open\",\n    \"title\": \"Purchase 2TB SSD compatible with MacBook\",\n    \"description\": \"Request to purchase a 2TB or larger SSD compatible with MacBook for data backup and transfer purposes. The requester expects the SSD to be reliable and durable. Delivery is expected by 2024-07-05. Please proceed with sourcing a compatible model and ensure proper procurement process is followed. Original request came via IT support email.\",\n    \"due_date\": \"2024-07-05\",\n    \"created_at\": \"2024-07-01T10:30:00Z\",\n    \"original_message\":\"\",\n    \"audioUrl\":\"\"\n  }\n]"
      },
      "typeVersion": 1.3
    },
    {
      "id": "3d157208-5282-4e80-92cc-391a4f531526",
      "name": "Send message to IT Support team",
      "type": "n8n-nodes-base.slack",
      "position": [
        2528,
        768
      ],
      "parameters": {
        "text": "=\ud83d\udce9 *New IT Support Request Submitted*\n\ud83d\udc64 *Requested by:* {{ $('Transcript Processing Agent').item.json.output[0].requested_by.name }} | ({{ $('Transcript Processing Agent').item.json.output[0].requested_by.department }})\n\ud83c\udfaf *Category:* {{ $('Transcript Processing Agent').item.json.output[0].category }}\n\ud83d\udcca *Priority:* {{ $('Transcript Processing Agent').item.json.output[0].priority }}\n\ud83d\udcdd *Title:* {{ $('Transcript Processing Agent').item.json.output[0].title }}\n\n\ud83e\uddfe *Description:*  \n{{ $('Transcript Processing Agent').item.json.output[0].description }}\n\n\ud83d\udd17 *Track in Jira:* {{ $json[\"Jira base URL\"] }}/browse/{{ $('Submit JIRA request ticket').item.json.key }}\n\n\ud83d\udce3 Please take action or assign accordingly.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $json['IT support slack channel'] }}"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "e4282aaf-37f5-4dfd-b37f-a091741954c4",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1456,
        128
      ],
      "parameters": {
        "width": 1648,
        "height": 2112,
        "content": "# \ud83c\udfa7 IT Voice Support Automation Bot \u2013 Telegram Voice Message to JIRA ticket with OpenAI Whisper\n\n> Automatically process IT support requests submitted via Telegram voice messages by transcribing, extracting structured data, creating a JIRA ticket, and notifying relevant parties.\n\n## \ud83e\uddd1\u200d\ud83d\udcbc Who\u2019s it for\n\n- Internal teams that handle IT support but want to streamline voice-based requests.\n- Employees who prefer using mobile/voice to report incidents or ask for support.\n- Organizations aiming to integrate conversational AI into existing support workflows.\n\n## \u2699\ufe0f How it works / What it does\n\n1. A user sends a voice message to a Telegram bot.\n2. The system checks whether it\u2019s an audio message.\n3. If valid, the audio is:\n   - Downloaded\n   - Transcribed via OpenAI Whisper\n   - Backed up to Google Drive\n4. The transcription and file metadata are merged.\n5. The merged content is processed through an **AI Agent** (GPT) to extract structured request info.\n6. A JIRA ticket is created using the extracted data.\n7. The IT team is notified via Slack (or other channels).\n8. The requester receives a Telegram confirmation message with the JIRA ticket link.\n9. If the input is not audio, a polite rejection message is sent.\n\n## \ud83d\udccc Key Features\n\n- Supports voice-based ticket creation\n- Accurate transcription using Whisper\n- Context-aware request parsing using GPT-4.1 mini\n- Fully automated ticket creation in JIRA\n- Notifies both IT and the original requester\n- Cloud backup of original voice messages (Google Drive)\n\n## \ud83d\udee0\ufe0f Setup Instructions\n### Prerequisites\n\n| Component | Required |\n|----------|----------|\n| Telegram Bot & API Key | \u2705 |\n| OpenAI Whisper / Transcription Model | \u2705 |\n| Google Drive Credentials (OAuth2) | \u2705 |\n| Google Sheets or other storage (optional) | \u2b1c |\n| JIRA Cloud API Access | \u2705 |\n| Slack Bot or Webhook | \u2705 |\n\n### Workflow Steps\n\n1. **Telegram Voice Message Trigger**: Starts the flow when a user sends a voice message.\n\n2. **Is Audio Message?**: If false \u2192 reply \"only voice is supported\"\n\n3. **Download Audio**: Download `.oga` file from Telegram.\n\n4. **Transcribe Audio**: Use OpenAI Whisper to get text transcript.\n\n5. **Backup to Google Drive**: Upload original voice file with metadata.\n\n6. **Merge Results**: Combine transcript and metadata.\n\n7. **Pre-process Output**: Clean formatting before AI extraction.\n\n8. **Transcript Processing Agent**: GPT-based agent extracts:\n   - Requester name, department\n   - Request title & description\n   - Priority & request type\n\n9. **Submit JIRA Request Ticket**: Create ticket from AI-extracted data.\n\n10. **Setup Slack / Email / Manual Steps**: Optional internal routing or approvals.\n\n11. **Inform Reporter via Telegram**: Sends confirmation message with JIRA ticket link.\n\n## \ud83d\udd27 How to Customize\n\n- Replace JIRA with Zendesk, GitHub Issues, or other ticketing tools.\n- Change Slack to Microsoft Teams or Email.\n- Add Notion/Airtable logging.\n- Enhance agent to extract department from user ID or metadata.\n\n## \ud83d\udce6 Requirements\n\n| Integration | Notes |\n|-------------|-------|\n| Telegram Bot | Used for input/output |\n| Google Drive | Audio backup |\n| OpenAI GPT + Whisper | Transcript & Extraction |\n| JIRA | Ticketing platform |\n| Slack | Team notification |\n\nBuilt with \u2764\ufe0f using [n8n](https://n8n.io)"
      },
      "typeVersion": 1
    },
    {
      "id": "d7f147cf-c456-4b47-b8de-29987dc6208f",
      "name": "Setup Jira, Slack, Email",
      "type": "n8n-nodes-base.set",
      "position": [
        2304,
        864
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d6d4633f-b2b1-4789-a373-6a37e7965203",
              "name": "Jira base URL",
              "type": "string",
              "value": "https://your-company.atlassian.net"
            },
            {
              "id": "2e7685df-5c0c-476c-aa2c-bbf72c255dfa",
              "name": "IT support email",
              "type": "string",
              "value": "user@example.com"
            },
            {
              "id": "068a0089-eb68-4118-a21b-acc5485c4d7e",
              "name": "IT support slack channel",
              "type": "string",
              "value": "it-support"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5940141a-f7ad-415b-b930-027f591a07cd",
      "name": "Submit JIRA request ticket",
      "type": "n8n-nodes-base.jira",
      "position": [
        2080,
        864
      ],
      "parameters": {
        "project": {
          "__rl": true,
          "mode": "list",
          "value": "10003",
          "cachedResultName": "Support"
        },
        "summary": "={{ $json.output[0].title }}",
        "issueType": {
          "__rl": true,
          "mode": "list",
          "value": "10005",
          "cachedResultName": "Task"
        },
        "additionalFields": {
          "assignee": {
            "__rl": true,
            "mode": "list",
            "value": "712020:49f03c74-eab4-4903-aee6-662433856e97",
            "cachedResultName": "Dinh Ngoc Huy"
          },
          "description": "={{ $json.output[0].description }}\nOriginal Voice Message Transcript (by AI)\n---\n{{ $json.output[0].original_message }}\n---\nOriginal Voice Message: {{ $json.output[0].audioUrl }}"
        }
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "name": "<your credential>"
        }
      },
      "executeOnce": false,
      "retryOnFail": false,
      "typeVersion": 1
    },
    {
      "id": "3d7e9547-d45a-46da-9cf0-eea3c8f0d436",
      "name": "Telegram Voice Message Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        336,
        960
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {
          "download": true
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "28ff22df-5242-45aa-8634-159eed3d84af",
      "name": "Is audio message?",
      "type": "n8n-nodes-base.if",
      "position": [
        560,
        960
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "069b1c3b-d683-46f2-b7d6-9dbcdde41445",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.message.toJsonString() }}",
              "rightValue": "audio/ogg"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "28fc9885-9978-4403-9dbf-53ee0d498a7b",
      "name": "Un-supported message type",
      "type": "n8n-nodes-base.telegram",
      "position": [
        784,
        1056
      ],
      "parameters": {
        "text": "=Sorry, I can\u2019t read your input right now.\nPlease send me a voice message, and I\u2019ll help you transcribe and track it! \ud83c\udf99\ufe0f\ud83d\udcac",
        "chatId": "={{ $('Telegram Voice Message Trigger').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "143e2575-a8fe-4ae4-9344-cd9522aa61c1",
      "name": "Download audio message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        784,
        864
      ],
      "parameters": {
        "fileId": "={{ $json.message.voice.file_id }}",
        "resource": "file"
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "35e82630-9f80-4ffb-8a4e-68ed26af0655",
      "name": "Transcribe a recording",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1008,
        768
      ],
      "parameters": {
        "options": {},
        "resource": "audio",
        "operation": "transcribe"
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "5f5e1bbe-cda6-48cc-b4fb-fe87ffbcee45",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2768,
        208
      ],
      "parameters": {
        "width": 768,
        "height": 432,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/jira.png \"Optional title text\")"
      },
      "typeVersion": 1
    },
    {
      "id": "119dee85-e382-4d71-8790-3748d4b68a28",
      "name": "Transcript Processing Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1680,
        864
      ],
      "parameters": {
        "text": "=Below is the voice message transcript sent to IT support. Please extract all relevant information according to your instructions.\n---\n{{ $json.toJsonString() }}\n---",
        "options": {
          "systemMessage": "=You are an intelligent IT Support Assistant.\n\nYour job is to analyze voice message transcripts sent to the IT support team via Telegram, and extract all the key information required for internal processing.\n\nHere\u2019s what you must do:\n\n1. Carefully read the entire transcript content of the voice message.\n2. Determine the **actual requester** by checking:\n   - If the speaker clearly mentions their **name, role, or department** during the voice message\n   - If no identifying details are mentioned, leave the name and department fields blank (they can be filled in later manually)\n3. Extract the following information:\n   - Requester's name (if mentioned)\n   - Requester's department or team (if mentioned)\n   - Request category: choose from one of the following \u2014 *Feature, Incident, Access Request, Maintenance*\n   - Priority level: *Low, Medium, High, or Critical*\n   - Request title: a clear and concise title summarizing the main intent\n   - Request description: provide enough technical and business context for the IT team to take action\n   - Due date or urgency if mentioned\n   - The full original transcript (for reference)\n\n\u26a0\ufe0f Do not make up information that is not mentioned. If a specific field cannot be determined from the transcript, leave it blank or mark as \"Not specified\".\n\nReturn your output as **clearly structured data in text**, following a readable and organized format (not JSON). This will be converted to structured data by another tool."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.8
    },
    {
      "id": "097266fd-5914-42c5-a99c-62f24eec27ab",
      "name": "Inform reporter via Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2528,
        960
      ],
      "parameters": {
        "text": "=*Dear {{ $('Transcript Processing Agent').item.json.output[0].requested_by.name }},*\n\nThank you for reaching out to the IT Support team.  \nWe\u2019ve received your request regarding:  \n*{{ $('Transcript Processing Agent').item.json.output[0].title }}*\n\n\ud83d\udcdd *Summary:*  \n{{ $('Transcript Processing Agent').item.json.output[0].description }}\n\nYour request has been successfully logged in our system and is now being processed by the IT Support team.\n\n\ud83d\udd17 You can track the status of your request here:  \n[{{ $('Submit JIRA request ticket').item.json.key }}]({{ $json[\"Jira base URL\"] }}/browse/{{ $('Submit JIRA request ticket').item.json.key }})\n\nOur team will review it shortly and follow up with any updates or actions needed.  \n\nBest regards,  \n*IT Support Team*",
        "chatId": "={{ $('Transcript Processing Agent').item.json.output[0].chatid }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "041b4c60-56a2-4ee5-a537-500874584876",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1232,
        864
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "adb3c7b6-b595-4b53-921c-bd46ab661c66",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2768,
        672
      ],
      "parameters": {
        "width": 768,
        "height": 272,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/slack.png \"Optional title text\")"
      },
      "typeVersion": 1
    },
    {
      "id": "e7a19034-fd0a-4d0e-934b-85a55e6deff4",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2768,
        960
      ],
      "parameters": {
        "width": 768,
        "height": 512,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/tele.png \"Optional title text\")"
      },
      "typeVersion": 1
    },
    {
      "id": "b059c849-f7e8-45a9-b6ae-d70fb4f19e10",
      "name": "Backup Audio Message To Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1008,
        960
      ],
      "parameters": {
        "name": "=audio-{{ $now.toFormat(\"yyyyLLdd-HHmmss\") }}-{{$binary.data.fileName}}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1ObNNVJFR2vcKqP8p-ZnX_eaZy4gBHgha",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1ObNNVJFR2vcKqP8p-ZnX_eaZy4gBHgha",
          "cachedResultName": "SmartIT"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "09b62491-202a-4a2a-be88-dd1775658fbd",
      "name": "Process output before feeding AI agent",
      "type": "n8n-nodes-base.code",
      "position": [
        1456,
        864
      ],
      "parameters": {
        "jsCode": "const inputs = $input.all();\n\n// Assumes: \n// inputs[0] = transcript\n// inputs[1] = drive metadata\n\nconst transcriptData = inputs[0].json;\nconst driveData = inputs[1].json;\nconst tele = $('Telegram Voice Message Trigger').first().json.message;\n\nconst result = {\n  Transcript: transcriptData.text || '',\n  AudioURL: driveData.webContentLink || '',\n  ChatID: tele.chat.id,\n  FirstName: tele.from.first_name\n};\n\nreturn [{ json: result }];"
      },
      "typeVersion": 2
    },
    {
      "id": "38348903-4c94-46dc-af77-64c47e20bd18",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        640
      ],
      "parameters": {
        "width": 528,
        "height": 256,
        "content": "## \ud83d\udce5 1. Telegram Voice Input & Validation\n\n### \ud83d\udd39 Telegram Trigger\nListens for incoming messages via Telegram bot. This is the entry point of the workflow.\n\n### \ud83d\udd39 Is Audio Message?\nValidates that the message is a voice/audio message. If not, it replies with a polite rejection (\"Only voice messages are supported\")."
      },
      "typeVersion": 1
    },
    {
      "id": "1c8b21e6-074c-4b4a-bfd8-6f55c7a0e0c5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        496
      ],
      "parameters": {
        "width": 528,
        "height": 240,
        "content": "## \ud83c\udf99\ufe0f 2. Audio Handling & Transcription\n\n### \ud83d\udd39 Download Audio Message\nRetrieves the `.oga` file from Telegram for processing.\n\n### \ud83d\udd39 Transcribe Recording (OpenAI Whisper)\nSends the audio to OpenAI Whisper to generate a transcript of the voice message.\n\n### \ud83d\udd39 Backup Audio to Google Drive\nUploads the original audio message to Google Drive as a backup and reference."
      },
      "typeVersion": 1
    },
    {
      "id": "d74dcab5-326b-46a3-8dda-a08c2023e1e5",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        1040
      ],
      "parameters": {
        "width": 448,
        "height": 256,
        "content": "## \ud83d\udd00 3. Merge & Preprocess Data\n\n### \ud83d\udd39 Merge Transcript & Metadata\nCombines the transcript and file metadata (e.g. Google Drive link, duration) into a single structured object.\n\n### \ud83d\udd39 Transform Output for AI Agent\nPrepares and formats the merged data so it can be interpreted accurately by the AI agent."
      },
      "typeVersion": 1
    },
    {
      "id": "2a4b0d93-7f15-45ad-b97c-446f99d6804b",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1584,
        608
      ],
      "parameters": {
        "width": 448,
        "height": 208,
        "content": "## \ud83e\udde0 4. AI-Powered Transcript Analysis\n### \ud83d\udd39 Transcript Processing Agent (GPT)\nAnalyzes the voice transcript using a GPT-based agent to extract structured IT support request data:\n- Requester name, department\n- Title & description\n- Request type, priority, and urgency"
      },
      "typeVersion": 1
    },
    {
      "id": "035592de-727c-42e0-a16a-3b50aeca6e79",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2096,
        528
      ],
      "parameters": {
        "width": 544,
        "height": 208,
        "content": "## \ud83d\udee0\ufe0f 5. Ticket Submission & Internal Notification\n### \ud83d\udd39 Submit JIRA Request Ticket\nCreates a new JIRA issue using the extracted data from the AI agent.\n### \ud83d\udd39 Setup Jira, Slack, Email\nOptional step to notify internal teams via Slack, email, or update manual logs with relevant info."
      },
      "typeVersion": 1
    },
    {
      "id": "b3b9315c-e55d-4bbe-874b-f5ea2ecdf061",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        1168
      ],
      "parameters": {
        "width": 480,
        "height": 192,
        "content": "## \ud83d\udcec 6. User Confirmation\n### \ud83d\udd39 Inform Reporter via Telegram\nSends a personalized confirmation message to the original requester including:\n- Summary of the request\n- Ticket number\n- Tracking link to JIRA"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5c7e739d-016a-4e4a-bb00-7f84d89d81d3",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Process output before feeding AI agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is audio message?": {
      "main": [
        [
          {
            "node": "Download audio message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Un-supported message type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Transcript Processing Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Download audio message": {
      "main": [
        [
          {
            "node": "Backup Audio Message To Google Drive",
            "type": "main",
            "index": 0
          },
          {
            "node": "Transcribe a recording",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transcribe a recording": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Setup Jira, Slack, Email": {
      "main": [
        [
          {
            "node": "Send message to IT Support team",
            "type": "main",
            "index": 0
          },
          {
            "node": "Inform reporter via Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Transcript Processing Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Submit JIRA request ticket": {
      "main": [
        [
          {
            "node": "Setup Jira, Slack, Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transcript Processing Agent": {
      "main": [
        [
          {
            "node": "Submit JIRA request ticket",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Voice Message Trigger": {
      "main": [
        [
          {
            "node": "Is audio message?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Backup Audio Message To Google Drive": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Process output before feeding AI agent": {
      "main": [
        [
          {
            "node": "Transcript Processing Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

&gt; Automatically process IT support requests submitted via Telegram voice messages by transcribing, extracting structured data, creating a JIRA ticket, and notifying relevant parties. Internal teams that handle IT support but want to streamline voice-based requests. Employees…

Source: https://n8n.io/workflows/7137/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.

@Blotato/N8N Nodes Blotato, Google Sheets, OpenAI Chat +9
AI & RAG

Digital marketers, content creators, social media managers, and businesses who want to use AI marketing automation for YouTube Shorts without spending hours on production. This AI workflow helps anyon

OpenAI, HTTP Request, OpenAI Chat +7
AI & RAG

This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste

Telegram, Telegram Trigger, Google Drive +8
AI & RAG

Unlock the Power of Language with Personalized AI Learning! MOTION TUTOR is a revolutionary AI-powered language learning platform that adapts to your progress and guides you from basic vocabulary to c

Agent, Airtable Tool, OpenAI Chat +6
AI & RAG

This automation is designed to help you generate AI-powered music tracks, cover art, and fully rendered music videos — all triggered from a simple Telegram chat and managed via Google Sheets.

OpenAI Chat, Memory Buffer Window, Output Parser Structured +11