{
  "id": "ks75ajOn93UedaeQ",
  "name": "JOTFORM IT Service Request",
  "tags": [],
  "nodes": [
    {
      "id": "eddf1e46-927f-4bf9-acbb-53dd776424da",
      "name": "JotForm Trigger",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -64,
        640
      ],
      "parameters": {
        "form": "="
      },
      "credentials": {
        "jotFormApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f5108a8e-39db-425d-967c-c12ceeace077",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        768,
        976
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0b99a659-e245-4f9c-b1c0-5e25832fc18a",
      "name": "Summarization Chain",
      "type": "@n8n/n8n-nodes-langchain.chainSummarization",
      "position": [
        528,
        640
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 2.1
    },
    {
      "id": "fbf96746-b4cf-4a79-97a9-32c47e00c237",
      "name": "Reply User",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1824,
        576
      ],
      "parameters": {
        "sendTo": "={{ $json.Email }}",
        "message": "=Dear {{ $json.Name }},\n\nThank you for submitting your IT service request. We\u2019ve received your request and our team is currently reviewing the details. You will be notified once the issue has been assigned and work begins.\n\nIf you have any additional information to share, please reply to this email.\n\nSummary:\n{{ $json.Summary }}\n\nRequest:\n{{ $json.Problem }}\n\nBest regards,\nIT Support Team",
        "options": {},
        "subject": "=IT Service Request: {{ $json.Name }} - {{ $json.Department }} - {{ $json.Category }}- {{ $json.Date }}",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "f092a3cf-0561-4c0b-b807-2a1ebc92ef4e",
      "name": "Priority Classifier",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        880,
        624
      ],
      "parameters": {
        "options": {},
        "inputText": "=Description:\n{{ $('JotForm Trigger').item.json['Please Specify'] }}\n\nComments:\n{{ $('JotForm Trigger').item.json['Comment and Questions'] }}",
        "categories": {
          "categories": [
            {
              "category": "Low",
              "description": "Requests that are non-critical and do not impact daily operations. These tasks can be completed within several days without affecting productivity. Usually involve routine maintenance, minor updates, or general inquiries."
            },
            {
              "category": "Medium",
              "description": "Requests that affect an individual\u2019s ability to work but do not impact multiple users or critical systems. These tasks should be addressed within 24\u201348 hours to minimize disruption."
            },
            {
              "category": "High",
              "description": "Requests that have a major impact on business operations or affect multiple users. These require immediate attention to restore functionality or prevent downtime."
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "a8481a8c-d041-4f34-ae94-58d0a4752107",
      "name": "Store to Sheets P2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1296,
        400
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ new Date().format('MMMM D, h:mm:ss a') }}",
            "Name": "={{ $('Downstream Fields').item.json['Full Name'].first }} {{ $('Downstream Fields').item.json['Full Name'].last }}",
            "Email": "={{ $('Downstream Fields').item.json['E-mail'] }}",
            "Status": "TODO",
            "Problem": "={{ $('Downstream Fields').item.json['Please Specify'] }}\n\nComments: {{ $('Downstream Fields').item.json['Comment and Questions'] }}",
            "Summary": "={{ $('Summarization Chain').item.json.output.text }}",
            "Category": "={{ $('Downstream Fields').item.json['Problem Category'][0] }}",
            "Priority": "P2",
            "Department": "={{ $('Downstream Fields').item.json.Department }}",
            "Building Number": "={{ $('Downstream Fields').item.json['Building Number'] }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Priority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Department",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Department",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Building Number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Building Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Problem",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Problem",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "d045f16c-626b-403b-92a8-95b3624f69c5",
      "name": "Store to Sheets P0",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1552,
        768
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ new Date().format('MMMM D, h:mm:ss a') }}",
            "Name": "={{ $('Downstream Fields').item.json['Full Name'].first }} {{ $('Downstream Fields').item.json['Full Name'].last }}",
            "Email": "={{ $('Downstream Fields').item.json['E-mail'] }}",
            "Status": "TODO",
            "Problem": "={{ $('Downstream Fields').item.json['Please Specify'] }}\n\n{{ $('Downstream Fields').item.json['Comment and Questions'] }}",
            "Summary": "={{ $('Summarization Chain').item.json.output.text }}",
            "Category": "={{ $('Downstream Fields').item.json['Problem Category'][0] }}",
            "Priority": "=P0",
            "Department": "={{ $('Downstream Fields').item.json.Department }}",
            "Building Number": "={{ $('Downstream Fields').item.json['Building Number'] }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Priority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Department",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Department",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Building Number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Building Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Problem",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Problem",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "58061549-f68d-490c-b190-4f39ab67ffb5",
      "name": "Store to Sheets P1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1296,
        576
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ new Date().format('MMMM D, h:mm:ss a') }}",
            "Name": "={{ $('Downstream Fields').item.json['Full Name'].first }} {{ $('Downstream Fields').item.json['Full Name'].last }}",
            "Email": "={{ $('Downstream Fields').item.json['E-mail'] }}",
            "Status": "TODO",
            "Problem": "={{ $('Downstream Fields').item.json['Please Specify'] }}\n\nComments: {{ $('Downstream Fields').item.json['Comment and Questions'] }}",
            "Summary": "={{ $('Summarization Chain').item.json.output.text }}",
            "Category": "={{ $('Downstream Fields').item.json['Problem Category'][0] }}",
            "Priority": "P1",
            "Department": "={{ $('Downstream Fields').item.json.Department }}",
            "Building Number": "={{ $('Downstream Fields').item.json['Building Number'] }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Priority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Department",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Department",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Building Number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Building Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Problem",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Problem",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "4ac3dcf5-1571-4ef6-a713-9cd1b769da4d",
      "name": "Send to Group",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1296,
        768
      ],
      "parameters": {
        "text": "=\u26a0\ufe0fALERT\u26a0\ufe0f\n\nPlease do it immediately\nP0 Request\n\nSummary\n{{ $json.output.text }}\nRequest\n{{ $('Downstream Fields').item.json['Please Specify'] }}\n\nComments\n{{ $('Downstream Fields').item.json['Comment and Questions'] }}\n\nName: {{ $('Downstream Fields').item.json['Full Name'].first }} {{ $('Downstream Fields').item.json['Full Name'].last }}\n\nDepartment: {{ $('Downstream Fields').item.json.Department }}\n\nCategory: {{ $('Downstream Fields').item.json['Problem Category'][0] }}\n\nBuilding Number: {{ $('Downstream Fields').item.json['Building Number'] }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "993442ca-2aef-4177-8ea6-1d0795268895",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        336
      ],
      "parameters": {
        "color": 7,
        "width": 336,
        "height": 528,
        "content": "## Form\n\nStarts workflow when a new IT Service Request is submitted on Jotform.\n\nCaptures: Full Name, Department, Email, Building Number, Problem Category, and Comments.\n\nConnects to \u201cSet Fields\u201d node for structured data mapping."
      },
      "typeVersion": 1
    },
    {
      "id": "a944c896-72d2-4313-92fc-80715f0ed8bf",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        128
      ],
      "parameters": {
        "color": 7,
        "width": 624,
        "height": 864,
        "content": "## Summarizaion & Classifer\n\n- Uses AI to summarize problem details for reports and alerts.\n- Works with Google Gemini model for summarization and classification.\n- Produces a short \u201cSummary\u201d used in Sheets, emails, and Telegram messages.\n- Analyzes request details (problem + comments).\n\n### Classifies into:\nP0 (High) \u2013 Immediate action\nP1 (Medium) \u2013 Affects single user\nP2 (Low) \u2013 Non-critical maintenance\n\nRoutes to correct Google Sheet tab and notification channel."
      },
      "typeVersion": 1
    },
    {
      "id": "09d4ff17-05da-4c4b-8de8-ae7cfe00a98c",
      "name": "Downstream Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        272,
        640
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7ead3c02-52b8-424d-9c3f-3c295ef25e89",
              "name": "Full Name",
              "type": "object",
              "value": "={{ $json['Full Name'] }}"
            },
            {
              "id": "546c1672-e08a-4a15-ac06-8328643e5452",
              "name": "Department",
              "type": "string",
              "value": "={{ $json.Department }}"
            },
            {
              "id": "3d4efe56-a77b-4957-8891-998f2b9242c6",
              "name": "E-mail",
              "type": "string",
              "value": "={{ $json['E-mail'] }}"
            },
            {
              "id": "f7f0d2ab-0f37-4311-9bc2-06484973a2c8",
              "name": "Building Number",
              "type": "string",
              "value": "={{ $json['Building Number'] }}"
            },
            {
              "id": "37038773-4789-4be4-bfcb-e66622def048",
              "name": "['Problem Category'][0]",
              "type": "string",
              "value": "={{ $json['Problem Category'][0] }}"
            },
            {
              "id": "484d4c07-32d9-4e31-a13a-97534871863f",
              "name": "Please Specify",
              "type": "string",
              "value": "={{ $json['Please Specify'] }}"
            },
            {
              "id": "86f0e37d-7cbd-4492-bf18-e47b532cf572",
              "name": "Comment and Questions",
              "type": "string",
              "value": "={{ $json['Comment and Questions'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "cf8f4c50-bdb6-46c2-9eb8-ecde6e6bb08e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        -64
      ],
      "parameters": {
        "width": 880,
        "height": 336,
        "content": "## Automate IT Service Request intake \u2192 classification \u2192 storage \u2192 notification \u2192 acknowledgment.\n\n- Faster IT response time\n- Centralized data in Google Sheets\n- AI-driven ticket summarization\n- Automatic priority routing and communication"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e8cfc82c-1f89-4da8-b1d5-f232d2098929",
  "connections": {
    "Send to Group": {
      "main": [
        [
          {
            "node": "Store to Sheets P0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "JotForm Trigger": {
      "main": [
        [
          {
            "node": "Downstream Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Downstream Fields": {
      "main": [
        [
          {
            "node": "Summarization Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store to Sheets P0": {
      "main": [
        [
          {
            "node": "Reply User",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store to Sheets P1": {
      "main": [
        [
          {
            "node": "Reply User",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store to Sheets P2": {
      "main": [
        [
          {
            "node": "Reply User",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Priority Classifier": {
      "main": [
        [
          {
            "node": "Store to Sheets P2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Store to Sheets P1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send to Group",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarization Chain": {
      "main": [
        [
          {
            "node": "Priority Classifier",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Priority Classifier",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Summarization Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}