n8n Automatisering Project🚀

n8n Automatisering Project🚀

Table of Contents

Belgische Trein Vertrek Agent: Een n8n Automatisering Project

Overzicht

Dit project toont een krachtige n8n workflow die een intelligente Belgische trein vertrek agent creëert. Het systeem integreert met de iRail API om real-time trein vertrekinformatie te verstrekken via Telegram bot interacties en geplande controles, wat de mogelijkheden van low-code automatisering voor real-world transportgegevens demonstreert.

Functies

  • Real-time Trein Data: Haalt live vertrekinformatie op van Belgische treinstations via de iRail API
  • Telegram Bot Integratie: Gebruikers kunnen trein vertrekken opvragen via natuurlijke taal berichten
  • Slimme Station Matching: Intelligente fuzzy matching algoritme om stations te vinden uit gebruikersinvoer
  • Meerdere Invoermethoden: Ondersteunt zowel webhook triggers als geplande geautomatiseerde controles
  • Rijke Formattering: Toont vertrekinformatie met perron details, vertragingen en status indicatoren
  • Foutafhandeling: Robuuste foutafhandeling voor ongeldige stationnamen of API fouten

Architectuur

De workflow bestaat uit verschillende belangrijke componenten die harmonieus samenwerken:

Kerncomponenten

  1. Webhook Trigger (Webhook) : Luistert naar POST verzoeken op het /train-departures eindpunt
  2. Bericht Parser (Code in JavaScript1) : Haalt stad en tijd informatie op uit natuurlijke taal berichten
  3. Station Zoeker (Vind Station) : Komt gebruikersinvoer overeen met officiële Belgische stationnamen met fuzzy logica
  4. API Integratie (Get Stations & Get Liveboard) : Haalt station data en live vertrekinformatie op
  5. Response Formatter (Code in JavaScript3) : Formatteert vertrekdata naar gebruiksvriendelijke berichten
  6. Telegram Bot (Verstuur naar Telegram) : Levert geformatteerde resultaten aan gebruikers

Extra Functies

  • Schedule Trigger: Maakt geautomatiseerde vertrekcontroles op gespecificeerde intervallen mogelijk
  • Chat Interface: Biedt een interactieve chat-gebaseerde interface voor gebruikers
  • HTTP Request Nodes: Staan testen en integratie met externe systemen toe

Technische Implementatie

Natural Language Processing

Het systeem gebruikt geavanceerde regex patronen om gebruikersberichten te parseren:

const patterns = [
  /departures?\s+from\s+([^\s]+)\s+at\s+(\d{1,2}:?\d{0,2})/i,
  /([^\s]+)\s+(\d{1,2}:?\d{0,2})/,
  /([^\s]+)\s+at\s+(\d{1,2}:?\d{0,2})/i
];

Station Matching Algoritme

Het fuzzy matching systeem beoordeelt stations op basis van:

  • Perfecte match: Exacte naam match (100 punten)
  • Dichte match: Gedeeltelijke naam inclusie (80 punten)
  • Zwakke match: Eerste drie tekens (40 punten)

Response Formattering

Het systeem toont tot 5 vertrekken met rijke formatting:

  • Treinnummers en bestemmingen
  • Vertrektijden met vertragingsinformatie
  • Perronnummers
  • Real-time status (op tijd, vertraagd, of geannuleerd)

API Integratie

iRail API Eindpunten

  • Stations: https://api.irail.be/stations/?format=json&lang=en
  • Liveboard: https://api.irail.be/liveboard/?station={station}&format=json&lang=en

Data Verwerking

De workflow verwerkt:

  • Timestamp conversie van Unix timestamps naar leesbaar formaat
  • Vertraging berekeningen (seconden naar minuten)
  • Voertuig ID opschoning (verwijdert “BE.NMBS.” prefix)
  • Annulering status detectie

Gebruikssituaties

For Forpendelaars

  • Snelle vertrekcontroles voordat je huis/kantoor verlaat
  • Real-time vertragingsinformatie
  • Perronwijzigingen en service-updates

Voor Reizigers

  • Toerist-vriendelijke stationnaam matching
  • Meertalige ondersteuning (Engels)
  • Intuïtieve natuurlijke taal queries

Voor Ontwikkelaars

  • Voorbeeld van n8n workflow ontwerp
  • API integratie patronen
  • Foutafhandeling best practices

Configuratie Vereisten

Voorwaarden

  • n8n instantie met webhook mogelijkheden
  • Telegram Bot API token
  • Internet toegang tot iRail API eindpunten

Installatie Stappen

  1. Importeer de workflow JSON in n8n
  2. Configureer Telegram bot referenties
  3. Stel webhook eindpunt URL in
  4. Test met voorbeeld verzoeken
  5. Configureer schedule triggers indien nodig

Voorbeeld Interacties

Gebruikersbericht: “Charleroi” Bot Respons:

🚄 Vertrekken: Charleroi-Central

1. 🚂 S614160
   🕐 09:54
   📍 Perron 10
   🧭 Naar: Jambes
Op tijd

2. 🚂 S624260
   🕐 09:55
   📍 Perron 6
   🧭 Naar: Luttre
Op tijd

3. 🚂 IC932
   🕐 10:13
   📍 Perron 9
   🧭 Naar: Lille Flandres
Op tijd

4. 🚂 S614560
   🕐 10:16
   📍 Perron 1
   🧭 Naar: Jambes
Op tijd

5. 🚂 IC3810
   🕐 10:19
   📍 Perron 7
   🧭 Naar: Herstal
Op tijd

📅 Gevraagd voor: nu
🔄 Bijgewerkt: 9:53:26

Voordelen

  • Automatisering: Vermindert handmatig controleren van treinschema’s
  • Toegankelijkheid: Verstrekt instant informatie via bekende chat interfaces
  • Betrouwbaarheid: Handelt foutengracevol af met behulpzame berichten
  • Schaalbaarheid: Kan uitgebreid worden om meerdere talen of regio’s te ondersteunen
  • Integratie: Gemakkelijk te integreren met andere systemen en workflows

Toekomstige Verbeteringen

Potentiële verbeteringen kunnen omvatten:

  • Meertalige ondersteuning (Engels, Frans, Nederlands…)
  • Reisplanning met route-informatie
  • Tariefinformatie en ticket boeking integratie
  • Push notificaties voor favoriete routes
  • Historische vertraging analyses

Conclusie

Deze Belgische Trein Vertrek Agent demonstreert hoe n8n kan worden gebruikt om geavanceerde, real-world automatiseringsoplossingen te creëren die meerdere API’s integreren en echte waarde aan gebruikers bieden. De combinatie van natuurlijke taalverwerking, API-integratie en messaging platform connectiviteit creëert een naadloze gebruikerservaring terwijl het de kracht van low-code automatiseringsplatforms toont.

Het project dient als een uitstekende referentie voor ontwikkelaars die vergelijkbare transport- of data-gedreven automatiseringsworkflows willen bouwen met n8n.

Share :
comments powered by Disqus