Playbook: Build an Order Management App on Top of Your WMS
Your warehouse management system has the data everyone needs -- order statuses, inventory levels, shipping timelines -- but only a few people know how to get it out. Everyone else files a request or waits for a weekly export. This playbook walks you through building a full order management app that your ops team can use daily, all from inside Claude Desktop or ChatGPT. You do not need to log into Assist to build this.
What you will build
By the end of this playbook, you will have:
- Custom tools that connect to your WMS API
- A sandcastle app where the ops team can search orders, view real-time fulfillment status, and flag exceptions
- Persistent state so flagged items, notes, and status updates survive between sessions
- A shared link your team can use without needing access to the WMS
What you need before you start
- An Assist workspace with an MCP server set up. If you have not created one yet, follow Creating an MCP server.
- Your AI client (Claude Desktop, ChatGPT, Cursor, or another MCP-compatible app) connected to the MCP server. See Connect your client.
- Access credentials for your WMS API (base URL, API key, or auth token). You will provide these to Assist when creating tools -- they are stored securely and never exposed to your AI client.
- A general understanding of what data your WMS exposes: orders, shipments, inventory, etc. You do not need to know the exact API endpoints -- the AI will help you figure that out.
Step 1: Explore your WMS through conversation
Start a new conversation in your AI client. Because your client is connected to the MCP server, you already have access to Assist's tool-building capabilities.
Begin by telling the AI what you are working with:
"I want to build tools that connect to our warehouse management system. The API base URL is https://wms.internal.company.com/api/v2 and it uses bearer token authentication. The main resources are orders, shipments, and inventory. Can you help me explore what's available?"
The AI will use Assist's tool-building tools to help you design the integration. It may ask you clarifying questions about the API -- what endpoints exist, what fields matter to your team, what filters are useful. Answer based on what you know. If you have API documentation, you can share relevant parts in the conversation.
Do not try to build everything at once. Start with the single most useful query -- usually something like "look up an order by order number" or "get all orders with status 'pending.'"
Step 2: Create your first tool
Once you and the AI have a clear picture of the first tool, ask it to build it:
"Create a tool called 'lookup_order' that takes an order number and returns the order details including status, items, shipping info, and customer name. Use our WMS API."
The AI will create a dynamic tool in Assist. This tool is written in TypeScript, runs in a sandboxed Deno environment, and is version-controlled. You will see the tool's code and can ask the AI to adjust it.
Test the tool right away:
"Use the lookup_order tool to find order #WH-2024-8834."
If it works, you will see the order details in the conversation. If something is wrong -- incorrect field names, authentication issues, missing data -- tell the AI what happened and it will fix the tool. This back-and-forth is the normal workflow. You are debugging through conversation, not in a code editor.
Step 3: Build out the tool set
Once the first tool works, build the rest of the set. Think about what your ops team asks for most often:
"Now create a tool called 'search_orders' that can filter orders by status, date range, and customer name. Return the results as a list with order number, status, item count, and ship date."
"Create a tool called 'get_inventory_levels' that returns current stock for a given SKU or product name, including warehouse location and quantity available."
"Create a tool called 'flag_order' that marks an order with a flag reason (like 'delayed', 'damaged', 'missing items') and stores the flag in our system."
Build each tool one at a time. Test each one before moving on. The AI will store them in Assist where they are versioned and managed. If you need to update a tool later, just ask the AI to modify it.
A typical WMS integration might include five to eight tools: order lookup, order search, inventory check, shipment tracking, order flagging, and maybe tools for common actions like requesting a reshipment or updating a shipping address.
Step 4: Add your tools to the MCP server
Once your tools are built and tested, add them to your MCP server so your team can access them. Ask the AI:
"Add the WMS tools we just built to my MCP server."
If you have multiple MCP servers, specify which one. The AI will add the tools to the server. Anyone connected to that MCP server can now use these tools from their own AI client.
Step 5: Build the sandcastle app
Now that the tools work, build a proper interface for your team. A sandcastle is a full interactive web application that runs in Assist -- not a simple chat response, but a real app with search fields, tables, filters, and persistent state.
Start by describing what you want:
"Build me a sandcastle app for order management. It should have:
- A search bar where you can look up orders by order number, customer name, or status
- A results table showing order number, customer, status, item count, ship date, and any flags
- A detail view when you click an order that shows full order info, items, and shipping timeline
- A way to flag an order with a reason and add notes
- A dashboard view showing counts by status: how many pending, shipped, delayed, flagged"
The AI will scaffold the sandcastle app with the UI components you described. It creates a React application with persistent state collections -- think of these as database tables that the app reads and writes to. Flagged orders, notes, and status overrides are stored in collections so they persist between sessions and across users.
Review what the AI built. You can see a preview of the app. Ask for changes:
"Move the status counts to the top of the page. Make the flagged orders section more prominent -- use a red highlight. Add a column for 'last updated' in the results table."
"The search should also support partial matches on customer name. And add a filter dropdown for status so you can narrow results without typing."
Keep iterating until the app does what your team needs. Each change the AI makes creates a new version in Assist, so you can always go back if something breaks.
Step 6: Wire the app to your tools
The sandcastle app needs to call your WMS tools to fetch and display data. The AI typically handles this wiring during the build step, but verify it works:
"When I search for an order in the app, does it call the lookup_order and search_orders tools we built?"
If the wiring is not set up, ask the AI to connect the app to the tools:
"Connect the search bar to the search_orders tool. When someone types an order number, call lookup_order. When they type a customer name or select a status filter, call search_orders. Display the results in the table."
"Connect the flag button to the flag_order tool. When someone flags an order, store the flag reason and any notes in the app's collections so they persist."
Test the full flow: search for an order, view details, flag it with a reason, go back to the list and confirm the flag shows up. Then close the app and reopen it -- the flag should still be there because it is stored in persistent collections.
Step 7: Share with your team
The sandcastle app has a URL in Assist that you can share with anyone in your workspace. Ask the AI:
"Give me the link to the order management app we just built."
Share that link with your ops team. They open it in a browser and use the app directly -- no MCP connection needed for the app itself. The app calls the WMS tools on their behalf through Assist.
If team members also want to query orders conversationally (not through the app), they can connect their own AI client to the same MCP server and use the WMS tools directly.
Step 8: Iterate and improve
Your app is live but it will evolve. When the team asks for new features, open your AI client and describe the change:
"Add an export button to the order management app that downloads the current search results as a CSV."
"Add a new collection that tracks order flag resolution. When someone resolves a flag, they should select a resolution reason and the flag moves from 'active' to 'resolved.'"
"Create a new tool called 'get_shipment_tracking' that pulls tracking information from our logistics provider. Add a tracking section to the order detail view in the app."
Every change is versioned. If an update breaks something, you can roll back. The tools run in Assist's managed environment, so updates are safe -- no one's laptop is involved, no one's local setup matters.
What you built
You now have a complete order management system:
- Tools that wrap your WMS API, running securely in Assist
- An app that your ops team uses daily to search orders, track fulfillment, and manage exceptions
- Persistent state that tracks flags, notes, and resolutions across sessions
- Conversational access for anyone who wants to query the WMS from their AI client
Your WMS data is accessible to the people who need it, through an interface they can actually use, running in an environment your company controls. The person who built the WMS integration does not need to be online for any of this to work.