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%)
--> Create and monitor agent flows in Copilot Studio
--> Add input and output parameters
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.
Introduction
One of the key capabilities of Microsoft Copilot Studio is enabling agents to exchange information with users, workflows, Power Automate flows, connectors, REST APIs, child agents, and enterprise systems. This exchange of information is made possible through input and output parameters.
Input parameters allow an agent to receive the information necessary to perform a task, while output parameters allow the agent to return the results of that task for use in subsequent conversation steps or workflows.
Well-designed parameters make agents more reusable, modular, reliable, and easier to integrate with enterprise systems.
For the AB-620 certification exam, you should understand how input and output parameters work, how they are used within Copilot Studio, Power Automate, connectors, and REST APIs, and the best practices for designing parameter-driven agent flows.
What Are Parameters?
A parameter is a named piece of information that is passed into or returned from an action, flow, API, or agent.
Parameters allow different components to communicate without hardcoding values.
Examples include:
- Customer ID
- Order number
- Product name
- Employee ID
- Email address
- Approval decision
- Invoice amount
- Support ticket number
Parameters make workflows flexible and reusable.
Input Parameters
An input parameter is information supplied to an action before it executes.
The action requires this information to complete its work.
Examples:
- Customer ID
- Product SKU
- Reservation date
- Ticket number
- Email address
- Employee ID
Without required input parameters, many actions cannot execute successfully.
Output Parameters
An output parameter is information returned after an action completes.
Examples:
- Customer name
- Ticket status
- Confirmation number
- Order total
- Error message
- Success flag
- Appointment time
- Generated document URL
Output parameters allow the conversation or workflow to continue using the returned information.
How Parameters Flow Through an Agent
A typical sequence is:
- User submits a request.
- Agent gathers required inputs.
- Inputs are passed to an action.
- Action executes.
- Output parameters are returned.
- Agent uses outputs in later conversation steps.
Example:
User:
“Check the status of order 54321.”
Input parameter:
- Order Number = 54321
Connector executes lookup.
Output parameters:
- Status = Shipped
- Delivery Date = Friday
- Tracking Number = 998877
The agent presents the results naturally to the user.
Sources of Input Parameters
Input values can come from multiple sources.
User Input
Collected directly during conversation.
Example:
“What is your employee ID?”
Conversation Variables
Previously collected values can be reused.
Example:
Customer ID gathered earlier in the conversation.
Entity Recognition
The AI extracts values automatically.
Example:
“Schedule a meeting tomorrow at 3 PM.”
Parameters extracted:
- Date
- Time
System Values
Generated automatically.
Examples:
- Current date
- Current time
- User identity
- Environment information
Previous Actions
Outputs from one action often become inputs for another.
Example:
Action 1 returns:
- Customer ID
Action 2 uses:
- Customer ID
This chaining enables sophisticated workflows.
Types of Parameters
Common parameter types include:
Text (String)
Examples:
- Customer name
- Email address
- Product name
Number
Examples:
- Quantity
- Invoice total
- Age
Boolean
Examples:
- Approved
- Active
- Completed
Possible values:
- True
- False
Date and Time
Examples:
- Appointment date
- Purchase date
- Deadline
Currency
Examples:
- Order amount
- Invoice balance
- Refund amount
Arrays (Lists)
Examples:
- Product list
- Employee list
- Search results
Objects
Complex data structures containing multiple fields.
Example:
Customer
- Customer ID
- Name
- Address
- Status
Objects simplify passing related information together.
Required vs Optional Parameters
Required Parameters
Must be supplied before execution.
Example:
Customer ID
Without it, the lookup cannot proceed.
Optional Parameters
Improve flexibility but are not mandatory.
Example:
Preferred language
The workflow can continue even if omitted.
Parameter Validation
Input values should always be validated.
Validation checks may include:
- Required fields
- Correct format
- Numeric ranges
- Date validity
- Allowed values
- Maximum length
- Minimum length
Proper validation reduces execution errors.
Example Validation
User enters:
Email = john@email
Validation detects an invalid email format.
The agent asks:
“That doesn’t appear to be a valid email address. Could you enter it again?”
This improves user experience.
Default Values
Optional parameters may have default values.
Example:
Language = English
If the user provides no language preference, the workflow uses the default.
Using Parameters in Power Automate
Power Automate flows commonly receive input parameters.
Examples:
Inputs:
- Employee ID
- Purchase Amount
- Department
Flow performs approval.
Outputs:
- Approved
- Approver Name
- Approval Date
The outputs are returned to Copilot Studio.
Using Parameters with Connectors
Connectors require parameters for operations.
Example:
SQL query
Inputs:
- Customer ID
Outputs:
- Customer record
Example:
Outlook connector
Inputs:
- Recipient
- Subject
- Body
Outputs:
- Success
- Message ID
REST API Parameters
REST APIs use parameters in several ways.
Path Parameters
Example:
GET /customers/{CustomerID}
CustomerID is a path parameter.
Query Parameters
Example:
GET /orders?status=Open
Status is a query parameter.
Request Body
POST operations often send parameters in JSON.
Example:
{ "Name":"John", "Department":"Finance"}
Using Output Parameters
Output values may be used to:
- Display results
- Make decisions
- Trigger another action
- Update variables
- Call another connector
- Generate Adaptive Cards
- Start approvals
Outputs often drive the next stage of a workflow.
Chaining Parameters
Complex workflows often chain outputs into subsequent inputs.
Example:
Action 1
Input:
- Customer Email
Output:
- Customer ID
↓
Action 2
Input:
- Customer ID
Output:
- Orders
↓
Action 3
Input:
- Order Number
Output:
- Shipment Status
This creates intelligent multi-step automation.
Error Handling
Missing or invalid parameters should be handled gracefully.
Examples:
Missing required value
Agent:
“I’ll need your employee number before I can continue.”
Invalid date
Agent:
“Please enter a valid future date.”
Good error handling improves usability.
Security Considerations
Sensitive parameters require additional protection.
Examples:
- Passwords
- Tokens
- Credit card numbers
- Personal information
- Medical records
Best practices include:
- Encrypt sensitive data.
- Limit parameter visibility.
- Apply least privilege.
- Avoid logging confidential values.
- Validate all external input.
- Follow organizational DLP policies.
Parameter Naming Best Practices
Good parameter names should be:
- Descriptive
- Consistent
- Simple
- Easy to understand
Good examples:
- CustomerID
- EmployeeEmail
- PurchaseAmount
- OrderNumber
Poor examples:
- Value1
- Temp
- InputA
- DataX
Designing Reusable Parameters
Reusable components should:
- Use standardized parameter names.
- Minimize required inputs.
- Return consistent outputs.
- Follow organizational naming conventions.
- Document expected values.
- Validate all inputs.
Reusable parameters simplify enterprise integration.
Common Mistakes
Avoid:
- Poor parameter names
- Missing validation
- Hardcoded values
- Returning excessive data
- Inconsistent naming
- Missing required inputs
- Ignoring null values
- Exposing sensitive information
Best Practices
- Clearly define all inputs and outputs.
- Validate every input.
- Use descriptive names.
- Prefer reusable parameter structures.
- Return only necessary information.
- Handle missing values gracefully.
- Protect confidential parameters.
- Document expected formats.
- Use consistent naming across flows.
- Test all parameter scenarios before deployment.
Exam Tips
For the AB-620 exam, remember these key points:
- Input parameters provide information needed to execute actions.
- Output parameters return results for later use in conversations and workflows.
- Parameters can originate from users, variables, previous actions, entities, or system values.
- Connectors, Power Automate flows, child agents, and REST APIs all use parameters extensively.
- Required parameters must be supplied before execution, while optional parameters improve flexibility.
- Validate inputs to reduce execution errors and improve user experience.
- Outputs often become inputs for later actions in multi-step workflows.
- Sensitive parameters should be protected through appropriate security controls.
- Use descriptive naming conventions to improve maintainability.
- Well-designed parameters make agents modular, reusable, and easier to integrate.
Practice Exam Questions
Question 1
A Copilot Studio action retrieves customer information from a CRM system. Which value is most likely to be an input parameter?
A. Customer ID
B. Customer Name
C. Account Balance
D. Support Ticket Status
Correct Answer: A
Explanation: The Customer ID is supplied to the action so it can locate the correct customer record. The other values are typically returned as outputs.
Question 2
What is the primary purpose of an output parameter?
A. To authenticate a connector
B. To return information after an action completes
C. To publish an agent
D. To configure security roles
Correct Answer: B
Explanation: Output parameters return the results of an action, allowing the agent or workflow to use that information in subsequent steps.
Question 3
Which source can automatically provide input parameters through natural language understanding?
A. Connection references
B. Environment variables
C. Entity recognition
D. Audit logs
Correct Answer: C
Explanation: Entity recognition extracts structured values such as dates, times, locations, and names directly from user conversations.
Question 4
Why should required input parameters be validated before executing an action?
A. To improve dashboard reporting
B. To increase API quotas
C. To reduce licensing costs
D. To prevent execution errors caused by missing or invalid data
Correct Answer: D
Explanation: Validation ensures that required information is complete and properly formatted before an action is executed.
Question 5
A Power Automate flow returns an approval result to Copilot Studio. What type of parameter is the approval decision?
A. Input parameter
B. Environment variable
C. Output parameter
D. Authentication token
Correct Answer: C
Explanation: The approval decision is produced by the flow and returned to Copilot Studio, making it an output parameter.
Question 6
Which parameter type would be most appropriate for representing whether a purchase request has been approved?
A. Boolean
B. Currency
C. Date
D. Array
Correct Answer: A
Explanation: Approval status is naturally represented as a Boolean value (True or False).
Question 7
A workflow retrieves a Customer ID from one action and uses it in the next action to retrieve recent orders. What design pattern is being used?
A. Environment isolation
B. Parameter chaining
C. Adaptive Card rendering
D. Authentication delegation
Correct Answer: B
Explanation: Parameter chaining uses the output of one action as the input to another, enabling multi-step business processes.
Question 8
Which naming convention is considered the best practice for parameters?
A. Value1
B. TempData
C. CustomerID
D. InputA
Correct Answer: C
Explanation: Parameter names should be descriptive, meaningful, and consistent to improve readability and maintainability.
Question 9
Which type of REST API parameter is typically embedded directly within the URL path?
A. Request body parameter
B. Path parameter
C. Output parameter
D. Header parameter
Correct Answer: B
Explanation: Path parameters are incorporated directly into the endpoint URL, such as /customers/{CustomerID}.
Question 10
Why should organizations avoid logging sensitive input parameters such as passwords or personal information?
A. It improves conversation speed.
B. It simplifies API development.
C. It reduces connector licensing costs.
D. It helps protect confidential information and supports security and compliance requirements.
Correct Answer: D
Explanation: Sensitive parameters should be protected from unnecessary exposure to reduce security risks and comply with privacy regulations and organizational governance policies.
Go to the AB-620 Exam Prep Hub main page
