Tuesday, March 3, 2026

#1124 - OIC Announcements

Introduction

According to the docsSystem announcements provide timely and important information to Oracle Integration users. Your tenancy displays system announcements only after an administrator creates a policy that allows the announcements. Creating the policy is a one-time action that applies to all Oracle Integration instances in the tenancy.

I check out my OIC instance - 

and see nada. It is imperative to activate announcements in the OIC UI, because many OIC users do not have OCI console access, and this information can be crucial. 

So here are the 2 policies I need to apply - 
allow service integration to {ANNOUNCEMENT_LIST} in tenancy
allow service integration to {ANNOUNCEMENT_READ} in tenancy

These I apply in the root compartment.

But, before I do that, let's check out the announcements in the OCI console - Governance & Administration -> Announcements

Here is one such announcement - 
Note, I have 4 of these announcements, why so many?

Let's take a step back - I am viewing these announcements in the context of a specific compartment. I check how many OIC instances I have in this compartment - 3 in one region, another in Chicago.

Now back to the announcements- 
I open the first one - and click on Impacted resources

Ok, so that's my NiallC-Demo instance addressed.

I could now mark that announcement as read - 

The second announcement is for the resource - devShape.

The 3rd is for Ruck3.
The 4th is for the OIC instance in Chicago.
 
That's that cleared up; net, net - one announcement per service instance.

Now I'll apply the policy at root level - 
Now back to my OIC UI - 

Announcements are now surfaced.

Summa Summarum

This is a must do for OIC admins, so, hopefully, you've all done it, if not...















#1123 - OIC Tools powering Private Agent Factory

Introduction

This is a follow up on the previous PAF post. It's a slight variation on my ubiquitous Order Processing Agent & Tools

Here the orders are in a DB and a user can browse the DB table and decide which orders to process e.g. I see shedloads of orders, but decide for some reason only know to myself to just process order with the number 678.  

Creating the Flow in Private Agent Factory

Let's work thru these, left to right - 

Chat input - the user input, such as process order 678.

Agent - this agent takes the input and extracts the orderNr, and surface it in an SQL statement e.g. SELECT * from orders WHERE orderNr = '678'.

The custom instructions - Parse the chat input and extract the order number.
Use that order number to create a valid SQL Select statement against the orders table -
Select * from orders where orderNr = 'extracted orderNumber'  
Don't include a ; at the end of the SQL statement and ensure there are no extra invisible characters in the string you return

I join this to the SQL Query action.

Now to the order processing agent - 

Here I just push the result of the SQL execution to the Order Processing Agent.

Click on Playground, to test the flow  - 


Summa Summarum

Private Agent Factory is yet another compelling agent framework offering from ORCL. OIC based tools are the lingua franca here, so what stopping you getting started on your Agentic AI journey?


 






Sunday, March 1, 2026

#1122 - Langflow Agent invoking Agent example

Introduction 

Here is a simple example of agent invoking agent. I have 2 agents, each backed by tools running on OIC.
  • our Order Processing Agent - hopefully well known to you all
  • our CRM agent - responsible for managing customer order history
Our CRM agent has access to the following tool - 

My order processing flow has been augmented as follows - 

Note the new actions - 
  • API Request
  • Custom Component - Agent -> Webhook Body
The Custom Component transforms the agent output into the required format for the API Request.

So which API are we requesting?
Well, here's the second flow - 

The core is the Agent/MCP Tools that update our CRM system, after the customer's order has been processed.

The initial action is the Webhook, which is what the API Request from the first flow calls. The next 2 actions, marshal the incoming data int the correct format - 

I probably don't need 2 here, just showing my langflow inadequacy.

The Parser output is the input to the Agent

Note the 2 Chat Output actions; these will show the request and response from the agent.
  
Now I run the first agent, processing the following order -  

create order with the order number 310397 for Irish customer Riobard Crowley, for the product, iBike, price is 456. Customer email is xxx@gmail.com

I check the second flow in Playground -

I check in OIC - 

Summa Summarum

This scenario was simple to implement, thanks to chatGPT. Net, net - no matter which agent topology you have, OIC tools are there for you. 





Friday, February 27, 2026

#1121 - Mistral AI - kicking the tyres of this compelling European LLM

Introduction

So what is it?
From Wikipedia
Mistral AI is a premier French AI startup, founded in 2023 and valued over US$14 billion by 2025, that develops high-performance, cost-efficient, and largely open-weight large language models (LLMs). It offers versatile models—including Mistral Large 3 and Codestral—optimized for tasks like text generation, coding, and multilingual reasoning

A European LLM, excellent!

I'm starting with the Experiment for free option -

I get my api key -

and off I go - 

Postman & Mistral AI

Sanity test passed!

OIC & Mistral AI

Now to OIC, here I create a new project and add a REST (invoke) connection -

I also add a REST (trigger) connection -

I create a simple sync integration - 

Input and output are simple strings.

I add the Mistral invoke - 

Here is the full Response structure - 

{
    "id": "33b51594fea144cf8d4669abd35478e9",
    "created": 1772190410,
    "model": "mistral-large-latest",
    "usage": {
        "prompt_tokens": 11,
        "total_tokens": 1137,
        "completion_tokens": 1126,
        "prompt_tokens_details": {
            "cached_tokens": 0
        }
    },
    "object": "chat.completion",
    "choices": [
        {
            "index": 0,
            "finish_reason": "stop",
            "message": {
                "role": "assistant",
                "tool_calls": null,
                "content": "somecontent"
            }
        }
    ]
}


I complete the Map actions - first Map - 

                      I complete the Map actions - second Map - 



I activate and run - 

                              Second sanity test passed.

Langflow, Mistral AI and OIC Tools


                     Note how I use the Mistral AI component, to allow the Agent to use this LLM.

 

                                      I just need to specify the Model name and Mistral API Key.


The rest you've already seen in earlier posts, OIC based MCP Tools etc.

Summa Summarum

Mistral AI is simple to use, be it from Postman or as the LLM for your agent in Langflow. What's in a name? Mistral - a strong, cold, dry, northwesterly wind that blows from southern France into the Mediterranean Sea, particularly in winter and spring. Originating from the Occitan word for "master," this wind is known for its force, often reaching over 100 km/h

 Courtesy of Wikipedia.