We’re excited to announce the v0.18.0 release of the Obot MCP Platform. This release introduces workflow sharing for Obot Agent, adds first-class skills management with governed access policies, and expands enterprise identity support with Auth0 integration. It also delivers major improvements across agent usability, observability, and runtime performance.
Big Updates
Workflow Sharing
This release introduces Workflow Sharing for Obot Agent.
Users can now publish complete workflows from Obot Agent so they can be discovered and installed by other users as reusable starting points. Published workflows are versioned per user and workflow name, include the full workflow directory, and can be kept private or made public through the UI.
This gives teams a practical way to standardize and distribute repeatable agent workflows without relying on manual copying or ad hoc file sharing.
Behind the scenes, Obot now supports dedicated storage for published workflow artifacts, with support for local disk, S3-compatible storage, GCS, and Azure Blob depending on your deployment model.
Skills and Skill Access Policies
This release adds first-class Skills support to Obot.
Administrators can now register GitHub-based skill repositories, scan them for valid SKILL.md packages, browse discovered skills in the UI, and refresh repositories as needed. Agents can then search for and install those skills directly during conversations.
For a reference set of curated skills, see the obot-platform/skills repository.
To govern rollout, Obot now includes Skill Access Policies. These policies let administrators grant access to all skills, entire repositories, or individual skills for specific users, groups, or all users.
This provides a controlled way to expand agent capabilities across the organization while keeping skill availability aligned with governance and team boundaries.
Auth0 Enterprise Authentication
Obot now supports Auth0 as an enterprise authentication provider.
Organizations using Auth0 can now integrate Obot into their existing identity stack, with support for Auth0-specific provider configuration, user identity handling, and Management API-backed user and role resolution.
This makes enterprise rollout easier for teams already standardized on Auth0 and improves compatibility with policy-driven access control inside Obot.
Embedded Browser Viewer for Obot Agent
Launched Obot Agents can now expose their browser session directly inside the Obot UI.
The new embedded browser viewer gives users a live view into browser-based agent activity without leaving Obot, making web-driven agent workflows easier to monitor and guide. The UI also now hides browser controls until a browser session is actually available, improving clarity during agent startup.
Upgrade Notes
This release changes the workflow spec used by Obot Agent to align with the agentskills.io format. If you have existing workflows created before v0.18.0, they require a one-time migration after upgrading so they match the new spec.
After upgrading to v0.18.0, open your Obot Agent and give it the following prompt:
Refactor all of my existing workflows to match the agentskills.io spec. Here's what needs to happen:
For each markdown file in the workflows/ directory that is NOT already in the proper format (i.e., it's a loose .md file rather than a <name>/SKILL.md directory):
1. **Read** the old file and understand what the workflow does.
2. **Create the new directory structure**: Convert the filename to a valid slug (lowercase, hyphens only, no leading/trailing/consecutive hyphens, max 64 chars). Create `workflows/<slug>/SKILL.md`.
3. **Add proper YAML frontmatter** with:
- `name`: the slug (must match directory name exactly)
- `description`: a concise description of what the workflow does (max 1024 chars), inferred from the content
- `metadata.createdAt`: use `date -u +"%Y-%m-%dT%H:%M:%SZ"` to get the current UTC time
4. **Restructure the body** into the standard sections:
- `## Inputs` — extract any parameters/variables the workflow expects. Format each as `- **param_name** (required/optional): Description. Default: value`
- `## Steps` — number each step as `### 1. Step Name` with descriptive title-case names. Preserve the original intent and instructions of each step. Use `{{input.name}}` to reference inputs and `{{Step Name}}` to reference outputs of prior steps.
- `## Output` — if the workflow has a clear final output format, add this section using `{{Step Name}}` variables to compose the result.
5. **Preserve any supporting files** (scripts, data files, etc.) by moving them into the new directory alongside SKILL.md.
6. **Add conditions and error handling** where appropriate:
- If a step has conditional logic, add `**Condition:** {{Step Name}} contains X`
- If a step could fail and has recovery logic, add `**On error:** stop|continue|Step Name`
7. **Delete the old .md file** after successfully creating the new SKILL.md.
Before making any changes, list all workflows you found and show me what each will look like after refactoring. Wait for my approval before writing any files.
Do NOT change the actual behavior or intent of any workflow — this is a format migration only. If a workflow is ambiguous or you're unsure how to structure it, ask me.
What's Changed
- chore: clean up documentation around deprecated object store, add some documentation about setting up persistence for agents by @drpebcak in #5981
- fix: blank chat when returning to it from workflow/files by @ivyjeong13 in #5973
- fix: tweak token usage page & graphs by @ivyjeong13 in #5991
- fix: change /nanobot route to /agent by @ivyjeong13 in #5993
- fix: disable reasoning in ui by @ivyjeong13 in #5999
- fix: missed nanobot route by @ivyjeong13 in #6000
- logging by @cjellick in #6006
- Restart agents by @drpebcak in #6005
- fix: audit logs: look up tokens for SystemMCPServers by @g-linville in #6014
- fix: filter out nanobot agent servers from API Key MCP Servers by @ivyjeong13 in #6009
- fix: fix tooltip input/output count for models/users section being incorrect by @ivyjeong13 in #6008
- fix: filter out reasonings in message dataset before parsing tool groups by @ivyjeong13 in #6007
- fix: show required on clicking submit for information request by @ivyjeong13 in #6010
- enhance: select dropdown w/ search & default model aliases options change by @ivyjeong13 in #6016
- enhance: change usage graphs to be like audit logs graphs by @ivyjeong13 in #6004
- fix: graph bucket band time frame fix by @ivyjeong13 in #6019
- perf: cache validated API keys by @cjellick in #6022
- Fix: Logging cleaup by @cjellick in #6028
- docker deployment cache by @cjellick in #6037
- feat: add Auth0 as enterprise auth provider by @cloudnautique in #5948
- fix: on static oauth configured, warning should disappear by @ivyjeong13 in #6026
- feat: apply basic user mcp oberservability improvements by @ryu-man in #5837
- fix: server detail view and audit logs not using alias by @ivyjeong13 in #6031
- Add OpenTelemetry instrumentation for HTTP request tracing by @cjellick in #6043
- fix: ui lint issue by @g-linville in #6046
- feat: publish and install workflows by @g-linville in #6023
- feat: published artifacts / workflows ui/ux by @ivyjeong13 in #6054
- feat: add embedded browser viewer for launched nanobot agents by @njhale in #6047
- docs: update Auth0 auth provider documentation by @cloudnautique in #6045
- feat: manage skills by @g-linville in #6052
- chore: bump obot-mcp-server to v0.0.2 by @g-linville in #6061
- docs: add role to auth0 machine-to-machine app by @cloudnautique in #6064
- enhance: hide BrowserView controls until the agent has a browser by @njhale in #6070
- enhance: add more info to published artifacts routes by @g-linville in #6074
- fix: populate auth provider groups when authenticating with jwt by @g-linville in #6077
- fix: shared workflows ui/ux tweaks by @ivyjeong13 in #6076
- chore: add admin page for managing agents by @drpebcak in #6013
- fix: ensure desired image used on restart by @drpebcak in #6078
- feat: admin skills and skill policies pages by @ivyjeong13 in #6075
- chore: remove banner from /agent, rename to obot agent by @drpebcak in #6083
- fix: adjustments to publish workflow ux by @ivyjeong13 in #6084
- Fix: Provide a fallback crypto function by @cjellick in #6091
- fix: default agent models by @njhale in #6082
- fix: normalize file resource URIs before reading by @njhale in #6093
- fix: thread/session disappearing temporarily or until refresh by @ivyjeong13 in #6094
- Fix: Don't send agent interactions to mcp audit logs by @cjellick in #6053
- fix: scope sidebar files to the active thread and workflow by @njhale in #6100
- fix: show other skills info in skills page by @ivyjeong13 in #6099
- fix: session watch gets cleared/aborted during thread navigation by @ivyjeong13 in #6108
- fix: coming soon for model providers when legacy disabled & reroute login by @ivyjeong13 in #6115
- fix: shared/published workflows ui/ux tweaks 3 by @ivyjeong13 in #6120
- revert agent upgrader by @cjellick in #6122
- fix: remove dropdown/unpublish all in workflow view by @ivyjeong13 in #6123
- fix: mitigate thread-stuck state by reverting to-do list to parse todoWrite tool calls by @ivyjeong13 in #6125
- docs: add skills and skill access policies by @g-linville in #6117
- chore: bump nanobot and obot-mcp-server versions by @g-linville in #6128
- chore: cut docs v0.18.0 by @g-linville in #6132
- fix: reset nanobotChat store regardless if currentSessionId isn't set by @ivyjeong13 in #6130
- fix: no loader circle when syncing data from interval calls in deployments view by @ivyjeong13 in #6136
- fix: populate auth provider groups when authenticating with API key by @g-linville in #6142
Full Changelog: v0.17.1...v0.18.0