Goal:
Create a single, fully automated notification flow in Telegram that aggregates relevant tenders and projects from two completely different sources: the Ukrainian state portal Prozorro and the international API of the World Bank.
Key Requirements:
Parallel Processing: Simultaneous monitoring of national and international sources.
Data Transformation: Converting complex and heterogeneous data into a single, standardized format.
Instant Notifications: Prompt delivery of formatted reports in Telegram.
Scalability: Architecture ready for easy integration of new APIs in the future.
My Contribution:
The project started with a challenge: information about relevant tenders was scattered across isolated state and international portals, each with a unique API structure, data format, and access rules. Direct aggregation was impossible without comprehensive processing.
My contribution was in designing and developing "from scratch" a unified architecture on self-hosted n8n that combined these heterogeneous data streams into one powerful tool.
Analysis and Integration of Heterogeneous APIs: I conducted an in-depth analysis of two completely different APIs — Prozorro and World Bank. This included studying documentation, identifying the correct endpoints, query parameters, and, most importantly, the structure of their responses.
Transformation of Complex Data: The World Bank API returned data in an extremely atypical structure (an object of objects instead of an array). To address this issue, I wrote a custom script in JavaScript in the Code node that parsed this structure, normalized it, and transformed it into a standardized format ready for further processing.
Building a Parallel Workflow: I developed a single workflow that runs on a schedule and executes two parallel branches for each source. The system manages the full cycle:
Automatic retrieval of lists of tenders and projects.
Iterative processing: Obtaining detailed information for each record separately.
Dynamic formatting of data into readable messages using the Code node.
Merging streams through the Merge node to create a single notification queue.
Result:
A fully autonomous "radar" for tracking tenders has been created, operating 24/7.
Single Information Channel: The client receives notifications from Ukrainian and international sources in one Telegram chat.
Time Savings: The system fully automates the manual process of monitoring multiple websites.
High Scalability: The architecture with parallel branches and the Merge node allows for easy addition of new sources (e.g., TED, UNGM) without the need to rebuild the entire logic.
Reliability: The solution runs on its own instance of n8n, ensuring complete control, security, and absence of third-party limitations.
#n8n #API #APIIntegration #Automation #Prozorro #WorldBank #Telegram #TelegramBot #NoCode #JavaScript #WorkflowAutomation #DataParsing #BusinessAutomation #Automation #ChatBot
Create a single, fully automated notification flow in Telegram that aggregates relevant tenders and projects from two completely different sources: the Ukrainian state portal Prozorro and the international API of the World Bank.
Key Requirements:
Parallel Processing: Simultaneous monitoring of national and international sources.
Data Transformation: Converting complex and heterogeneous data into a single, standardized format.
Instant Notifications: Prompt delivery of formatted reports in Telegram.
Scalability: Architecture ready for easy integration of new APIs in the future.
My Contribution:
The project started with a challenge: information about relevant tenders was scattered across isolated state and international portals, each with a unique API structure, data format, and access rules. Direct aggregation was impossible without comprehensive processing.
My contribution was in designing and developing "from scratch" a unified architecture on self-hosted n8n that combined these heterogeneous data streams into one powerful tool.
Analysis and Integration of Heterogeneous APIs: I conducted an in-depth analysis of two completely different APIs — Prozorro and World Bank. This included studying documentation, identifying the correct endpoints, query parameters, and, most importantly, the structure of their responses.
Transformation of Complex Data: The World Bank API returned data in an extremely atypical structure (an object of objects instead of an array). To address this issue, I wrote a custom script in JavaScript in the Code node that parsed this structure, normalized it, and transformed it into a standardized format ready for further processing.
Building a Parallel Workflow: I developed a single workflow that runs on a schedule and executes two parallel branches for each source. The system manages the full cycle:
Automatic retrieval of lists of tenders and projects.
Iterative processing: Obtaining detailed information for each record separately.
Dynamic formatting of data into readable messages using the Code node.
Merging streams through the Merge node to create a single notification queue.
Result:
A fully autonomous "radar" for tracking tenders has been created, operating 24/7.
Single Information Channel: The client receives notifications from Ukrainian and international sources in one Telegram chat.
Time Savings: The system fully automates the manual process of monitoring multiple websites.
High Scalability: The architecture with parallel branches and the Merge node allows for easy addition of new sources (e.g., TED, UNGM) without the need to rebuild the entire logic.
Reliability: The solution runs on its own instance of n8n, ensuring complete control, security, and absence of third-party limitations.
#n8n #API #APIIntegration #Automation #Prozorro #WorldBank #Telegram #TelegramBot #NoCode #JavaScript #WorkflowAutomation #DataParsing #BusinessAutomation #Automation #ChatBot