Plugin Building Masterclass
A plugin is a deployable capability that the Moveworks AI assistant can select or a system event can start. You build it from small, reusable modules: connectors, actions, typed data contracts, orchestration, and a trigger.
This masterclass teaches the complete architecture. You will learn where each module begins and ends, what data it can access, what the reasoning engine can see, and when to use deterministic logic instead of model instructions.
The hands-on path uses the PurpleSuite Community API to build one continuing capability: Manage Product Feature Requests. Every chapter adds a working asset, from the connector and HTTP actions through slots, mappings, orchestration, publication, and testing.
Keep the same PurpleSuite instance and assets as you progress. Each chapter includes a Build Along section with a concrete checkpoint, so the concepts immediately become a working plugin.
The One-Picture Mental Model
Choose a trigger, then select a stage to see what changes and what stays reusable.
Each outer layer plugs into a stable contract around the reusable core.
The architecture follows one rule:
Use the reasoning engine for language, intent, and conversation. Use typed inputs, mappings, DSL, policies, and code for business rules that must behave predictably.
The two sides work together:
The Running PurpleSuite Trace
Every chapter uses the same live record and call sequence. Select a stage to see the Agent Studio asset that owns it, the exact PurpleSuite operation, and the data passed to the next module.
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 resultThe Building Blocks
Plugin
A plugin packages a capability for deployment. A conversational plugin uses a user utterance as its trigger. A plugin with a system trigger, often called an ambient agent, uses a webhook or schedule.
Connector
A connector represents one external system’s base URL and authentication configuration. Build it from the downstream system’s account and permission model, then reuse it across compatible HTTP actions.
Action
An action is one reusable executable operation. An HTTP action represents one HTTP request. Script, built-in, LLM, and compound actions provide other execution patterns.
Compound Action
A compound action coordinates uninterrupted backend work behind one action boundary. Its intermediate steps remain internal; its return value becomes the contract for the caller.
Conversation Process
A conversation process coordinates user-facing work. It collects slots, applies policies, invokes actions through activities, and decides when to ask, confirm, or display information.
Slots and Resolvers
Slots are typed values collected during a conversation. Resolvers translate natural-language selections into allowed values or stable business objects such as a system ID.
Data Bank and Mappings
Each execution scope exposes a specific set of runtime values. Input mappings, output mappings, and compound action returns move selected data across those boundaries.
Course Map
Complete the course in order the first time. Return to individual modules later as an architecture reference.
Before You Begin
You should have:
- Access to Agent Studio with permission to create connectors, actions, processes, and plugins.
- Access to the downstream system’s API documentation and an approved test account.
- A PurpleSuite instance for the build-along exercises.
- A non-production environment and test data for any write operation.
Do not paste API tokens into plugin descriptions, slot descriptions, example utterances, URLs, or screenshots. Store credentials in a connector. Test mutations only against approved non-production data.
Continue
Start with Design the Outcome and Trigger.