6.2 Configure Agent Response Formatting
Key Takeaways
- Message nodes deliver text with basic formatting, variables, images, videos, basic cards, Adaptive Cards, quick replies, and optional message variations.
- Channel constraints matter: some channels strip rich formatting, limit quick replies, or render Adaptive Cards differently—design for the target channel set.
- Quick replies suggest next steps but do not force a choice; Question nodes constrain input when a required option is mandatory.
- With generative orchestration, tools and topics can return outputs for AI-authored responses, or you can send specific templated text or Adaptive Cards on completion.
- Speech overrides and SSML customize voice channels separately from the visual text shown in chat.
6.2 Configure Agent Response Formatting
Quick Answer: Use Message nodes for authored text (bold/italic/lists), variables, media, basic cards, Adaptive Cards, quick replies, and variations. Respect channel limits. Under generative orchestration, choose whether tool/topic completion should AI-write, send a specific response, or send an Adaptive Card. Use speech overrides/SSML when voice channels matter.
AB-620 Domain 1 includes Configure agent response formatting because an agent that returns correct data in an unreadable blob still fails users—and exam scenarios often ask which formatting construct fits a channel or UX goal.
Message nodes: the primary formatting surface
Within a topic, the Message node sends content from the agent to the user. The same formatting capabilities are available on Question nodes when you prompt for input.
Text formatting toolbar
The message node supports lightweight formatting without custom code:
| Capability | Typical use | Channel note |
|---|---|---|
| Bold / italic | Emphasize ticket numbers, deadlines, warnings | Usually fine in Teams and web chat; some channels strip styles |
| Bulleted / numbered lists | Steps, policy conditions, multi-item results | Prefer short lines for mobile |
| Line breaks | Separate greeting, body, call to action | Avoid huge walls of text |
Variables {x} | Insert topic, global, or system variables at runtime | Resolve at send time |
Personalization pattern: greet with System.User.DisplayName, bold the entitlement total, then list remaining leave types. The information is unchanged; scannability improves.
Message variations
Message variations let you define multiple phrasings on one node. Each run, the agent randomly picks one variation. Use variations for greetings and repeated confirmations so the agent feels less robotic—without changing policy substance. If variation A mentions a deadline, every variation should mention the same deadline.
Images and videos
From the message Add menu:
- Image: publicly reachable image URL; optional title.
- Video: public MP4 URL or YouTube URL; optional title, subtitle, image, text, buttons.
Assets must be publicly accessible. Internal-only SharePoint files without appropriate sharing, or authenticated intranet URLs the channel cannot fetch, will not render.
When a node has multiple media cards:
- Carousel (default): one card at a time.
- List: all cards vertically—better for side-by-side comparison.
Cards and structured visual responses
Basic card
A basic card is a general-purpose layout for text, image, and interactive buttons (same action ideas as quick replies). Use it for simple promotions or single-item highlights when you do not need Adaptive Card schema power.
Adaptive Cards in message nodes
Adaptive Cards are platform-agnostic JSON layouts. On a Message node:
- Add → Adaptive card.
- Open Edit adaptive card (designer or card payload editor).
- Author elements or paste JSON; use Power Fx where dynamic values must bind into the card.
- Save and preview on the node.
Use Adaptive Cards when structured fields matter: order lines, leave balances, multi-column summaries, status chips. Informational cards on Message nodes display; collecting multi-field input often uses Ask with Adaptive Card (interactive) covered more deeply with adaptive-card skills later in the guide.
Channel reality check: Teams, web chat, and Microsoft 365 Copilot surfaces may enforce different Adaptive Card rules (for example validation guidelines for rich responses in Microsoft 365 experiences). Always test the target channel, not only the Copilot Studio test canvas.
Quick replies vs forced choices
Quick replies are suggestion chips under a message:
| Quick reply type | Behavior |
|---|---|
| Send a message (default) | Sends visible text back to the agent |
| Open URL | Opens https:// link |
| Make a call | PhoneNumber: plus number |
| Send a hidden message | Sends payload without showing it in history |
Important limits:
- Some channels do not support quick replies (buttons simply missing).
- Some channels cap how many chips appear.
- Users can ignore quick replies and type freely.
When the conversation must not proceed without a recognized option, use a multiple-choice Question node instead of quick replies. Exam wording often hinges on guide (quick reply) vs constrain (question).
Generative orchestration and response completion
Response formatting is not only Message nodes. When tools (including agent flows) complete under generative orchestration, Completion settings control what the user sees:
| After running option | Effect |
|---|---|
| Don't respond (default) | Agent incorporates tool output into its broader generative reply |
| Write the response with generative AI | Model crafts a contextual answer from tool outputs |
| Send specific response | You template exact text with output variables / Power Fx |
| Send an adaptive card | Rich interactive/visual result bound to outputs |
Topics can also return output parameters and let the orchestrator summarize, rather than always ending every topic with a hard-coded Message node. That pattern increases flexibility but reduces word-for-word control—choose based on compliance.
Responsible UX tip: Microsoft recommends telling users that some conversation (for example AI-generated clarification questions) may be generated. A common place is an extra line in the Conversation Start system topic.
Channel constraints matrix (memorize patterns)
| Surface | Strengths | Watch-outs |
|---|---|---|
| Microsoft Teams | Cards, many rich features | Card schema version and action support nuances |
| Custom website / demo site | Full message node features in many cases | Host media publicly; brand CSS is not your Adaptive Card engine |
| Voice / Omnichannel voice | Spoken experience | Configure speech message override; optional SSML (break, emphasis, prosody, audio) |
| Channels without quick replies | Still get text | Do not rely on chips as the only path |
| External / multi-agent paths | Orchestration power | Some multi-agent handoffs have reported card rendering limits—verify |
Speech override pattern: message text can drive both text and voice by default; expand the selector to Speech and author a spoken-friendly line, then add SSML tags when pitch, rate, or pauses matter.
Scenario walkthroughs
Scenario A — HR leave balance
After a Dataverse tool returns balances, prefer Send specific response or a Message node:
- Bold remaining vacation days.
- Numbered list of upcoming blackout dates from a variable.
- Quick replies: “Request leave,” “View policy,” “Talk to HR.”
If the balance is multi-field (vacation, sick, floating), an Adaptive Card with labeled columns beats a paragraph.
Scenario B — Store hours with media
Message node text for hours + Image of the storefront + Basic card button “Get directions” (Open URL). Test on the customer’s actual web channel for image hotlink rules.
Scenario C — Generative order status
Agent-level REST tool completion set to Write the response with generative AI for casual status chat. For regulated refund amounts, switch to Send specific response so currency formatting cannot drift.
Scenario D — Voice self-service
Visual channel shows a short confirmation code in bold; Speech override spells the code slowly with SSML breaks so callers can write it down.
Authoring quality checklist
- Lead with the outcome (“Your ticket INC0123 is open”) before background.
- Insert variables instead of hard-coding user-specific values.
- Keep variations semantically identical.
- Host media on durable public URLs (or approved CDN/storage).
- Design fallback plain text when cards or chips may not render.
- Match completion mode to risk: generative prose for low-risk Q&A; templated or Adaptive Card for transactional certainty.
- Test every production channel, including mobile widths.
- For generative agents, ensure topic/tool descriptions stay accurate so the right formatting path is even selected.
Exam traps
- Treating quick replies as mandatory multiple choice.
- Assuming Adaptive Cards render identically on every channel without testing.
- Putting secrets or internal-only image URLs into Message nodes.
- Forgetting speech overrides on voice deployments.
- Using only generative free text for legally fixed disclosures that must be word-perfect.
Response formatting is product UX engineering inside Copilot Studio. On AB-620, show you can pick the right node, media, card, completion mode, and channel-safe design—not only that you can “send a string.”
What is the key difference between quick replies on a Message node and options on a multiple-choice Question node?
An agent tool must show a refund amount with fixed legal wording after a connector call. Which completion style is most appropriate?
Why might an image added to a Message node fail to display for end users?