{
  "id": "60MChp5jIxapZVCq",
  "meta": {
    "templateId": "5473",
    "templateCredsSetupCompleted": true
  },
  "name": "SmartSupport Flow: Auto-Handle IT Requests from Email to Jira with Slack notification",
  "tags": [],
  "nodes": [
    {
      "id": "4f22474a-0a1a-4902-b357-58aabd8c24c5",
      "name": "Check for New Emails\t",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        256,
        800
      ],
      "parameters": {
        "filters": {
          "sender": "@your-company.com"
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyX",
              "unit": "minutes"
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "13e09e91-e64d-4eea-8dfe-d0fb3e21bc8c",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1024,
        1184
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "bd6a4f92-13a0-4973-9b06-24d8c11f5b77",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1152,
        1184
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"request_id\": \"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_email_content\":\"\"\n  }\n]"
      },
      "typeVersion": 1.3
    },
    {
      "id": "248d563a-4124-4a4b-93e1-a5f452d31f1b",
      "name": "Check requester email",
      "type": "n8n-nodes-base.filter",
      "position": [
        2784,
        1392
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "b7ce59c7-e142-45f1-99fe-c03ca2cbda46",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('Support Request Reader Agent').item.json.output[0].from}}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7f8bb58e-222f-45c4-bb6e-60b4986d3abb",
      "name": "Send message to IT Support team",
      "type": "n8n-nodes-base.slack",
      "position": [
        2784,
        1200
      ],
      "parameters": {
        "text": "=\ud83d\udce9 *New IT Support Request Submitted*\n\ud83d\udc64 *Requested by:* {{ $('Support Request Reader Agent').item.json.output[0].requested_by.name }} | ({{ $('Support Request Reader Agent').item.json.output[0].requested_by.department }})\n\ud83c\udfaf *Category:* {{ $('Support Request Reader Agent').item.json.output[0].category }}\n\ud83d\udcca *Priority:* {{ $('Support Request Reader Agent').item.json.output[0].priority }}\n\ud83d\udcdd *Title:* {{ $('Support Request Reader Agent').item.json.output[0].title }}\n\n\ud83e\uddfe *Description:*  \n{{ $('Support Request Reader 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": "f671d931-7df3-4d35-987a-acdd1d980633",
      "name": "Send email to requester",
      "type": "n8n-nodes-base.sendGrid",
      "disabled": true,
      "position": [
        3008,
        1392
      ],
      "parameters": {
        "subject": "Your IT Support Request Has Been Logged",
        "toEmail": "={{ $('Support Request Reader Agent').item.json.output[0].from }}",
        "fromName": "IT Support",
        "resource": "mail",
        "fromEmail": "={{ $('Setup Jira, Slack, Email').item.json[\"IT support email\"] }}",
        "contentType": "text/html",
        "contentValue": "=Dear {{ $('Support Request Reader Agent').item.json.output[0].requested_by.name }},  \n\nThank you for reaching out to the IT Support team.  We\u2019ve received your request regarding: <b>{{ $('Support Request Reader Agent').item.json.output[0].title }}</b>  \n\ud83d\udcdd <b>Summary:</b>   {{ $('Support Request Reader Agent').item.json.output[0].description }} \nYour request has been successfully logged in our system and is now being processed by the IT Support team.  \n\ud83d\udd17 You can track the status of your request here:   <a href=\"{{ $json[\"Jira base URL\"] }}/browse/{{ $('Submit JIRA request ticket').item.json.key }}\">{{ $('Submit JIRA request ticket').item.json.key }}</a>  \nOur team will review it shortly and follow up with any updates or actions needed.  \n\nBest regards,   \nIT Support Team   SmartIT",
        "additionalFields": {}
      },
      "credentials": {
        "sendGridApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "80da05bf-11e1-4e94-bdc2-c720d2e0149f",
      "name": "Get Email Content",
      "type": "n8n-nodes-base.gmail",
      "position": [
        480,
        800
      ],
      "parameters": {
        "simple": false,
        "options": {},
        "messageId": "={{ $json.id }}",
        "operation": "get"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "6caba607-6ed0-41dc-a95f-004f1a90e0e5",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2416,
        896
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ca2b1172-2e5a-438e-8a6c-5cafd2eeb844",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2544,
        896
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"request_id\": \"req-001\",\n  \"proposed_solutions\": [\n    {\n      \"solution_title\": \"Option 1: Use Samsung T7 Shield 2TB SSD for Backup\",\n      \"description\": \"A rugged, high-speed portable SSD compatible with MacBook via USB-C, suitable for backing up large volumes of data.\",\n      \"action_type\": \"Procurement\",\n      \"recommendation_details\": [\n        \"Plug-and-play compatibility with MacBooks\",\n        \"Shock-resistant and durable for travel use\",\n        \"Offers up to 1,050 MB/s read/write speed\"\n      ],\n      \"reference_link\": \"https://www.samsung.com/us/computing/memory-storage/portable-solid-state-drives/2tb-t7-shield-usb-3-2-ssd-black-mu-pe2t0s-am/\"\n    },\n    {\n      \"solution_title\": \"Option 2: Use Company NAS Drive for Backup\",\n      \"description\": \"Set up a secure folder on the company's Synology NAS and mount it on the MacBook for automatic scheduled backups over the local network.\",\n      \"action_type\": \"Configuration / Internal Setup\",\n      \"recommendation_details\": [\n        \"Avoids hardware purchase\",\n        \"Ensures centralized access and version control\",\n        \"Can automate backups using Time Machine\"\n      ],\n      \"reference_link\": \"https://kb.synology.com/en-global/DSM/tutorial/How_to_back_up_files_from_Mac_to_Synology_NAS\"\n    }\n  ],\n  \"recommendation_notes\": \"If physical mobility and speed are critical, the portable SSD is a better choice. If centralized backup with internal hardware suffices, using the existing NAS is more cost-efficient.\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "b9c7d520-1fe0-4245-8392-c56ead2dc369",
      "name": "IT Support Advisor Agent",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        2384,
        672
      ],
      "parameters": {
        "text": "=Below is a structured IT request extracted from an employee support email. Please review and suggest the best solution:\n---\nTitle:  {{ $('Support Request Reader Agent').item.json.output[0].title }}\nDescription: {{ $('Support Request Reader Agent').item.json.output[0].description }}",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "You are an IT Support Agent responsible for reviewing structured internal support requests and proposing actionable solutions.  Your goal is to assist the IT team by: - Understanding the request context (e.g., device, software, access issue, feature need) - Recommending one or more solutions, such as:   - A product or device to purchase (including model, link, and key specs)   - A service to use or subscribe to   - Internal next steps the team can take to resolve the request  You may search the internet for updated and relevant product recommendations. Prioritize reliability, compatibility, and business suitability.  When responding: - Be concise and professional - Include specific product names and links if suggesting purchases - Explain why the solution is appropriate - Mention any considerations (e.g., delivery time, compatibility, vendor trust)  Do **not** reformat the input \u2014 your role is to provide the recommendation, not convert or restate the request."
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "c674d95f-f1bb-4244-b894-357d44e95fbb",
      "name": "Support Request Reader Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        992,
        960
      ],
      "parameters": {
        "text": "=Below is the content of an email sent to IT support. Please analyze the request and extract all necessary information according to your responsibilities.\nEmail from: {{ $json.from.text }} <- use this information to know who send the email\nBelow is the request (use this to know requested_by)\n---\n{{ $json.text }}\n---",
        "options": {
          "systemMessage": "=You are an intelligent IT Support Assistant.\n\nYour responsibility is to analyze incoming emails sent to the IT support team and extract all relevant information needed for internal processing.\n\nHere\u2019s what you must do:\n\n1. Read the entire email content, including the sender info (`From:`) and the message body.\n2. Identify the **actual requester** by checking:\n   - The **signed name and role** at the end of the message (e.g., \"Thanks, John Doe, IT Manager\")\n   - If no signed name is found, then fall back to the `From:` information as the requester.\n3. Extract the following information:\n   - Name, email, and department of the actual requester\n   - Request category (Feature, Incident, Access Request, Maintenance)\n   - Priority level (Low, Medium, High, Critical)\n   - Title of the request (summarized from the intent)\n   - Description with sufficient technical and business context\n   - Due date if any\n   - The full original email content (for reference)\n\nDo not assume the email sender is the requester if the message is clearly written **on behalf of someone else** or **signed by another person**.\n\nReturn your output as clearly structured data. Do not generate JSON \u2014 this will be handled downstream."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.8
    },
    {
      "id": "cb12310c-2ae8-48a7-a466-f219943c4ba6",
      "name": "Add resolution comment to tracking ticket",
      "type": "n8n-nodes-base.jira",
      "position": [
        2816,
        672
      ],
      "parameters": {
        "comment": "=The following solution has been proposed by the IT Support Advisor Agent to address this request:\n---\n\ud83d\udd27 Recommended Solution:\n{{ $json.output.proposed_solutions[0].solution_title }}\n\ud83d\udcdd Description:\n{{ $json.output.proposed_solutions[0].description }}\n\ud83d\udccc Key Considerations:\n{{ $json.output.proposed_solutions[0].recommendation_details }}\n\ud83d\udd17 Reference (if applicable):\n{{ $json.output.proposed_solutions[0].reference_link }}\n\ud83d\udcac Advisor Notes:\n{{ $json.output.recommendation_notes }}\n---\nPlease review and proceed with the next steps as appropriate. If clarification or additional input is needed, feel free to consult the requester or loop in relevant stakeholders.",
        "options": {},
        "issueKey": "={{ $('Submit JIRA request ticket').item.json.key }}",
        "resource": "issueComment"
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f5e9320f-78cc-4045-829d-166577530fdd",
      "name": "Mark a message as read",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1136,
        656
      ],
      "parameters": {
        "messageId": "={{ $json.id }}",
        "operation": "markAsRead"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "ec9288f6-84d7-489b-9afc-8520429a5549",
      "name": "Email has been processed?",
      "type": "n8n-nodes-base.if",
      "position": [
        704,
        800
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8f897b7e-1791-45ba-b191-3d4a86892be2",
              "operator": {
                "type": "array",
                "operation": "contains",
                "rightType": "any"
              },
              "leftValue": "={{ $('Get Email Content').item.json.labelIds }}",
              "rightValue": "UNREAD"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "334c51e1-7659-4db9-bcad-a6fb2d2d406c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -816,
        528
      ],
      "parameters": {
        "width": 1008,
        "height": 1344,
        "content": "## SmartSupport Flow: Auto-Handle IT Requests from Email to JIRA with Slack notification\n### **Who\u2019s it for**\n- This workflow is built for **lean IT teams, office managers, and business operators** who receive support requests via email and want to **automate ticket creation, smart AI resolution advice, and seamless communication** with both users and internal teams, all without lifting a finger.  \n\nIf your team is tired of manually triaging inbox requests, this AI-powered flow will transform your support handling process.\n\n### **How it works / What it does**\n\n1. **Trigger on New Email**: Uses Gmail Trigger to detect new support request emails.\n2. **Fetch Email Content**: Retrieves the full message body and metadata.\n3. **Check for Duplication**: Skips processing if the email has already been handled (based on READ/UNREAD label).\n4. **Mark as Read**: Updates Gmail to mark the email as processed.\n5. **Extract Structured Request**: Uses the `Support Request Reader Agent` powered by OpenAI to extract:\n   - Request title\n   - Request description\n   - Requested by\n   - Department\n   - Category and priority\n6. **Create Jira Ticket**: A main issue is created in Jira using the structured request.\n7. **Generate AI-Based Solution**: Invokes the `IT Support Advisor Agent` to propose resolution(s).\n8. **Post Comment to Jira**: Adds the suggested solution(s) to the issue as a comment.\n9. **Notify IT Team**: Sends the ticket and context to a Slack channel for visibility and action.\n10. **(Optional)** Send Email to Requester: Currently deactivated. Can be enabled to acknowledge receipt.\n\n### **How to set up**\n\n1. **Gmail Integration**\n   - Connect Gmail in the \u201cGmail Trigger\u201d and \u201cGet Email Content\u201d nodes.\n2. **OpenAI Configuration**\n   - Use OpenAI API credentials in both the Reader and Advisor agent models.\n3. **Jira Integration**\n   - Authenticate your Jira account.\n   - Set project key and issue fields in the \u201cCreate Main Issue\u201d node.\n4. **Slack Notification**\n   - Configure Slack connection and select a target channel.\n5. **Set up Jira, Slack, Email**\n   - Set your company Jira based URL, IT Support slack channel and IT Support email in the Edit Fields (Set) node \n6. **(Optional)** Email Acknowledgment\n   - Provide SendGrid credentials and email template in the \u201cSend email to requester\u201d node if re-enabled.\n\n### **Requirements**\n\n- Gmail API access with appropriate permissions  \n- OpenAI account with API access (for GPT-4 or GPT-3.5)  \n- Jira instance with project and permission to create/comment on issues  \n- Slack workspace and Webhook or OAuth setup  \n- n8n instance running with all above integrations configured\n\n### **How to customize the workflow**\n\n- **Enhance Email Deduplication**: Adjust the deduplication logic to use `message-id`, `threadId`, or custom headers.\n- **Expand Reader Agent**: Configure the LLM to extract more details such as asset tags, urgency levels, or locations.\n- **Tailor Advisor Agent**: Adjust prompt to generate multiple solutions, troubleshooting guides, or internal references.\n- **Routing by Department**: Add logic to forward requests to different teams based on the request category or department.\n- **Enable Email Acknowledgment**: Activate and customize the email notification step to inform requesters that their issue is being handled."
      },
      "typeVersion": 1
    },
    {
      "id": "252f6988-881e-43dd-8357-5d749fcecc58",
      "name": "Setup Jira, Slack, Email",
      "type": "n8n-nodes-base.set",
      "position": [
        2432,
        1296
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d6d4633f-b2b1-4789-a373-6a37e7965203",
              "name": "Jira base URL",
              "type": "string",
              "value": "https://your-company.atlassian.net"
            },
            {
              "id": "eec503dc-6604-4e29-acb8-71dbc2c7ec4f",
              "name": "IT support slack channel",
              "type": "string",
              "value": "it-support"
            },
            {
              "id": "2e7685df-5c0c-476c-aa2c-bbf72c255dfa",
              "name": "IT support email",
              "type": "string",
              "value": "user@example.com"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "da916fac-db48-4fc5-a768-199b0c91f2db",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        640
      ],
      "parameters": {
        "width": 608,
        "height": 448,
        "content": "### 1. Detect new support request email\n- Uses Gmail Trigger to detect new support request emails.\n- Retrieves the full message body and metadata.\n- Skips processing if the email has already been handled (based on READ/UNREAD label)"
      },
      "typeVersion": 1
    },
    {
      "id": "897f5675-8d86-4c34-8dbf-7cd9d9da1313",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        928,
        896
      ],
      "parameters": {
        "width": 400,
        "height": 432,
        "content": "### 2. Agent extract request information from email"
      },
      "typeVersion": 1
    },
    {
      "id": "1e32f8e1-844e-45b0-b4ce-3e87b6e462ea",
      "name": "Submit JIRA request ticket",
      "type": "n8n-nodes-base.jira",
      "position": [
        1760,
        960
      ],
      "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 Email Content\n---\n{{ $json.output[0].original_email_content }}"
        }
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "name": "<your credential>"
        }
      },
      "executeOnce": false,
      "retryOnFail": false,
      "typeVersion": 1
    },
    {
      "id": "039c6a6c-f948-4f3a-ace5-8557121dada0",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1424,
        848
      ],
      "parameters": {
        "width": 784,
        "height": 352,
        "content": "### 3. Submit request support ticket to JIRA system"
      },
      "typeVersion": 1
    },
    {
      "id": "cb40e5a4-b320-42c9-9039-b09bfbf5dbfc",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2336,
        576
      ],
      "parameters": {
        "width": 656,
        "height": 480,
        "content": "### 4. IT support advisor agent\n- Analyze the user support request then propose resolution\n- Comment the resolution in JIRA ticket so IT support team can save investigation time"
      },
      "typeVersion": 1
    },
    {
      "id": "a61039ea-ad11-47d3-accf-1310192eab59",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2608,
        1088
      ],
      "parameters": {
        "width": 656,
        "height": 496,
        "content": "### 6. Notification\n- Inform IT support team via Slack (channel name configured via previous node) with request information & JIRA tracking link\n- Send email to requester with JIRA tracking link to follow up"
      },
      "typeVersion": 1
    },
    {
      "id": "5758aeb8-bb7d-463f-b723-d796a8577b09",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3280,
        1152
      ],
      "parameters": {
        "width": 896,
        "height": 352,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/Screenshot+2025-07-31+at+5.00.22%E2%80%AFPM.png \"Optional title text\")"
      },
      "typeVersion": 1
    },
    {
      "id": "8597baee-f79e-4450-ad60-45ca87013a12",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3008,
        592
      ],
      "parameters": {
        "width": 768,
        "height": 432,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/Screenshot+2025-07-31+at+5.03.05%E2%80%AFPM.png \"Optional title text\")"
      },
      "typeVersion": 1
    },
    {
      "id": "6f617de1-0f73-4cf3-8f23-815be7139bd7",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        1248
      ],
      "parameters": {
        "width": 960,
        "height": 512,
        "content": "![Alt text](https://wisestackai.s3.ap-southeast-1.amazonaws.com/Screenshot+2025-07-31+at+5.06.13%E2%80%AFPM.png \"Optional title text\")"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7c23d7a3-bcfa-42bc-ad9f-51a198df36d8",
  "connections": {
    "Get Email Content": {
      "main": [
        [
          {
            "node": "Email has been processed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Support Request Reader Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "IT Support Advisor Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Check for New Emails\t": {
      "main": [
        [
          {
            "node": "Get Email Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check requester email": {
      "main": [
        [
          {
            "node": "Send email to requester",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IT Support Advisor Agent": {
      "main": [
        [
          {
            "node": "Add resolution comment to tracking ticket",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Setup Jira, Slack, Email": {
      "main": [
        [
          {
            "node": "Check requester email",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send message to IT Support team",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Support Request Reader Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Email has been processed?": {
      "main": [
        [
          {
            "node": "Support Request Reader Agent",
            "type": "main",
            "index": 0
          },
          {
            "node": "Mark a message as read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "IT Support Advisor Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Submit JIRA request ticket": {
      "main": [
        [
          {
            "node": "Setup Jira, Slack, Email",
            "type": "main",
            "index": 0
          },
          {
            "node": "IT Support Advisor Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Support Request Reader Agent": {
      "main": [
        [
          {
            "node": "Submit JIRA request ticket",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}