Hi Jiwon,
From my understanding, this comes down to how Genesys Cloud treats presence (user status) and routing status as two separate and independent systems.
Routing status is managed by Genesys Cloud based on the agent's routing activity (for example, Idle, Interacting, Not Responding, or Off Queue) and isn't something users set directly.
Presence, on the other hand, reflects the user's selected availability state (for example, Available, Busy, or Away). Because these are independent, an agent can legitimately appear as Busy in presence while simultaneously showing Idle as their routing status.
Since ACD routing decisions are based on the agent's routing status rather than their presence, that would explain why the interaction was still delivered if the Platform API updated only the user's presence.
One thing worth checking is whether the external application was updating the agent's presence via the Platform API, rather than their routing eligibility or On Queue state.
Since you already have a Product Support case open, that's the right path for a definitive answer. Hopefully this provides some context while the investigation continues.
Hope this helps!
Reference links:
------------------------------
Phaneendra
Technical Solutions Consultant
------------------------------