AutomationFlowsWeb Scraping › Automate Daily Glpi Pending Ticket Notifications to Microsoft Teams

Automate Daily Glpi Pending Ticket Notifications to Microsoft Teams

ByLuis Hernandez @integropen on n8n.io

GLPI Pending Tickets Notification to Microsoft Teams

Cron / scheduled trigger★★★★☆ complexity19 nodesHTTP RequestMicrosoft Teams
Web Scraping Trigger: Cron / scheduled Nodes: 19 Complexity: ★★★★☆ Added:

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

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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "b42b5224-f6c3-4f89-a1de-4edc6b4be539",
      "name": "Get pending cases",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1488,
        -240
      ],
      "parameters": {
        "url": "https://\"your_glpi_server\"/apirest.php/search/Ticket/",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "criteria[0][field]",
              "value": "5"
            },
            {
              "name": "criteria[0][searchtype]",
              "value": "equals"
            },
            {
              "name": "criteria[0][value]",
              "value": "8"
            },
            {
              "name": "criteria[1][link]",
              "value": "AND"
            },
            {
              "name": "criteria[1][field]",
              "value": "12"
            },
            {
              "name": "criteria[1][searchtype]",
              "value": "equals"
            },
            {
              "name": "criteria[1][value]",
              "value": "2"
            },
            {
              "name": "criteria[2][link]",
              "value": "AND"
            },
            {
              "name": "criteria[2][field]",
              "value": "15"
            },
            {
              "name": "criteria[2][searchtype]",
              "value": "morethan"
            },
            {
              "name": "criteria[2][value]",
              "value": "2024-08-01"
            },
            {
              "name": "criteria[3][link]",
              "value": "AND"
            },
            {
              "name": "criteria[3][field]",
              "value": "80"
            },
            {
              "name": "criteria[3][searchtype]",
              "value": "contains"
            },
            {
              "name": "criteria[3][value]",
              "value": "entity_name"
            },
            {
              "name": "order",
              "value": "DESC"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Session-Token",
              "value": "={{ $json.session_token }}"
            },
            {
              "name": "App-Token",
              "value": "=\"Your App Token is here\""
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1fcb5ffb-a90a-4b15-be54-e82f5c0cdefc",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -2592,
        -112
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8851baa4-a224-4167-907a-47a4e9e37539",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -624,
        -352
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "8becb3db-a506-4928-bc7c-e5e436d1832d",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -848,
        48
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ec77f17f-56da-4992-8c68-83bb2269fa2f",
      "name": "Create chat message",
      "type": "n8n-nodes-base.microsoftTeams",
      "position": [
        -112,
        16
      ],
      "parameters": {
        "chatId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "message": "=## Action Required: Pending Cases\n\n**Title:** {{ $json['1'] }}\n\n**ID:** {{ $json['2'] }}\n\n**Due Date:** {{ $json['18'] }}",
        "options": {
          "includeLinkToWorkflow": false
        },
        "resource": "chatMessage"
      },
      "credentials": {
        "microsoftTeamsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "41990118-4edf-4945-b5d4-8a21381b5914",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -896,
        -304
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "data"
      },
      "typeVersion": 1
    },
    {
      "id": "86a3660a-7985-4045-8514-a411ce9eb756",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -336,
        -432
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "0a8a2fa2-9e52-4bfd-ac48-d41e1d0926d3",
      "name": "No Operation, do nothing1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        192,
        -432
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "fbf9fa0f-cfa5-4ea2-935a-18286fd9817d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2656,
        -288
      ],
      "parameters": {
        "height": 320,
        "content": "## Schedule Trigger\nDefine the workflow execution schedule that best suits you."
      },
      "typeVersion": 1
    },
    {
      "id": "8f908a3f-db32-42e8-bdcc-9586b4f8affd",
      "name": "Get session token",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2064,
        -128
      ],
      "parameters": {
        "url": "https://\"your_glpi_server\"/apirest.php/initSession/",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBasicAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "App-Token",
              "value": "\"Your App Token is here\""
            }
          ]
        }
      },
      "credentials": {
        "httpBasicAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6cee6b63-c04d-4981-b153-d6b6056c45c9",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2384,
        -448
      ],
      "parameters": {
        "color": 4,
        "width": 544,
        "height": 480,
        "content": "## Node http request\nGet session token\n\nMethod: Get\n\nURL:https://\"your_glpi_server\"/apirest.php/initSession/\n\nAuthentication: Generic Credential Type\nGeneric Auth Type: Basic Auth\nBasic Auth: User/Password | Credential glpi application manager\n\n\n\nSend Headers\n\nContent-Type: application/json\nApp-Token: \"Your App Token is here\""
      },
      "typeVersion": 1
    },
    {
      "id": "54572b4a-0383-42d8-bca5-25a215eb89d8",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1808,
        -688
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 720,
        "content": "## Node http request\nGet pending cases \n\nMethod: GET\n\nURL: https://\"your_glpi_server\"/apirest.php/search/Ticket/\n\n\nSend Query Parameters\n\ncriteria[0][field]: 5\ncriteria[0][searchtype]: equals\ncriteria[0][value]: \"Change to id_technnician ej: 8\"\ncriteria[1][link]: AND\ncriteria[1][field]: 12\ncriteria[1][searchtype]: equals\ncriteria[1][value]: 2\ncriteria[2][link]: AND\ncriteria[2][field]: 15\ncriteria[2][searchtype]: morethan\ncriteria[2][value]: 2024-08-01\ncriteria[3][link]: AND\ncriteria[3][field]: 80\ncriteria[3][searchtype]: contains\ncriteria[3][value]: \"Change to entity_name\"\norder: DESC\n\nSend Headers\n\nContent-Type: application/json\nSession-Token: {{ $json.session_token }}\nApp-Token:  \"Your App Token is here\""
      },
      "typeVersion": 1
    },
    {
      "id": "f2dc0e3a-c751-42d2-8d19-0b985ca71287",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1280,
        -496
      ],
      "parameters": {
        "height": 464,
        "content": "## Node IF\nAre there any ongoing cases?\n\nConditions\n\n{{ $json.totalcount }} # is greater than 0\n\nIf they exist = true\nIf they do not exist = false"
      },
      "typeVersion": 1
    },
    {
      "id": "6a1e7b75-a078-4b4d-8e1b-06ac30e86da4",
      "name": "Are there any ongoing cases?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1200,
        -224
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "64c7b2af-b7be-4e72-bee4-380072abe2b7",
              "operator": {
                "type": "number",
                "operation": "gt"
              },
              "leftValue": "={{ $json.totalcount }}",
              "rightValue": 0
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a239f6ad-6e4b-4c94-b453-0cae8890c536",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -960,
        -496
      ],
      "parameters": {
        "width": 224,
        "height": 352,
        "content": "## Node Split Out\nIf there is more than one case, I separate them so I can iterate them correctly."
      },
      "typeVersion": 1
    },
    {
      "id": "233cfc69-c272-4c75-a37d-8889efb7537b",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -432,
        -544
      ],
      "parameters": {
        "width": 272,
        "height": 272,
        "content": "## Node Aggregate\nI regroup all the elements after they've been iterated."
      },
      "typeVersion": 1
    },
    {
      "id": "60d13886-f13c-441a-8afa-b5ec6c527a43",
      "name": "End session",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -32,
        -432
      ],
      "parameters": {
        "url": "https://\"your_glpi_server\"/apirest.php/killSession/",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Session-Token",
              "value": "={{ $('Get session token').item.json.session_token }}"
            },
            {
              "name": "App-Token",
              "value": "\"Your App Token is here\""
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "c0c8285f-54c0-4d8d-8e91-51f28068f0a4",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        -704
      ],
      "parameters": {
        "width": 272,
        "height": 432,
        "content": "## Node End session\nMethod: GET\n\nURL: https://\"your_glpi_server\"/apirest.php/killSession/\n\nSend Headers\n\nSession-Token : {{ $('Get session token').item.json.session_token }}\nApp-Token: \"Your App Token is here\""
      },
      "typeVersion": 1
    },
    {
      "id": "0d5a053a-452e-4cad-8106-a87d1098faf4",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        -224
      ],
      "parameters": {
        "color": 5,
        "width": 832,
        "height": 400,
        "content": "## Create chat message\n\nCredential to connect whith \"We must create the connection with the Microsoft Teams account that has a basic or standard license.\"\n\nResource: Chat Message\nOperation: Create\nChat: from list \"Start a chat with the technician of this flow so that it appears on the list.\"\n\nIn the Microsoft admin center, go to \"Enterprise apps > n8n app - User and groups > add user and group.\" Add the Teams account that will be used to send notifications."
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Aggregate": {
      "main": [
        [
          {
            "node": "End session",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "End session": {
      "main": [
        [
          {
            "node": "No Operation, do nothing1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create chat message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get session token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get pending cases": {
      "main": [
        [
          {
            "node": "Are there any ongoing cases?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get session token": {
      "main": [
        [
          {
            "node": "Get pending cases",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create chat message": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Are there any ongoing cases?": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "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

GLPI Pending Tickets Notification to Microsoft Teams

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

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

Automatically collect client feedback from Nicereply, analyze sentiment, and send it to the right Microsoft Teams channels — smartly split by team, tone, and comment presence.

Microsoft Teams, HTTP Request, Ai Transform
Web Scraping

This n8n workflow provides an automated notification system that monitors tickets in GLPI (Gestionnaire Libre de Parc Informatique) and sends proactive alerts through Microsoft Teams when tickets are

HTTP Request, Microsoft Teams
Web Scraping

PF – WF-03 Social Media Auto-Post. Uses microsoftSharePoint, httpRequest, microsoftTeams. Scheduled trigger; 16 nodes.

Microsoft SharePoint, HTTP Request, Microsoft Teams
Web Scraping

This Workflow does a HTTPs request to ConnectWise Manage through their REST API.

Redis, HTTP Request, Microsoft Teams
Web Scraping

As n8n instances scale, teams often lose track of sub-workflows—who uses them, where they are referenced, and whether they can be safely updated. This leads to inefficiencies like unnecessary copies o

HTTP Request, n8n, N8N Trigger +1