Design the Outcome and Trigger
Strong plugins start with a business outcome and a real downstream contract, not with a blank process canvas.
Step 1: Write the Outcome as a Contract
Describe the outcome in one sentence:
Given these inputs, perform this operation in this system, then return this result.
For example:
Given an employee and leave type, retrieve the employee’s current balance from the HR system, then return the available, used, and scheduled amounts.
This sentence becomes the architecture boundary. If it contains several independent outcomes, split it into reusable actions or separate plugins.
Step 2: Start in the Downstream System
Before opening Agent Studio, confirm:
Find the supported API operation
Record the HTTP method, base URL, endpoint path, required headers, query parameters, request body, response schema, pagination, and error responses.
Choose the execution identity
Decide whether requests represent a shared application or service account, or each consenting user.
First choose who the downstream system should believe is calling: a shared application identity or a delegated user identity. Then choose a mechanism the provider supports, such as API key, OAuth, JWT bearer, or Basic authentication.
Step 3: Choose the Trigger
The trigger determines the runtime context and the body your plugin can execute.
User Utterance
Webhook
Schedule
Use a conversational plugin when a user asks for the capability and the assistant may need to collect, confirm, or present information.
Typical body: a conversation process containing slots and action activities.
Examples:
- “Check my PTO balance.”
- “Transfer this opportunity to Priya.”
- “Order a monitor for my new hire.”
Create separate plugin wrappers when the same reusable actions support both conversation and system events. This keeps retrieval, launch behavior, logs, and runtime context clear.
Step 4: Decide Where Conversation Is Required
Use a new conversational step only when the assistant must:
- Collect a value from the user.
- Resolve an ambiguous business object.
- Apply a user-facing confirmation or policy.
- Branch based on user input.
- Display information before continuing.
Keep steps together in a compound action when they:
- Run without user input between calls.
- Transform or validate backend data.
- Implement retries, loops, or deterministic control flow.
- Should expose one compact result instead of several intermediate responses.
This separation prevents integration plumbing from consuming conversational context.
Step 5: Sketch the Data Contract
Create a short contract for every boundary:
Build Along: Plan the PurpleSuite Capability
Use the PurpleSuite Community API for one continuing build. At this stage, create the design record rather than an Agent Studio asset.
Follow one live feature request through the same three API calls and Agent Studio contracts in every chapter.
https://marketplace.moveworks.comX-Instance-ID.Move <a live feature request name> to Planned.
/api/purple-suite/community/feature_requestsDynamic resolver retrieves live candidates/api/purple-suite/community/feature_requests/{id}Compound action updates the selected record/api/purple-suite/community/feature_requests/{id}Compound action verifies the stored resultWrite the outcome
Given a feature request selected by the user and a supported target status, update that request in PurpleSuite and return its name and new status.
Choose the conversational trigger
Use a conversational plugin because the assistant must resolve a feature request, collect a target status, and confirm the write.
Your checkpoint is a short design record with these decisions:
Architecture Worksheet
Outcome
What business state should change or what information should the user receive?
Downstream Contract
Which API operation is authoritative? What permissions, request fields, and error responses does it define?
Execution Identity
Does the provider see a shared service identity or the consenting user?
Trigger
Does a user utterance, webhook, or schedule start the capability?
Conversation Boundary
At which exact points must the assistant collect, confirm, decide, or display?
Deterministic Boundary
Which validations, business rules, transformations, and control flow must not depend on model interpretation?
Deep Dives
- Assistants, Agents, and Plugins
- Building a Conversational Plugin
- Ambient Agents
- System Triggers
- The Golden Rule
Next, configure the connector.