This post is a part of the AB-620: Designing and Building Integrated AI Agent Solutions in Copilot Studio Exam Prep Hub.
This topic falls under these sections:
Plan and configure agent solutions (30–35%)
--> Configure topics
--> Configure adaptive cards
Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.
What Are Adaptive Cards in Copilot Studio?
Adaptive Cards are a structured way to present rich, interactive UI elements inside a Copilot Studio agent conversation. Instead of plain text responses, they allow agents to display:
- Forms
- Tables
- Images
- Buttons
- Structured data
- Input controls
They are defined using JSON schema and rendered consistently across channels such as Microsoft Teams, web chat, and other supported interfaces.
In Copilot Studio, Adaptive Cards are commonly used when you need more than conversational text, especially when collecting structured input or displaying business data.
Why Adaptive Cards Are Used
Adaptive Cards help bridge the gap between conversation and application UI.
Key reasons they are used:
- Improve user experience with structured layouts
- Reduce conversational back-and-forth
- Collect multiple inputs in a single interaction
- Display data in a visually organized way
- Enable guided actions (buttons, choices, forms)
- Support enterprise-grade workflows inside chat
Core Structure of an Adaptive Card
An Adaptive Card is composed of three main layers:
1. Schema Version
Defines compatibility.
"version": "1.5"
2. Body
Contains visual and input elements.
Examples:
- TextBlock
- Image
- Input.Text
- Input.ChoiceSet
- Container
3. Actions
Defines what the user can do.
Examples:
- Submit
- OpenUrl
- Execute (in some advanced scenarios)
Common Adaptive Card Elements
TextBlock
Used to display text content.
- Titles
- Instructions
- Labels
Input.Text
Captures free-text user input.
Example use:
- Name
- Description
Input.ChoiceSet
Used for dropdowns, radio buttons, or multi-select.
Example:
- Department selection
- Product category
- Priority level
Image
Displays visual content such as logos or product images.
Action.Submit
Sends user input back to the agent.
Adding Adaptive Cards in Copilot Studio Topics
In Copilot Studio, Adaptive Cards are typically added inside a topic node.
Basic Flow:
- User triggers topic
- Agent displays Adaptive Card
- User completes form/input
- Data is returned to variables
- Topic continues logic flow
Typical Configuration Steps
Step 1: Add a “Ask with Adaptive Card” node
This node renders the card inside the conversation.
Step 2: Define or paste Adaptive Card JSON
You either:
- Paste a prebuilt JSON schema
- Or build via Copilot Studio editor
Step 3: Map outputs to variables
Each input field is mapped to:
- Topic variables
- Conversation variables
- Global variables (if needed)
Example mapping:
Input.Text→userEmailChoiceSet→departmentSelection
Step 4: Use collected data in workflow
Once captured, data can be used for:
- Power Automate flows
- API calls
- Conditional branching
- Database updates
Dynamic Adaptive Cards
Adaptive Cards in Copilot Studio can include dynamic values using variables.
Example:
{ "type": "TextBlock", "text": "Hello {{userName}}"}
This allows personalization such as:
- Greeting users
- Displaying previous answers
- Showing context-aware content
Common Use Cases in Enterprise Scenarios
1. IT Service Desk
- Ticket submission forms
- Incident categorization
- Priority selection
2. HR Assistants
- Leave request forms
- Benefits selection
- Onboarding checklists
3. Customer Support
- Case creation
- Product selection
- Feedback forms
4. Internal Tools
- Approval requests
- Data entry workflows
- Status updates
Design Principles for Adaptive Cards
1. Keep It Simple
Avoid overly complex layouts. Cards should be easy to complete.
2. Minimize Inputs
Only ask for required data.
3. Group Related Fields
Use containers to logically organize inputs.
4. Provide Clear Labels
Ensure users understand what is being asked.
5. Use Defaults Where Possible
Pre-fill known values to reduce effort.
Accessibility Considerations
Adaptive Cards should:
- Use readable font sizes
- Maintain high contrast
- Avoid overly dense layouts
- Provide clear instructions
- Ensure keyboard navigation support (where applicable)
Adaptive Cards vs Regular Messages
| Feature | Adaptive Cards | Text Messages |
|---|---|---|
| Structured input | Yes | No |
| UI components | Yes | No |
| Data collection | High efficiency | Manual parsing |
| Visual layout | Rich | Limited |
| Use case | Forms, workflows | Simple responses |
Common Mistakes
1. Overcomplicating cards
Too many fields reduce completion rates.
2. Not mapping variables correctly
Results in missing or unusable data.
3. Ignoring validation
Leads to bad or incomplete inputs.
4. Using cards for simple responses
Text is better for simple answers.
5. Forgetting fallback handling
If card fails, conversation should continue gracefully.
When NOT to Use Adaptive Cards
Avoid Adaptive Cards when:
- Only a simple answer is needed
- No user input is required
- The response is purely informational
- A generative answer is more appropriate
Exam Tips (AB-620)
For the exam, focus on these key ideas:
- Adaptive Cards are JSON-based UI components
- They are used for structured interaction
- Inputs map to variables in Copilot Studio
- They are commonly used in topics, not generative answers
- They support buttons, inputs, and rich formatting
- They reduce conversational complexity
- They are best for business process interactions
- They integrate with Power Automate and APIs
- They improve user experience in enterprise workflows
- They are not meant for free-form conversation
Advanced Adaptive Card Capabilities in Copilot Studio
Once you understand the basics of Adaptive Cards, the exam expects you to recognize how they behave in real enterprise-grade agent solutions, especially when combined with:
- Variables
- Power Automate flows
- API calls
- Topics
- Generative answers (hybrid patterns)
- Conditional logic
1. Using Variables Inside Adaptive Cards
Adaptive Cards in Copilot Studio support dynamic content through variables.
Example use cases:
- Personalized greetings
- Pre-filled form fields
- Context-aware instructions
Example:
{ "type": "TextBlock", "text": "Welcome {{userName}}, please confirm your request."}
Key concept:
Variables are resolved at runtime and injected into the card before rendering.
2. Capturing and Returning Structured Input
Adaptive Cards are powerful because they return structured outputs, not just text.
Example mapping:
| Card Field | Copilot Studio Variable |
|---|---|
| Input.Text (Email) | userEmail |
| ChoiceSet (Department) | selectedDepartment |
| Date Input | requestDate |
Once submitted:
- Values are stored in topic variables
- Used in downstream logic (flows, APIs, conditions)
3. Adaptive Cards + Power Automate Integration
One of the most common enterprise patterns.
Flow:
- User completes Adaptive Card
- Data is stored in variables
- Topic calls Power Automate flow
- Flow processes data (e.g., create ticket, update record)
- Response returned to agent
Example use cases:
- ServiceNow ticket creation
- HR leave approval
- CRM record updates
- Order processing
4. Conditional Rendering (Dynamic Card Behavior)
Adaptive Cards can change based on:
- User role
- Prior answers
- System state
- Variables
Example pattern:
- If user = “IT Admin” → show advanced options
- If user = “Employee” → show simplified form
This is handled using:
- Topic logic before rendering
- Variable-based branching
5. Error Handling in Adaptive Cards
Adaptive Cards themselves do not “handle errors,” but Copilot Studio manages:
Common strategies:
- Validation before submission
- Required field enforcement
- Re-prompting user on invalid input
- Fallback to text input
Example:
If API fails after submission:
- Show error message
- Ask user to retry
- Log failure in monitoring system
6. Adaptive Cards vs Power Fx Expressions
Adaptive Cards:
- Define UI structure
- Collect input
- Render visuals
Power Fx:
- Used for logic and expressions in Copilot Studio
- Helps transform or validate values
Example:
- Validate email format before submission
- Compute derived values (e.g., priority level)
7. Security and Data Sensitivity
Adaptive Cards often collect sensitive data.
Important considerations:
- Do not expose secrets in card JSON
- Use secured variables
- Avoid displaying sensitive backend values
- Ensure compliance with organizational policies
8. Performance Considerations
Poorly designed cards can impact user experience.
Best practices:
- Keep JSON lightweight
- Avoid unnecessary images
- Limit number of inputs per card
- Reduce nested containers
- Avoid overly large payloads
9. Multi-Step Adaptive Card Workflows
Instead of one large card:
Break into steps:
- Basic information card
- Detail collection card
- Confirmation card
Benefits:
- Better usability
- Lower abandonment rate
- Cleaner logic flow
10. Common Enterprise Patterns
Pattern 1: Service Request Intake
- Collect issue type
- Collect urgency
- Collect description
- Submit to ticket system
Pattern 2: HR Onboarding
- Employee details
- Role selection
- Equipment request
- Manager approval trigger
Pattern 3: Customer Feedback
- Rating selection
- Comments input
- Submit to CRM
Pattern 4: Approval Workflow
- Request details
- Approver selection
- Approval action buttons
Common Pitfalls (Exam Focus)
- Overusing Adaptive Cards for simple text responses
- Missing variable mapping after submission
- Not validating required fields
- Ignoring fallback conversation design
- Creating overly complex card layouts
- Not considering user accessibility
Exam Tips (AB-620)
Key things to remember:
- Adaptive Cards = structured UI in JSON format
- Used inside Topics (not generative answers directly)
- Inputs map to Copilot Studio variables
- Frequently combined with Power Automate flows
- Support dynamic content using variables
- Better for structured workflows than free-form chat
- Can be used for enterprise forms and approvals
- Improve UX by reducing conversational steps
- Should be simple, focused, and task-oriented
- Often part of hybrid agent designs
Practice Exam Questions
Question 1
An agent needs to collect multiple fields (name, department, and request type) in a single interaction.
What should be used?
A. Generative Answers node
B. Topic variables only
C. Adaptive Card with input controls
D. Conversation summary node
Answer: C
Explanation: Adaptive Cards allow structured multi-field input in a single UI interaction.
Question 2
What is the primary format used to define Adaptive Cards?
A. YAML
B. XML
C. Markdown
D. JSON schema
Answer: D
Explanation: Adaptive Cards are defined using JSON.
Question 3
A developer wants to pass user input from an Adaptive Card into a Power Automate flow.
What is required?
A. Direct API call from card
B. Manual email parsing
C. Mapping card inputs to variables first
D. Using generative responses
Answer: C
Explanation: Inputs must be stored in variables before being passed to flows or connectors.
Question 4
Which component of an Adaptive Card defines user actions like Submit or Open URL?
A. Body
B. Schema
C. Variables
D. Actions
Answer: D
Explanation: Actions define what happens when a user interacts with the card.
Question 5
What is a best practice when designing Adaptive Cards?
A. Include as many fields as possible
B. Use nested loops in JSON
C. Avoid using variables
D. Keep the card simple and focused
Answer: D
Explanation: Simpler cards improve usability and completion rates.
Question 6
Which Copilot Studio feature is MOST commonly used with Adaptive Cards for automation?
A. Dataverse triggers
B. Azure DevOps pipelines
C. Power Automate flows
D. Azure Functions only
Answer: C
Explanation: Power Automate is commonly used to process data collected from Adaptive Cards.
Question 7
A developer wants to personalize an Adaptive Card with the user’s name.
What should be used?
A. Hardcoded values
B. Static JSON only
C. API gateway
D. Variables inside the card template
Answer: D
Explanation: Variables allow dynamic content insertion at runtime.
Question 8
What happens when a user submits an Adaptive Card in Copilot Studio?
A. The card is deleted permanently
B. A new topic is created automatically
C. The agent restarts
D. Input values are stored in mapped variables
Answer: D
Explanation: Submitted values are captured in Copilot Studio variables for use in the conversation flow.
Question 9
Which scenario is NOT suitable for Adaptive Cards?
A. Collecting structured form data
B. Displaying service request forms
C. Showing multiple input fields
D. Answering a simple factual question
Answer: D
Explanation: Simple questions are better handled by text or generative answers.
Question 10
What is the main advantage of Adaptive Cards over plain text responses?
A. Faster deployment pipelines
B. Reduced licensing cost
C. Structured data collection and richer UI interaction
D. Automatic AI training
Answer: C
Explanation: Adaptive Cards provide structured input and rich UI elements, improving interaction quality.
Go to the AB-620 Exam Prep Hub main page
