Hey agent builders!
Python Actions dropped on this session and the energy was immediate β An attendee hit us with a "no effing way" in the chat before I even finished the sentence. We also shipped a brand-new docs site, rolled out knowledge and form content activities, and then spent the back half tackling pre-submitted questions and a live DSL debugging session that humbled me in real time.
Ryan and Steve were both on as co-hosts. Solid crew, solid session. Here's what went down.
-
New Docs Site β docs.moveworks.com
We shipped a completely rebuilt documentation site. The old sidebar situation is gone β now there's a product switcher that breaks things into AI Assistant, Enterprise Search, Agent Studio, IT Service Management, and the API Reference. The search is actually useful now: keyword results plus an AI assistant tab that can answer follow-up questions directly in the docs. Code blocks and tables got a facelift too β they actually contrast with the page now, which sounds small but makes a real difference when you're staring at config all day.
One thing to note: the URL changed to
docs.moveworks.com. Oldhelp.moveworks.comlinks still redirect, so your bookmarks are safe. Also, the docs AI assistant is not the same as Agent Architect β it has context across all Moveworks docs, not just Agent Studio. -
Python Actions β Full Python in Script Actions π₯
This is the big one. We've moved from APithon (our limited subset) to full Python support in script actions. All built-in libraries work, and we've also included extras like BeautifulSoup, NLTK, NumPy, and Pandas for anyone doing data manipulation or ML-adjacent work.
Important caveat Steve flagged: Python scripts are self-contained and cannot make HTTP requests. If you need network access, use an HTTP action first and pass the data into the script action. Think of it as a processing layer, not an outbound caller. If you want additional libraries added, drop a request in the community.
-
Knowledge & Form Content Activities
You can now use ingested forms and knowledge articles in your conversation processes and decision policies. If a user asks for something that can't be automated β like requesting admin access they don't have the role for β you can surface the relevant form right in the conversation. I demoed a flow where the bot checks a user's role, determines they can't get auto-provisioned, and presents the ServiceNow form to fill out directly in chat. If the form isn't fillable inline, it links out to your ITSM as usual.
These pull from your natively ingested forms (ServiceNow, Jira, etc.) β not custom-built forms.
-
DSL & Data Mappers β Live Walkthrough
We were asked about on how to wrap your head around DSL and data mappers, so I went full whiteboard mode. The short version: DSL lets you dot-walk into JSON objects to select specific fields. Data mappers restructure payloads. You can chain functions like
$LOWERCASE(), use conditionals, and reshape arrays. Ryan also pulled up the static resolver docs to show where.valueand.display_valuecome from when using slot resolvers.β Use the DSL & Mapper Playground to test expressions live β Agent Architect has a DSL mode that can help generate expressions
-
Q&A Highlights
β LLM Actions for Document Analysis: No RAG search in Agent Studio, but you can pass plain text into an LLM action for summarization and analysis. The current GPT model supports up to 400,000 tokens β that's a lot of documents, but watch for context rot with huge payloads.
β MCP & A2A: MCP is on the roadmap for May 2026. Conversations API is targeting Q2. Check the Community Roadmap for updates.
β Content Activity Determinism: Content activities are inherently non-deterministic β the LLM generates a response every time. For more control, Steve recommended using
display_instructions_for_modelin your output mapper, which is weighted heavier than system instructions for steering the LLM's response format.β Proactive ServiceNow Notifications: I diagrammed two approaches β a scheduled plugin in Agent Studio that queries tickets by criteria and loops through with notify expressions, or ServiceNow Flow Designer triggering an ambient agent. Either works, but keep rate limits in mind (5 req/sec). Use parallel processing when looping for performance.
β Username Resolution with Resolvers: Steve walked Derek through a pattern for when users enter wrong usernames. The approach: use a user-type slot to resolve the person first, then call SailPoint (or your identity provider) to get their list of associated usernames, and present that list via a resolver so users pick from valid options instead of guessing. Set the inference policy to "infer if available" for the best UX.
β Employee Works: Moveworks announced a collaboration with ServiceNow this week β Employee Works brings Moveworks into your EC Pro instance. Talk to your account manager for details.
Here's the recording to revisit any part of the session or share it with your team: Recording link
Β
Links & Resources
β Register for upcoming sessions: Developer Office Hours
Β
Real-time DSL debugging on a live call is either brave or reckless β today it was both. See you at the next one. π€