Introduction
First the acronym - YAPO - Yet Another Post On.
Think of this post as notes for myself on getting a compelling OIC Agent Tools demo together.
However, it may also be interesting for you.
Let's begin - I've installed Rancher on my windows laptop. Then Langflow -
This may pull the latest langflow, so, to avoid this you can use -
docker run -p 7860:7860 --pull=never langflowai/langflow:latest
Note the image is ephemeral, i.e. wiped, once you quit Rancher, so you may want to configure persistent storage.
But back in Langflow, start with a blank flow -
I am basing this agent on the one I already created in OIC. Check out my previous posts for intel on that.
{
"mcpServers": {
"myOICOrderProcessingToolkit": {
"disabled": true,
"timeout": 300,
"type": "stdio",
"command": "npx",
"args": [
"-y",
"supergateway",
"--streamableHttp",
"yourOICMCPURL",
"--oauth2Bearer",
"yourOAuthToken"
]
}
}
}
Btw. MCP Server settings can be edited here -
The token is no longer valid, so I need to replace it.
So much for the simple example - now let's look at something more complex. I have a post about the OIC AI Agent native action, in which I describe the following scenario - read orders from a file, then, invoke the AI Agent for each order. This we will now prototype in Langflow -
Here is the finished flow -
Read File
The file I read is as follows -
[
{
"orderNr": "1",
"customer": "NiallC",
"product": "iCar",
"unitPrice": 4899,
"quantity": 2,
"email": "xxx@gmail.com"
},
{
"orderNr": "2",
"customer": "RenateC",
"product": "iBike",
"unitPrice": 499,
"quantity": 2,
"email": "xxx@gmail.com"
},
{
"orderNr": "3",
"customer": "LuciaC",
"product": "iSpy",
"unitPrice": 123,
"quantity": 2,
"email": "xxx@gmail.com"
}
]
I select this file -
Puts the input into the required format for the next step.
Orders - DataFrame
This is the next step, putting the input into the required format for the Loop, which is our iterator -
Format each order into a message, via Order Row - Message, the output from the latter is the input to the Agent.
Note the loop back from Agent response to the Loop.
Finally, when the 3 orders have been processed, the Loop is done. Then the output is pushed to Chat Output.
I now export the flow - by export/import the MCP server settings, LLM api key, Read File settings are wiped.
"results":
{"message":
{"text_key": "text",
"data": {
"timestamp": "2026-02-23 16:07:46 UTC",
"sender": "Machine",
"sender_name": "AI",
"session_id": "YOUR_SESSION_ID_HERE",
"context_id": "",
"text": "...Dear NiallC, I regret to
inform you that the product iCar is currently out of stock. We apologize for the inconvenience and appreciate your understanding.
Your order cannot be processed at this time due to the product's unavailability.
If you have any other requests or need assistance, please let me know.
The order with order number 2 for customer RenateC for the product iBike priced at
499 has been successfully created in the SAP system with order number SAP-1234567.
The customer has been notified via email.
...
Summa Summarum
I used chatGPT to generate most of the flow. Even it has issues with conflicting data types, apparently LangFlow is somewhat idiosyncratic in this respect. Net, net - we got there in the end!
