Introduction
In modern enterprise architectures, integrations rarely operate in isolation. Most organizations build multiple integrations to connect systems such as Oracle Fusion Applications, third-party SaaS platforms, on-premise databases, and external APIs. A common requirement in these environments is the ability to invoke integration from another in OIC to promote modular design, reusability, and maintainability.
In Oracle Integration Cloud (OIC) Gen 3, invoking one integration from another allows developers to break complex business processes into smaller reusable components. Instead of building one large monolithic integration, architects create multiple integrations that perform specific functions and call them when needed.
For example, an integration that creates a supplier in Oracle Fusion Procurement might need to validate supplier data, create supplier contacts, and generate onboarding notifications. Each of these processes can exist as independent integrations and be invoked when required.
This article explains the concept of invoking integrations in OIC, architecture patterns, implementation steps, testing approaches, and practical tips used by Oracle consultants during real implementations.
What Does “Invoke Integration from Another in OIC” Mean?
In Oracle Integration Cloud, invoking an integration from another integration means calling an already deployed integration as a service endpoint.
This allows one integration to act as a service provider and another integration to act as a service consumer.
The invocation can be implemented using:
Invocation Type Description REST-based invocation Most common approach using REST adapter SOAP-based invocation Used when WSDL-based integration endpoints exist Local integration invocation Calling integrations within the same OIC instance External integration invocation Calling integrations hosted in another OIC instance In OIC Gen 3, integrations expose REST endpoints automatically when created as App Driven Orchestration integrations.
Real-World Integration Use Cases
Oracle consultants frequently use the invoke integration pattern in enterprise implementations.
1. Reusable Validation Integration
A company integrates employee onboarding from a third-party HR platform to Oracle Fusion HCM.
Instead of validating data inside every integration:
Create a Validation Integration
Invoke it whenever employee data needs validation
Benefit
Centralized validation logic.
2. Shared Notification Service
Many integrations require sending notifications through email or messaging services.
A reusable Notification Integration can:
Send email alerts
Trigger Slack messages
Send approval notifications
Other integrations simply call the notification integration.
3. Complex Order Processing Architecture
In an Oracle Fusion SCM implementation:
Integration Flow:
Order Integration
|
|—-> Inventory Check Integration
|
|—-> Pricing Integration
|
|—-> Shipment IntegrationBreaking large processes into multiple integrations improves:
scalability
debugging
maintainability
Architecture / Technical Flow
When invoking an integration in OIC Gen 3, the architecture usually follows this pattern.
Client System
|
| REST Call
|
Main Integration (Orchestrator)
|
| Invoke Adapter
|
Child Integration
|
| Process Logic
|
Return ResponseComponents Involved
Component Purpose Caller Integration Main integration initiating the request Callee Integration Integration being invoked REST Adapter / SOAP Adapter Used to invoke integration OIC Endpoint URL Generated automatically after activation The invoked integration behaves like a microservice inside OIC.
Prerequisites
Before implementing invocation between integrations, ensure the following:
1. OIC Gen 3 Environment
Integration instance should be active and accessible.
2. Deployed Integration
The target integration must be:
Activated
Exposed via REST or SOAP trigger
3. Endpoint URL
Once activated, the integration exposes:
https://oic-instance.integration.ocp.oraclecloud.com/ic/api/integration/v1/flows/rest/{integration_name}/{version}4. Authentication Setup
Common authentication methods:
OAuth
Basic authentication
OCI API key authentication
5. Required Roles
User must have access to:
Service Developer Role
Integration Specialist Role
Step-by-Step Build Process
Let us walk through a practical implementation scenario.
Scenario
A Main Integration creates employee records.
Before creating employees, it invokes another integration:
Employee Validation Integration
Step 1 – Create the Child Integration
First create the integration that will be invoked.
Navigate to
OIC Console
→ Integrations
→ Create
→ App Driven OrchestrationConfigure Trigger
Use REST Adapter
Provide:
Field Example Integration Name EmployeeValidationIntegration Resource Path /validateEmployee Method POST Define Request Payload
Example:
{
“EmployeeName”: “John Smith”,
“Email”: “john.smith@company.com”,
“Department”: “IT”
}Add Processing Logic
Typical validation rules:
Email format check
Mandatory field validation
Duplicate employee verification
Example response:
{
“status”: “VALID”,
“message”: “Employee data validated successfully”
}Activate Integration
After activation, OIC generates an endpoint such as:
https://oic-instance/ic/api/integration/v1/flows/rest/employeevalidationintegration/01.00.0000Step 2 – Create the Parent Integration
Now create the main integration that will invoke the validation integration.
Navigate to
OIC Console
→ Integrations
→ Create
→ App Driven OrchestrationExample name:
EmployeeCreationIntegrationStep 3 – Configure REST Trigger
The parent integration will receive employee data.
Example request payload:
{
“EmployeeName”: “John Smith”,
“Email”: “john.smith@company.com”,
“Department”: “IT”
}Step 4 – Add Invoke Action
Inside the integration canvas:
Actions → InvokeSelect:
REST AdapterConfigure Connection
Provide the endpoint of the validation integration.
Example:
https://oic-instance/ic/api/integration/v1/flows/rest/employeevalidationintegration/01.00.0000Define Operation
Select:
POSTConfigure Request Mapping
Map fields from the parent integration.
Example mapping:
Parent Field Child Integration Field EmployeeName EmployeeName Email Email Department Department Mapping is done using the OIC Mapper.
Step 5 – Process Response
The validation integration returns response:
{
“status”: “VALID”
}Add Switch Activity.
Condition:
status == VALIDIf true:
Proceed with employee creation.
If false:
Return error message.
Step 6 – Save and Activate Integration
Once configuration is complete:
Click Save
→ ActivateNow the parent integration can call the child integration dynamically.
Testing the Technical Component
Testing is critical before deploying integrations to production.
Method 1 – Use OIC Test Feature
Navigate to:
OIC Console
→ Integrations
→ Tracking
→ Activate & TestProvide sample payload.
Example:
{
“EmployeeName”: “Alice Green”,
“Email”: “alice.green@company.com”,
“Department”: “Finance”
}Expected Flow
Parent integration triggered
Validation integration invoked
Response returned
Employee creation logic executed
Tracking Execution
Navigate to:
OIC Console
→ Monitoring
→ Tracking
→ Integration InstancesVerify:
invocation status
payload exchange
response time
Common Errors and Troubleshooting
Oracle consultants frequently encounter the following issues.
1. Unauthorized Access Error
Error
401 UnauthorizedCause
Authentication misconfiguration.
Solution
Verify:
OAuth configuration
credentials
API permissions
2. Endpoint Not Found
Error
404 Not FoundCause
Incorrect integration endpoint URL.
Solution
Copy endpoint directly from OIC activation page.
3. Payload Mapping Failure
Occurs when field structures mismatch.
Example:
DepartmentName vs DepartmentSolution
Validate JSON schema in mapper.
4. Integration Timeout
Large integrations may exceed default timeout.
Solution:
Optimize child integrations
use asynchronous patterns
Best Practices for Invoking Integrations in OIC
Experienced Oracle consultants follow these practices.
1. Build Reusable Integrations
Examples:
validation service
notification service
logging service
2. Avoid Monolithic Integrations
Large integrations become difficult to maintain.
Break them into smaller services.
3. Implement Error Handling
Use:
Scope
Fault Handler
Logging integrations
4. Version Integrations
Example:
EmployeeValidationIntegration V1
EmployeeValidationIntegration V2This avoids breaking dependencies.
5. Monitor Integration Performance
Use:
OIC → Monitoring → InsightTrack:
response times
invocation failures
6. Use Consistent Naming Standards
Example naming convention:
INT_EMPLOYEE_VALIDATION
INT_EMPLOYEE_CREATION
INT_NOTIFICATION_SERVICEThis improves governance in large integration landscapes.
Frequently Asked Questions
FAQ 1
Can an integration invoke another integration within the same OIC instance?
Yes. This is the most common implementation pattern. The integration endpoint is invoked using REST or SOAP adapter.
FAQ 2
Is it possible to invoke integrations asynchronously?
Yes. Asynchronous invocation can be implemented using:
messaging queues
event-driven integrations
asynchronous REST endpoints
FAQ 3
How many integrations can be invoked from a single integration?
There is no strict limit, but best practice is to keep orchestrations manageable and avoid excessive nested invocations.
Summary
The ability to invoke integration from another in OIC is a foundational pattern for building scalable enterprise integrations. Instead of creating complex integrations that handle all business logic, Oracle Integration Cloud encourages a modular architecture where integrations act as reusable services.
By designing integrations in this way, organizations achieve:
improved maintainability
faster development cycles
better monitoring and debugging
scalable integration architecture
In real Oracle Fusion implementations, invoking integrations is widely used for validation services, notification frameworks, reusable data transformation services, and orchestrated business workflows.
Consultants working with Oracle Integration Cloud Gen 3 should focus on building reusable integration components and standardized invocation patterns to ensure long-term maintainability.
For additional technical guidance and detailed documentation, refer to the official Oracle documentation: