Sunday, December 7, 2025

OIC – Ensuring Accurate Status Reporting in Real-Time Sync Integrations Using track_var_3

📌 Use Case

In real-time (synchronous) integrations, we noticed an issue where the OIC dashboard shows the instance status as Succeeded even though the internal flow actually failed.
This mismatch creates confusion for support teams and impacts monitoring because synchronous integrations do not properly propagate faults in certain failure scenarios.

To fix this, we implemented a custom tracking mechanism using track_var_3, where we manually mark the integration as SUCCESS or ERROR depending on the actual execution of the full flow.


🛠️ Solution Steps

1️⃣ Identify the Problem Scenario

  • The integration appears as Succeeded in the monitoring dashboard.
  • But inside the flow, some actions failed (for example: failed DB operation, REST error, or transformation issue).
  • No global fault was triggered, so OIC still treated it as a success.

2️⃣ Introduce a Tracking Variable (track_var_3)

Use the built-in tracking variables of OIC.

  • Reserve track_var_3 exclusively for storing the final status of the integration.
  • It will be updated as:
    • "SUCCESS" → when the full flow is executed without issues
    • "ERROR" → when any failure occurs

This variable is visible in monitoring and helps support quickly identify the real outcome.


3️⃣ Assign “SUCCESS” at the End of the Main Flow

At the last step of your primary flow:

  • Add an Assign Action
  • Set:
    track_var_3 = "SUCCESS"
    

This ensures the flow marks itself successful only after all business logic passes.


4️⃣ Handle Failures via Global Fault

In the Global Fault Handler, add:

  • An Assign Action
    track_var_3 = "ERROR"
    

This ensures:

  • Any unhandled fault
  • Any adapter failure
  • Any transformation error
    → Automatically marks the instance as ERROR.


5️⃣ Use the Tracking Variable for Support Monitoring

The support team will now monitor:

  • Instance status (may still show “Succeeded” due to OIC behaviour)
  • track_var_3 value (always accurate)

This provides the actual integration result.


6️⃣ Optional: Return Status to Calling App

In synchronous integrations:

  • Respond back to the caller with
    { "status": track_var_3 }
    

so they also get the correct success/error.


✔️ Final Outcome

With this approach:

  • Even if OIC marks the integration as “Succeeded”,
  • Your tracking variable clearly indicates the correct status
  • Support teams get accurate visibility
  • No missed failures in real-time sync services

No comments:

Post a Comment

Featured Post

OIC – Ensuring Accurate Status Reporting in Real-Time Sync Integrations Using track_var_3

📌 Use Case In real-time (synchronous) integrations, we noticed an issue where the OIC dashboard shows the instance status as Succeeded ev...