A Copilot Studio developer is building a topic that calls an external REST API to fetch inventory data. The API occasionally times out. The developer needs the agent to display a friendly error message and offer the user a retry option if the API call fails. Which approach correctly implements this error handling?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Handling a timed-out API call in Copilot Studio is like catching a dropped ball — the action node has an OnError branch you wire up to graceful recovery logic. That's the platform-native approach. The correct answer is B.
Full explanation below image
Full Explanation
## Why B is Correct In Copilot Studio, action nodes (including HTTP connector calls and plugin actions) expose an OnError output path alongside the OnSuccess path. When you enable error handling on the action node, any failure (timeout, HTTP error, connector exception) routes execution to the OnError path. From there, you can display an error message, offer a retry button, or redirect to a human agent. This is the native, low-code error handling pattern.
## Why the Distractors Are Wrong A (Condition on HTTP status code): The action node does not expose the raw HTTP status code as a variable by default. Status code inspection requires custom connector configuration. More importantly, a timeout does not return a status code at all — the connection simply fails.
C (Fallback topic triggered by 'error' phrase): The fallback topic fires when no topic matches the user's utterance — not when an action fails. It cannot intercept runtime errors in action nodes.
D (Flow try/catch + Boolean): While valid for complex error scenarios, this moves error handling logic entirely into the flow, adds a round-trip, and produces a less user-friendly experience than native OnError branching.
## Exam Tip Copilot Studio error handling: OnError path on action nodes. Know that this is different from the Fallback topic (no-intent-match) and the Error system topic (unhandled exceptions at the session level).