For the complete documentation index, see llms.txt. This page is also available as Markdown.

Web Platform

Release history for the Amigo Web Platform. Admin Portal (Classic API) and Developer Console (Platform API).

Release history for the Amigo web applications. Latest release: v2.201.40 (July 2026).

Two Web Applications: The Amigo platform has two frontend applications, each with its own section below:

  • Developer Console: Platform API management (workspaces, voice agents, pipeline, analytics, surfaces, compliance)

  • Admin Portal: Classic API management (organizations, agents, conversations, simulations, tools, playground)

Developer Console

v2.201.40 - Developer Console: Full-Duplex Voice Family Now Selectable in Service Configuration (July 2026)

Full-Duplex Voice Family Now Selectable in Service Configuration

The full-duplex voice model family is now generally available in the Developer Console's voice model family picker on the service edit page. Previously, the full-duplex family was recognized by the platform but not offered as a selectable option in the console.

What changed:

  • Full-duplex voice family selectable. The service edit page's voice model family dropdown now includes the full-duplex option alongside the existing Amigo and real-time speech-to-speech families. The full-duplex family handles turn-taking natively rather than relying on voice activity detection.

  • Updated description. The full-duplex family description no longer references a pending API availability status - it is now GA.

What you need to do:

  • No action required. This is an additive change. If you want to use the full-duplex voice family, you can now select it directly from the service edit page in the Developer Console.

v2.201.39 - Developer Console: Claude Opus 4.8 Added to Model Registry (July 2026)

Claude Opus 4.8 Added to Model Registry

The Developer Console model registry now includes Claude Opus 4.8, so it appears in model selectors across the platform - including the skill creation picker (where it is available if the model family is supported for skills) and service configuration.

What changed:

  • Claude Opus 4.8 available in model selectors. The model registry now lists Claude Opus 4.8 alongside the existing model options. This model was previously excluded because it was not available in the platform's inference environment; that access issue has been resolved.

  • Sampling parameter behavior. Claude Opus 4.8, like other models in the same family, does not accept custom sampling parameters (temperature and top_p). The skill editor warns when this model is selected, and sampling parameters are silently ignored at runtime.

What you need to do:

  • No action required. This is an additive change. Claude Opus 4.8 is now available for selection wherever models are offered in the Developer Console.

v2.201.38 - Developer Console: Claude Sonnet 5 Added to Model Registry (July 2026)

Claude Sonnet 5 Added to Model Registry

The Developer Console model registry now includes Claude Sonnet 5, so it appears in model selectors across the platform - including the skill creation picker (where it is available if the model family is supported for skills) and service configuration.

What changed:

  • Claude Sonnet 5 available in model selectors. The model registry now lists Claude Sonnet 5 alongside the existing model options. This model was previously excluded because it was not available in the platform's inference environment; that access issue has been resolved.

  • Sampling parameter behavior. Claude Sonnet 5, like other models in the same family, does not accept custom sampling parameters (temperature and top_p). The skill editor warns when this model is selected, and sampling parameters are silently ignored at runtime.

What you need to do:

  • No action required. This is an additive change. Claude Sonnet 5 is now available for selection wherever models are offered in the Developer Console.

v2.201.37 - Developer Console: Surface Detail Shows Review and Archive Provenance + SDK Migration for Surface Analytics and Triggers (July 2026)

Surface Detail Shows Review and Archive Provenance

The Surface detail page now renders review and archive provenance so operators can see who reviewed a surface, when, and why - and whether a surface was archived, when, and with what reason. Rejected surfaces are clearly distinguished from naturally-expired ones.

What changed:

  • Review provenance in the properties panel. The Surface detail properties panel now displays the review timestamp, reviewer credential identifier, and review notes (if present). These fields appear only when a review action has been taken.

  • Archive provenance in the properties panel. The properties panel now displays the archive timestamp and archive reason (if present). These fields appear only when the surface has been archived.

  • Rejection badge on expired surfaces. When a surface was rejected in review (expired status with review notes), the detail page shows a "Rejected in review" badge alongside the status badge, with the reject reason displayed inline. This makes it immediately clear that the surface was actively rejected rather than naturally expired.

  • Reviewed and Archived timeline events. The Surface detail timeline now includes a "Reviewed" (or "Rejected in review") event when the surface has been reviewed, and an "Archived" event when the surface has been archived, so the full lifecycle is visible at a glance.

  • SDK migration for surface analytics. Surface analytics endpoints (completion rates, channel effectiveness, field abandonment, and entity history) now use the platform SDK instead of the local HTTP client. This is a transparent migration with no change to the data returned or the filters available.

  • SDK migration for trigger list and fire. The trigger list and fire operations now use the platform SDK's native methods instead of lower-level SDK calls. This is a transparent migration with no change to behavior.

What you need to do:

  • No action required. These are additive UI improvements and internal SDK migrations. Surface detail pages now show more information; no existing functionality has changed.

v2.201.36 - Developer Console: PHI Access Report Copy Updated for Transcript Read-Auditing (July 2026)

PHI Access Report Copy Updated for Transcript Read-Auditing

The PHI access report description on the Compliance page now accurately reflects that conversation transcripts are read-audited.

What changed:

  • PHI access report description updated. The description now includes conversation transcripts in the list of read-audited record types. Previously, the description stated that conversation transcripts were not yet read-audited. The description also clarifies that polled list views are deliberately not read-audited - opening a record is the access signal.

What you need to do:

  • No action required. This is a copy correction that aligns the Compliance page with the current audit behavior.

v2.201.35 - Developer Console: Skill Picker Restricted to Supported Models (July 2026)

Skill Picker Restricted to Supported Models

The skill creation flow now offers only models that the platform can actually save for skills, preventing a confusing 422 error when trying to save a skill with an unsupported model.

What changed:

  • Skill model picker filtered. The model selector in the skill creation wizard now shows only models that are accepted by the platform for skill configurations. Previously, the picker displayed all available models - including families that the platform rejects at save time - leading to a validation error after configuration.

What you need to do:

  • No action required. This is a usability fix. If you previously encountered a save error when selecting certain models in the skill picker, those models are no longer offered. Existing saved skills are unaffected.

v2.201.34 - Developer Console: Operator Cluster and Remaining Private-Preview Surfaces Promoted to GA (July 2026)

Operator Cluster and Remaining Private-Preview Surfaces Promoted to GA

Several feature areas that were previously gated behind the private-preview program are now generally available to all users.

What changed:

  • Operator cluster promoted to GA. The Takeover console, Escalations, and Operators roster pages are now available to all users. Previously these were restricted to private-preview customers.

  • Operator Performance promoted to GA. The Operator Performance page is now available to all users.

  • Insights promoted to GA. The Insights page is now available to all users.

  • Case Library and Suites promoted to GA. The Case Library and Suites pages under Simulations are now visible to all users without a private-preview gate. The "Case library" and "Suites" action buttons on the Simulations page are now always shown.

  • Database tool page promoted to GA. The Database page under Tools is now available to all users.

What you need to do:

  • No action required. These are access-broadening changes. If you previously could not see the operator cluster, Insights, Case Library, Suites, or Database pages, they are now available at your workspace's access tier.

v2.201.33 - Developer Console: Gating Tranche - Runs Unpinned to GA, Compliance to GA, Operator Cluster to Private Preview (July 2026)

Gating Tranche - Runs Unpinned to GA, Compliance to GA, Operator Cluster to Private Preview

Several feature gates have been updated to broaden access across the Developer Console.

What changed:

  • Runs page fully unpinned. The Runs table previously restricted general-availability users to conversation runs excluding voice. All users now see every run kind (conversation and framework) and every channel (voice, text, SMS, email, web) with all filter axes available. The summary strip above the table is now visible to all users, and its aggregate counts reconcile with the unpinned table. The page remains workspace-scoped server-side.

  • Runs page label updated. The sidebar navigation label for the runs list has changed from "Conversations" to "Conversations & Calls" to reflect that the table now includes voice calls for all users.

  • Compliance and Audit promoted to GA. The Compliance and Audit page is now available to all users. Previously it was restricted to internal users.

  • PHI access report description updated. The PHI access report description now lists the specific record types covered (patient/entity record views, FHIR patient reads, call details and recordings, intake downloads, and audit report access) and notes that conversation transcripts and list views are not yet read-audited.

  • Operator cluster moved to private preview. The Takeover console, Escalations, Operators roster, and Operator Performance pages have moved from internal-only to private preview, making them available to customers in the private preview program.

What you need to do:

  • No action required. These are access-broadening changes. If you previously could not see the Compliance page, Runs filters, or the operator cluster, they are now available at your workspace's access tier.

v2.201.32 - Developer Console: GPT-5.6 Family Added to Available Models (July 2026)

GPT-5.6 Family Added to Available Models

The Developer Console now includes the GPT-5.6 model family in the available models list, giving skill authors access to three new model options.

What changed:

  • Three new models available. GPT-5.6 Sol, GPT-5.6 Terra, and GPT-5.6 Luna are now selectable when configuring skills in the Developer Console. These models do not support sampling parameters (temperature and top_p) - the skill editor will indicate this, and any sampling parameters set on a skill using these models are silently ignored.

  • Skill editor sampling parameter warnings. When one of these models is selected, the skill editor dynamically warns that sampling parameters are not supported, consistent with how other sampling-incompatible models are handled.

What you need to do:

  • No action required. These are additive changes. The new models appear in the model selector alongside existing options. Existing skill configurations are unaffected.

v2.201.31 - Developer Console: Data Honesty - Remove Fabricated UI Elements (July 2026)

Data Honesty - Remove Fabricated UI Elements

Several UI elements across the Developer Console that displayed fabricated, placeholder, or sample data as if it were real have been removed. This is a data-honesty cleanup with no functional regression - all removed elements showed hardcoded or deterministic fake values rather than data from the workspace.

What changed:

  • Scenario source chips removed from Agent Readiness. The per-scenario "Sources" chips on the Agent Readiness run detail view have been removed. These chips displayed deterministic placeholder attribution labels (such as data source names) that were not connected to any real source-tracking system. Scenario cards continue to display all other information (score, rationale, session details) as before.

  • Compliance badges removed from Data Sources connector drawers. The "Compliance" section (showing HIPAA, PHI handling, BAA badges and a region label) has been removed from the Available, Connected, and Coming Soon connector drawer views. These badges displayed hardcoded pass/pending values that were not backed by a real compliance verification system.

  • "What we ingest" entity lists removed from Data Sources connector drawers. The "What we ingest" (or "What we'd ingest") section listing entity types per connector has been removed from all connector drawer views. These lists were hardcoded per connector and not derived from actual ingestion configuration.

  • Availability heatmap removed from Data Insights. The "Slot availability by day and hour" heatmap on the Data Insights dashboard has been removed. The heatmap displayed hardcoded sample values rather than real slot availability data.

  • Bottlenecks panel removed from Data Insights. The "Facility and specialty bottlenecks" panel on the Data Insights dashboard has been removed. The panel always displayed an empty-state message and was not connected to any data source.

  • Time range filter and slot status filter removed from Data Insights. The time range selector (7d, 30d, 90d, 1y) and the "Slot status: All" filter button on the Data Insights dashboard have been removed. These controls were not connected to any data filtering logic.

  • Sample data preview card removed from Dashboards index. The "Proactive Journeys" preview card with the "Sample data" badge has been removed from the Dashboards index page. The Journeys section remains accessible from the sidebar navigation.

  • Data page default view changed. The Data page now defaults to the entities view instead of the overview view.

What you need to do:

  • No action required. All removed elements displayed placeholder or fabricated data. No real functionality or data has been affected. If you had bookmarked or referenced any of these specific UI panels, they are no longer present.

v2.201.30 - Developer Console: Enterprise Lifecycle IA - Stage 1 Navigation Restructure and Redirects (July 2026)

Enterprise Lifecycle IA - Stage 1 Navigation Restructure and Redirects

The Developer Console sidebar navigation has been restructured to reflect an enterprise lifecycle information architecture. Several standalone pages have been consolidated into unified surfaces, and legacy routes now redirect automatically to their new locations.

What changed:

  • Navigation restructured. The sidebar navigation has been reorganized around an enterprise lifecycle flow. Section groupings, labels, and ordering have been updated to guide users through a build-test-operate-analyze workflow.

  • Agent Definitions folded into Agents. The standalone Native Agents list page has been removed. Native agent definitions now appear in the unified Agents table alongside platform agents. The /agent-definitions route redirects to /agents. Individual definition detail pages (accessed by row click) remain at their existing routes.

  • Agent Trace replaced by Runs. The standalone Agent Trace page has been removed. Deep call investigation is available through the unified Runs surface. The /agent-trace route redirects to /runs.

  • Command Center retired. The internal metrics wall page has been removed. Workspace-level operational status is available on the Home page. The /command-center route redirects to /home.

  • Operator Dashboard replaced by Takeover console. The standalone Operator Dashboard has been removed. The escalation queue, briefing, and intervention features are available in the Operator Command Center (Takeover console). The /operators route redirects to /operators/command-center.

  • Operator Priority Queue folded into Takeover console. The standalone Priority Queue page has been removed. The queue is the left panel of the Takeover console. The /operators/queue route redirects to /operators/command-center.

  • Live Observer replaced by Playground. The standalone Live Observer page for watching active calls has been removed. Call observation happens through the Playground view, and observe-while-acting is handled by the Takeover console. The /calls/observe/{callSid} route redirects to /playground/{callSid}, preserving the call identifier.

  • FHIR page redirected to EHR Sync integration. The standalone FHIR configuration page has been removed. EHR sync configuration and connection status are available on the EHR Sync integration page under Tools. The /data-sources/fhir route redirects to /tools/integrations/ehr-sync.

  • API Keys page redirected to Developer page. The /api-keys route now redirects to /developer?tab=api-keys. The API key creation wizard at /api-keys/new remains available.

  • Personal Access Tokens page redirected to Developer page. The /personal-access-tokens route now redirects to /developer?tab=tokens.

  • Voice Settings page redirected to Settings page. The /settings/voice-settings route now redirects to /settings?tab=voice.

  • Policy Memo bare route redirected. The /m42/policy-memo route (which previously returned a 404) now redirects to /m42/observation, where policy memos are accessible per district.

What you need to do:

  • Update any bookmarks or internal links. All legacy routes redirect automatically to their new locations, so existing links continue to work. Update bookmarks to point to the new locations directly for a faster navigation experience.

  • Familiarize yourself with the new sidebar layout. The sidebar sections and item ordering have changed. Features are in the same places functionally but grouped differently in navigation.

v2.201.29 - Developer Console: Data Sources Design System Typography and Layout Polish (July 2026)

Data Sources Design System Typography and Layout Polish

The Data Sources section of the Developer Console has been updated to use the platform design system's typography tokens and tighter spacing, replacing hardcoded font sizes with consistent type scale classes throughout the page.

What changed:

  • Design system typography applied. All text elements across the Data Sources page - including the page header, connector cards, catalog footer, drawer content, connection steps, stat strips, field mapping tables, and segmented controls - now use the platform's shared type scale tokens instead of hardcoded pixel-based font sizes. This brings the Data Sources section into alignment with the rest of the Developer Console.

  • Simplified page header. The Data Sources page header has been streamlined with a shorter title and description, removing the decorative data flow diagram that previously appeared alongside the hero text on large screens.

  • Tighter stat strip spacing. The stat strip component uses reduced vertical padding for a more compact layout.

  • Accessibility improvement. Loading state indicators in tab counts now include a status role for screen readers.

  • Connector catalog toolbar. The search field now uses responsive width constraints, and the segmented filter controls use consistent spacing.

What you need to do:

  • No action required. These are visual polish changes with no behavioral or configuration impact.

v2.201.28 - Developer Console: Engagement Section Rebuild - Journeys, Outreach, Triggers, Surfaces (July 2026)

Engagement Section Rebuild - Journeys, Outreach, Triggers, Surfaces

The Engagement section of the Developer Console has been rebuilt with a new information architecture that consolidates related features, introduces a dedicated Journeys section, and restructures Outreach, Triggers, and Surfaces into tabbed, enterprise-grade pages.

What changed:

  • New Journeys section. Proactive journey observability now lives at its own top-level route (/journeys) instead of nested under Dashboards. The Journeys list shows journey health summaries with funnel visualizations, outcome strips, and key metrics. Clicking a journey opens a detail dashboard with overview KPIs (each with a definition tooltip), funnel charts, outcome-by-channel breakdowns, agent resolution tables, eval quality panels, and member timeline drawers. All journey data is currently sample data - a persistent banner discloses that journey observability is not yet connected to workspace data. The sample period is labeled explicitly so the preview never implies recency.

  • Legacy journey and dashboard redirects. The previous routes at /dashboards/proactive-journey and /dashboards/proactive-journey/{id} now redirect to /journeys and /journeys/{id} respectively, preserving existing bookmarks. The Dashboards index page links to the Journeys section with a "Sample data" badge instead of embedding the journey list inline.

  • Gap Scanner folded into Outreach. The standalone Gap Scanner page has been removed. Gap scanner configuration is now the Detection tab within the redesigned Outreach page. The previous /gap-scanner route redirects to /outreach?tab=detection automatically.

  • Outreach page redesigned with tabs. The Outreach page now uses a tabbed layout with four tabs: Overview (outreach health metrics and activity), Rules (outreach rule configuration with inline editing, quiet hours, consent gates, and template linking), Templates (data collection template management with field editors), and Detection (gap scanner settings, previously the standalone Gap Scanner page). Rule cards support expanded inline editing with channel selection, trigger configuration, and message template authoring. Template cards support field-level editing with common field presets and sensitive field marking.

  • Triggers page redesigned. The Triggers list now includes a richer table with status badges, schedule labels, and action summaries. The trigger detail page is reorganized into an overview section, a settings form, and a runs history section with status tracking and retry visibility. Trigger creation uses a streamlined two-step flow: choose trigger mode (time-based or event-based), then configure the schedule or event. The schedule builder has been simplified with a timezone selector. A new "Fire with input" dialog allows manual trigger invocation with custom input parameters.

  • Surfaces page redesigned with tabs. The Surfaces page now uses a tabbed layout: a List tab (surface table with filtering, status badges, and progress indicators) and an Analytics tab (completion trends, channel breakdowns, and configurable time windows with CSV export). The surface detail page includes a new progress card showing field completion status. Surface creation uses a redesigned sheet with an entity picker field and structured field editor.

  • Navigation updates. The sidebar Engagement section now includes Journeys as a top-level item alongside Outreach, Triggers, and Surfaces. The Gap Scanner item has been removed from navigation.

  • Outcome tone semantics updated. Across journey dashboards, outcome badges, and charts, the tone mapping has been revised: "completed" uses the success tone, "handed off" uses the info tone (a deliberate routing outcome, not a failure), "unresolved" uses the warning tone (the true attention state), and "opted out" uses a neutral tone (a member preference, not a failure).

What you need to do:

  • Update any bookmarks. Links to the Gap Scanner page redirect to the Outreach Detection tab automatically. Links to the proactive journey dashboard under /dashboards/proactive-journey redirect to /journeys automatically. Update bookmarks to point to the new locations directly.

  • Review Outreach configuration. If you previously configured gap scanner settings on the standalone page, your settings are now accessible under the Detection tab on the Outreach page.

v2.201.27 - Developer Console: Unified Compliance & Audit, Developer, Members, and Settings Pages (July 2026)

Unified Compliance & Audit, Developer, Members, and Settings Pages

The Developer Console governance and workspace management surfaces have been redesigned into unified, tabbed pages that consolidate previously scattered features into fewer, more capable destinations.

What changed:

  • Compliance & Audit page consolidated. The Compliance & Audit page now has six tabs: Overview (summary metrics and compliance posture), Events (cross-service audit trail with filtering by service, action, actor, resource type, resource ID, date range, and PHI-only toggle), PHI Access (dedicated PHI event view with entity drill-down), Access Review (credential access review table with CSV download for SOC2 evidence), Exports (audit export history and creation), and Identity (identity-service audit events). The Events and PHI Access tabs support row-click inspection in a detail drawer that shows actor, resource, IP address, user agent, and metadata. The Events tab includes date range presets (24h, 7d, 30d, 90d), an "Export this view" action that prefills the export dialog from the active filters, and URL-persisted filters for deep linking. The Events, PHI Access, Exports, and Identity tabs require admin scope - the same gate the former Admin Audit Log page enforced.

  • Admin Audit Log page removed and redirected. The Admin section no longer contains an Audit Log tab. The route redirects to the Compliance & Audit page's Events tab automatically. The Admin Security tab (which had no page) has also been removed from the Admin navigation.

  • Developer page consolidated. The Developer page now includes tabbed access to API Keys and Personal Access Tokens alongside the existing developer tools. A getting-started strip provides onboarding guidance for new workspaces. The standalone API Keys and Personal Access Tokens pages now redirect to the Developer page with the appropriate tab selected.

  • API key hygiene indicator. The API Keys table now shows an "Unused 90+ days" badge on keys that have not been used for 90 or more days, helping teams identify stale credentials during access reviews.

  • Members page redesigned. The Members page now uses a tabbed layout with separate tables for active members and pending invitations, replacing the previous combined view. A bulk invite dialog supports adding multiple members at once. Member and invitation tables include improved filtering and pagination.

  • Settings page reorganized. The Settings page now groups configuration into General, Retention, and Danger Zone sections. A new Convert Environment card allows converting a workspace between environment types. The archive and provisioning actions are presented as individual danger-zone cards with confirmation flows.

  • Navigation updates. The sidebar navigation reflects the consolidated structure. The Compliance & Audit, Developer, Members, and Settings items point to the unified pages.

What you need to do:

  • Update any bookmarks. Links to the Admin Audit Log, standalone API Keys page, or standalone Personal Access Tokens page now redirect to their new locations automatically. Update bookmarks to point to the new destinations directly.

  • Access review workflow. The Access Review tab now provides a structured table with CSV download instead of the previous card-based layout, which is better suited for periodic SOC2 evidence collection.

v2.201.26 - Developer Console: Sync Page Removed, Health Consolidated into Data Sources (July 2026)

Sync Page Removed, Health Consolidated into Data Sources

The standalone Sync page has been removed from the Developer Console. Per-source sync health, freshness indicators, and pipeline status are now available directly on the Data Sources page as part of the data section information architecture redesign.

What changed:

  • Sync page removed from navigation. The Sync item has been removed from the Data section of the sidebar. The standalone Sync page with its inbound and outbound tabs no longer exists as a separate destination.

  • Existing Sync links redirect. Any bookmarks or saved links to the old Sync page now redirect to the Data Sources page automatically, so no links are broken.

  • Infrastructure card updated. The Pipeline card on the workspace home page now links to Data Sources instead of the former Sync page.

  • EHR integration link updated. The EHR sync section link now points to Data Sources with the label "View Data Sources" instead of the former "View Sync" label.

  • Loop latency widget removed. The loop latency sparkline widget that previously appeared on the Sync page has been removed along with the page.

What you need to do:

  • Update any bookmarks. If you have bookmarked the Sync page, the redirect will take you to Data Sources automatically. Update your bookmarks to point to Data Sources directly.

  • Use Data Sources for sync monitoring. Per-source health status, freshness, and sync activity are now available on the Data Sources page.

v2.201.25 - Developer Console: Family-Aware Voice Configuration (July 2026)

Family-Aware Voice Configuration

The Developer Console now hides Amigo pipeline voice settings that do not apply when a non-Amigo voice model family is selected, preventing operators from configuring knobs that have no effect.

What changed:

  • Service detail page is family-aware. When a service uses a non-Amigo voice model family (real-time speech-to-speech or full-duplex), the service detail page no longer displays Amigo pipeline voice settings (TTS provider and model, fillers, response limits, barge-in tuning). Instead, a note explains that audio is generated end-to-end by the selected runtime and those settings do not apply. Call forwarding status is still shown.

  • Agent version cards are family-aware. The voice configuration section on agent version cards now checks the voice model family. For Amigo pipeline agents, the full set of voice knobs (TTS provider, voice ID, stability, similarity, style) is displayed as before. For other families, a note explains that the pipeline voice settings do not apply to the selected runtime.

  • Service edit form shows contextual guidance. The session provider dropdown on the service edit form now displays family-specific helper text. For the Amigo pipeline, it describes the default behavior. For other runtimes, it notes that Amigo pipeline settings (TTS, fillers, response limits) will not apply.

What you need to do:

  • No action required. These are UX improvements that apply automatically. No voice configuration data is changed - the settings are hidden in the UI only when they have no effect on the selected runtime.

v2.201.24 - Developer Console: Data Sources Catalog Drawer Guidance (July 2026)

Data Sources Catalog Drawer Guidance

The data sources catalog drawers for available and coming-soon connectors now provide clear next-step guidance instead of ending on a dead-end close button.

What changed:

  • Available connector drawer shows provisioning guidance. When you open an available connector in the data sources catalog, the drawer footer now explains that Amigo's team provisions the integration and directs you to contact your Amigo representative to connect the data source. The close button has been restyled to an outline variant.

  • Coming-soon connector drawer shows early access guidance. When you open a coming-soon connector, the drawer footer now encourages you to ask your Amigo team about early access to the connector. The close button has been restyled to an outline variant.

What you need to do:

  • No action required. These are UX improvements that apply automatically.

v2.201.23 - Developer Console: Data Sources Health Strip Unified to Design System (July 2026)

Data Sources Health Strip Unified to Design System

The summary strip at the top of the active data sources tab now uses the platform design system status strip component, replacing the previous bespoke implementation. The label and empty-state text for the last sync indicator have also been updated.

What changed:

  • Status strip unified to design system. The summary strip on the Active Sources tab now uses the standard design system status strip, matching the visual language used elsewhere in the Developer Console.

  • "Since last sync" renamed to "Last sync". The label for the most recent sync timestamp has been shortened for clarity.

  • Empty state updated. When no sync has occurred, the last sync indicator now displays "Never" instead of "N/A".

  • "New Data Source" button renamed to "Add source". The button label for adding a new data source has been simplified.

What you need to do:

  • No action required. These are visual and labeling improvements that apply automatically.

v2.201.22 - Developer Console: Data Sources Catalog and Detail Improvements (July 2026)

Data Sources Catalog and Detail Improvements

The Data Sources page now lands on the workspace's real connected sources instead of the connector catalog, the catalog no longer displays fabricated connection states, and the data source detail view masks a broader set of sensitive configuration fields.

What changed:

  • Default landing tab changed. The Data Sources page now opens on the active sources tab (your workspace's real connected data sources) instead of the connector catalog. Previously, the catalog was the default landing view, which could give a misleading first impression of connection state.

  • Catalog no longer shows fabricated statuses. The connector catalog is a browse-and-add directory of available connectors. It no longer displays "Connected" or "Paused" status filters or counts - those states belong to the active sources tab, which reflects real per-workspace connection status. The catalog now shows "Available" and "Coming soon" filters only.

  • Catalog stats simplified. The summary stats at the top of the catalog now show "Available to connect" and "Coming soon" counts only, removing the previously fabricated "Connected" and "Paused" counts.

  • Broader secret masking on data source detail. The data source detail view now masks configuration values for any key that matches common secret-related patterns (including API keys, tokens, bearer credentials, access keys, and private keys) rather than only password and secret fields. This prevents accidental exposure of credentials in the configuration viewer.

  • Intake tab guard updated. When the intake feature flag is off, deep-linking to the intake tab via URL now falls back to the active sources tab instead of the catalog.

What you need to do:

  • No action required. These are UX and security improvements that apply automatically.

v2.201.21 - Developer Console: Patients Table Server-Backed Sort and Layout Improvements (July 2026)

Patients Table Server-Backed Sort and Layout Improvements

The Patients page has been redesigned with server-backed sorting, an improved column layout, and better condition overflow handling.

What changed:

  • Server-backed sort control. The patients table now includes a sort dropdown that reorders the full dataset server-side rather than sorting only the visible page. Sort options include recently updated, least recently updated, most records, and name (A-Z / Z-A). The selected sort is persisted as a URL query parameter.

  • Column layout updated. The table now displays MRN and DOB/Age (showing date of birth with computed age) as dedicated columns. The DOB column renders both the formatted date and the patient's age. The phone and tags columns have been removed.

  • Conditions overflow popover. When a patient has more than two conditions, the overflow badge now opens an inline popover showing all remaining conditions instead of just displaying a count.

  • Inline patient count header. The total patient count previously shown as a separate metric card above the table now appears as an inline header within the table container.

  • Column sorting disabled on headers. Per-column header sorting has been removed to prevent misleading reordering of a single page of results. All sorting is handled through the server-backed sort dropdown.

  • Improved pagination display. The pagination footer now shows a formatted range (e.g., "1-20 of 150") and handles empty states cleanly.

  • Search placeholder simplified. The search field placeholder has been updated to "Search by name, phone, or ID".

What you need to do:

  • No action required. These are visual and usability improvements that apply automatically.

v2.201.20 - Developer Console: Entity and Service Columns on Runs, Voice Settings and Playground Updates (July 2026)

Entity and Service Columns on Runs, Voice Settings and Playground Updates

The Runs table now surfaces who each run was with and which service handled it, and the Voice Settings form and Playground emotion panel have been simplified.

What changed:

  • Entity and Service columns on the Runs table. The Runs list now shows an Entity column (who the run was with) and a Service column (which agent service handled it) as primary identifiers, grouped right after the Type column. Both render a dash when the value is not available for a run.

  • Correction Categories removed from Voice Settings. The Correction Categories field has been removed from the Voice Settings form. All other voice settings fields are unchanged.

  • Vocal burst display removed from the Playground. The emotion panel in the Playground no longer includes the vocal burst stream display.

What you need to do:

  • No action required. The new Runs columns appear automatically, and no configuration changes are needed for the Voice Settings or Playground updates.

v2.201.19 - Developer Console: Close Conversation Action on List and Detail (July 2026)

Close Conversation Action on List and Detail

The Developer Console now lets operators close an active text conversation directly from the conversations list and the conversation detail page.

What changed:

  • Close action on conversation detail. The conversation detail page for eligible text conversations now displays a "Close conversation" button in the page header. Clicking it opens a confirmation dialog that explains the effect: closing ends the current conversation, and the contact's next inbound message starts a fresh conversation with the latest agent configuration.

  • Close action on conversations table. The conversations list table now includes a row-level action menu on eligible rows. The menu exposes a "Close conversation" item that opens the same confirmation dialog.

  • Eligibility rules. The close action appears only for non-voice conversations that are not already closed. Voice conversations (which end with the call) and already-closed conversations do not show the action. This matches the server-side eligibility gate on the close endpoint.

  • Confirmation dialog. Both surfaces share the same confirmation dialog, which explains that closing ends the current conversation thread and that the next inbound message from the contact will start a fresh conversation. The dialog shows a pending state while the close request is in flight.

  • Success and error feedback. On success, a toast confirms the conversation was closed. On failure, a toast displays the error message.

What you need to do:

  • No action required. The close action appears automatically on eligible conversations. No configuration changes are needed.

v2.201.18 - Developer Console: Legacy Review Queue Surface Retired (July 2026)

Legacy Review Queue Surface Retired

The legacy Review Queue page in the Developer Console has been removed. Review functionality is now handled entirely through the External Write Review surface introduced in v2.201.17.

What changed:

  • Review Queue page removed. The /review page and all associated sub-pages (review item detail, quality pipeline charts, batch actions, entity grouping, and filter controls) have been removed from the Developer Console.

  • Sidebar navigation updated. The "Review Queue" entry has been removed from the console sidebar. The External Write Review page remains available for managing external write proposals.

  • Routes cleaned up. Direct links to the old /review paths will no longer resolve. The review section has been removed from workspace routing.

What you need to do:

  • External write proposals are reviewed on the External Write Review page. The /review paths no longer resolve.

v2.201.17 - Developer Console: External Write Review Console Surface (July 2026)

External Write Review Console Surface

The Developer Console now includes a dedicated External Write Review page where reviewers can inspect, approve, or reject proposed writes to external systems before they are delivered.

What changed:

  • New External Write Review page. A new page under the console navigation lets reviewers browse external write proposals awaiting human review. The page displays a filterable table of proposals with status, connector type, resource type, event type, and creation time columns.

  • Status filtering. A toggle group at the top of the table filters proposals by status: Pending (proposed), Approved, Rejected, or All. The default view shows pending proposals so reviewers see what needs attention first.

  • Infinite-scroll pagination. The proposal list loads incrementally as the reviewer scrolls, so large queues remain responsive without manual page navigation.

  • Review dialog. Clicking "Review" on a proposal row opens a detail dialog showing the full proposed payload (the FHIR resource that would be written), resource type, resource ID, event type, confidence score, and connector type. Reviewers can approve the write or reject it with a required reason.

  • Decision enforcement. Only proposals in "proposed" status can be approved or rejected. Previously decided proposals display their recorded decision, reviewer identity, and rejection reason in read-only mode.

  • Navigation. The page appears in the console sidebar as "External Write Review" and is available to internal users. The page is empty for workspaces that have not opted into review-required external writes.

What you need to do:

  • No action required. The page appears automatically in the Developer Console sidebar. It shows proposals only for workspaces where external write review is enabled. Workspaces without review-required writes see an empty state.

v2.201.16 - Developer Console: Memory Inspector - Entity Memory Panel and Memory-in-Conversation View (July 2026)

Memory Inspector - Entity Memory Panel and Memory-in-Conversation View

The Developer Console now includes a Memory Inspector that surfaces what the agent knows about a person and what memory was injected into each conversation turn.

What changed:

  • Entity memory panel on patient detail. The patient detail page now includes a Memory section that displays the enriched memory the agent draws on for that person. The panel shows the current user model narrative, confidence scores, provenance links back to source conversations, and a full extraction log showing how each memory dimension was observed and updated over time. Current values are visually distinguished from superseded entries.

  • Memory-in-conversation view on conversation detail. Each conversation detail page now includes a "What the agent remembered" section that shows the memory injected into the agent's prompt at each engage turn. For each turn, the view displays additional context items and user model text, with an expandable raw system prompt for debugging.

  • Memory-in-conversation view on call detail. The call analysis panel on voice call detail pages now includes the same "What the agent remembered" section, showing per-turn memory injection for voice conversations.

  • Prompt log inspection. Both memory-in-conversation views are powered by prompt logs, which record the system prompt sent to the agent at each engage turn. The views parse the memory sections from the prompt and present them in a structured format. A collapsible raw prompt view is available for each turn.

What you need to do:

  • No action required. The Memory Inspector appears automatically on patient detail, conversation detail, and call detail pages. Memory data is populated from the existing enrichment and prompt log pipelines.

v2.201.15 - Developer Console: Trigger Event Type Reconciled with Platform SDK (July 2026)

Trigger Event Type Reconciled with Platform SDK

The trigger creation form now uses the platform's canonical event type list instead of free-text entry, and the UI separates trigger mode selection (time based vs event based) from event type selection.

What changed:

  • Validated event types replace free-text input. The trigger creation form now validates the event type against the closed set of platform-supported events defined in the SDK. Previously, the form accepted arbitrary strings including a "Custom event type" option with a free-text input. Invalid or unsupported event types are now rejected at form submission with a clear validation message.

  • Two-step event selection for event-based triggers. When creating an event-based trigger, you first choose the trigger mode ("Time based" or "Event based"), then select the specific platform event from a dropdown. This replaces the previous single dropdown that mixed trigger modes with event types.

  • "Custom event type" option removed. The free-text custom event type input has been removed. All triggers must use one of the platform's supported event types.

  • Legacy event names handled gracefully. Existing triggers that were created with the previous event type names (such as trigger.scheduled or webhook.received) continue to display correctly in the trigger list. The "Time based" label is shown for both the current and legacy scheduled event identifiers.

  • Event-based trigger description updated. The description for event-based triggers now reads "Runs when a matching platform event arrives" instead of the previous webhook-specific wording.

What you need to do:

  • No action required for existing triggers. Triggers created with previous event type values continue to work and display correctly.

  • When creating new triggers: Select an event type from the provided dropdown. Free-text event types are no longer accepted.

v2.201.14 - Developer Console: "Take Over" Action on Live Voice Runs (July 2026)

"Take Over" Action on Live Voice Runs

The Runs table now includes a row-level action that lets operators take over a live voice call directly from the Runs page.

What changed:

  • "Take over" row action on live voice runs. Runs that represent an active voice conversation now display a row action menu with a "Take over" option. Selecting it navigates directly to the Operator Command Center with the target call preselected.

  • Deep-link preselection. The Command Center reads a callSid query parameter from the URL and uses it to seed the initial call selection. When a call matching that identifier appears in the live queue, it is automatically selected so the operator can begin intervention immediately.

  • Eligibility scoping. The action appears only on voice conversation runs that are currently live (running or paused) and have an associated call identifier. Non-voice runs, completed runs, and framework runs do not display the action menu.

  • No interference with row click. The action menu does not interfere with the existing row click behavior that opens the run detail page. Clicking the row still navigates to the detail view; the "Take over" action is accessed through the actions menu only.

What you need to do:

  • No action required. The "Take over" action appears automatically on eligible live voice runs in the Runs table. Operators with access to the Command Center can use it to quickly jump into an active call.

v2.201.13 - Developer Console: Active Calls Folded into Runs Live View (July 2026)

Active Calls Folded into Runs Live View

The standalone "Active Calls" page has been retired and its functionality folded into the unified Runs page. Live voice calls now appear directly in the Runs table when the "live" status filter is active, and fleet capacity widgets are displayed on the live view for internal users.

What changed:

  • Active Calls page replaced with redirect. The /calls/active route now redirects to the Runs page with the live status filter applied (/runs?f_status=live). Existing bookmarks and links continue to work through the redirect.

  • Fleet capacity widgets moved to Runs live view. The fleet capacity indicators that previously appeared on the Active Calls page now display above the runs table when internal users are viewing the live status filter. Both the voice fleet and tool-runner fleet capacity widgets are shown.

  • Navigation updated. The "Active Calls" entry has been removed from the Operations section of the sidebar. The Runs entry now highlights as active when viewing the legacy /calls/active or /calls/observe paths.

  • Internal-only visibility preserved. The redirected path and fleet capacity widgets remain gated to internal users, matching the previous access posture.

What you need to do:

  • No action required. If you had bookmarks to the Active Calls page, they will automatically redirect to the Runs live view. All live voice call data is available through the Runs table with the live status filter.

v2.201.12 - Developer Console: Runs Summary Strip on the Operations Runs Page (July 2026)

Runs Summary Strip on the Operations Runs Page

The Operations Runs page now displays a summary strip of metric cards above the runs table, showing workspace-wide aggregate counts at a glance.

What changed:

  • Summary metric cards. Four metric cards appear above the runs table: Total runs, Live (running or paused), Completed, and Failed. These counts are sourced from the dedicated runs summary endpoint and reflect honest workspace-wide totals that the paginated table cannot derive client-side.

  • Auto-refresh. The summary strip refreshes periodically so the Live count tracks in-flight runs without a manual page reload.

  • Graceful degradation. If the summary data is unavailable, the cards display dashes instead of counts. The table below continues to function normally.

  • Internal-only visibility. The summary strip is currently shown only to internal users.

  • Consistent card design. The runs summary strip uses the same metric card design as the insights digest.

What you need to do:

  • No action required. The summary strip appears automatically for internal users on the Runs page. No configuration is needed.

v2.201.11 - Developer Console: JWT Assertion Usage for Integration Auth (July 2026)

JWT Assertion Usage for Integration Auth

The integration creation and detail views now support selecting how a signed JWT is presented to the token endpoint when using the OAuth2 JWT Bearer auth type. This corresponds to the new assertion_usage field on the platform API.

What changed:

  • Assertion Usage field on the integration creation form. When creating a new integration with the OAuth2 JWT Bearer auth type, the Connection step now includes an Assertion Usage selector with two options:

    • Authorization grant (standard) - sends the JWT as the assertion parameter under a jwt-bearer grant (RFC 7523 section 2.1). This is the default.

    • Client authentication - Epic / SMART Backend Services - sends the JWT as client_assertion under the client_credentials grant (RFC 7523 section 2.2), which is the private_key_jwt method required by providers like Epic.

  • Assertion Usage displayed on integration detail page. The Auth Details section of an existing integration now shows the configured Assertion Usage alongside the other JWT configuration fields.

  • Default value. New integrations default to "Authorization grant" if no selection is made, preserving the previous behavior.

What you need to do:

  • No action required for existing integrations. Existing OAuth2 JWT Bearer integrations continue to use the authorization grant flow as before.

  • For new SMART Backend Services or Epic integrations: Select "Client authentication" in the Assertion Usage field to use the private_key_jwt client credentials flow these providers require.

v2.201.10 - Developer Console: Topbar Navigation and Breadcrumb Improvements (July 2026)

Topbar Navigation and Breadcrumb Improvements

The Developer Console topbar has been updated with improved navigation controls, a proper breadcrumb trail, and refined hover states.

What changed:

  • Full breadcrumb navigation. The topbar now displays an absolute breadcrumb path from Home to the current page, with clickable parent crumbs. On deep routes, middle crumbs collapse first when the bar runs out of room, while Home and the current page stay pinned and visible.

  • Back and forward navigation buttons. The text chevron characters have been replaced with proper back and forward navigation buttons. The buttons are availability-aware - they render disabled when there is no navigation history in that direction, and gain a hover fill when navigation is available.

  • Divider before navigation chevrons. A vertical divider now separates the sidebar collapse button from the back/forward navigation group, improving visual grouping.

  • Hover fill on collapse button. The sidebar collapse button now shows a background fill on hover, consistent with the navigation buttons.

  • Responsive Docs button. The Docs button is hidden on extremely narrow viewports to prevent navigation icons from overlapping.

  • Consistent design tokens. The topbar now uses standard design tokens for colors, borders, and hover states instead of custom CSS variable references.

What you need to do:

  • No action required. These are visual and interaction improvements that apply automatically. No configuration changes are needed.

v2.201.9 - Developer Console: Operator Identity Resolved from Authenticated User (July 2026)

Operator Identity Resolved from Authenticated User

The Command Center now resolves the acting operator identity from the signed-in user's account rather than allowing manual selection. This closes a security gap where any user could pick any operator profile and act on their behalf during escalations. The server now also enforces identity matching on all operator action endpoints, so even modified clients cannot submit operator actions attributed to a different user.

What changed:

  • Operator identity resolved automatically. The Command Center matches the authenticated user's email to their operator profile in the workspace. There is no longer a picker that lets a user choose which operator to act as.

  • No localStorage-based identity. Previously, the selected operator ID was stored in the browser and trusted on subsequent visits. Operator identity is now derived from the authenticated session on every load.

  • Server-side enforcement. All operator action endpoints now verify that the caller's authenticated identity matches the target operator profile. Even if a client sends a mismatched operator ID, the server rejects the request with 403 Forbidden. See the API changelog for details.

  • Clear error states. If the signed-in user has no operator profile linked to their email in the workspace, the Command Center displays a message explaining that an administrator needs to add them in the Operators tab. If the user is not signed in, a message prompts them to sign in with their operator account.

  • Security improvement. The previous free-choice picker allowed any authenticated user to impersonate any operator for join-call, guidance, and wrap-up actions. This is no longer possible - you can only operate as yourself, enforced both client-side and server-side.

What you need to do:

  • Ensure operator profiles have correct email addresses. The platform matches operator profiles by email. If an operator's profile does not have the same email as their sign-in account, they will not be able to access the Command Center. Ask your workspace administrator to verify operator email addresses in the Operators tab.

  • No action required if emails already match. If your operators sign in with the same email address listed on their operator profiles, the transition is transparent.

v2.201.8 - Developer Console: Real Rejected Stat and Timeline Timestamps in Review Queue (July 2026)

Real Rejected Stat and Timeline Timestamps in Review Queue

The review queue dashboard now shows the actual Rejected count instead of a placeholder metric, and the review item sidebar displays full date-and-time timestamps instead of date-only values.

What changed:

  • Rejected stat replaces placeholder. The review queue dashboard previously displayed a hardcoded "In Progress" metric that always showed zero (no data source existed for it). This has been replaced with a "Rejected" metric that shows the real count of rejected review items. The Rejected count is part of the total item count already displayed on the dashboard.

  • Full timestamps in review item timeline. The Created, Updated, and Completed timestamps in the review item sidebar now display both date and time (for example, "7/15/2026, 2:30:00 PM") instead of date only ("7/15/2026"). This gives operators precise timing for when review items moved through each stage.

What you need to do:

  • No action required. Both changes appear automatically for all users with access to the review queue. No configuration changes or new permissions are needed.

  • Update any references to "In Progress" metric. If you have internal documentation or training materials that reference the "In Progress" metric on the review queue dashboard, update them to reference "Rejected" instead.

v2.201.7 - Developer Console: SSE-Drop Banner and Guidance Send Guard in Command Center (July 2026)

SSE-Drop Banner and Guidance Send Guard in Command Center

The Command Center now warns operators when live queue updates are interrupted, and prevents duplicate guidance messages from being sent to agents during takeover.

What changed:

  • SSE-drop warning banner. When the live event stream disconnects during an active takeover session, a warning banner appears at the top of the Command Center: "Live queue updates paused - reconnecting. New escalations and queue changes may not appear until the connection is restored." The banner disappears automatically when the connection is restored.

  • Guidance send guard. The guidance input now prevents duplicate sends when an operator presses Enter or clicks Send rapidly. While a guidance message is in flight, the input is disabled and the Send button is grayed out, so a second press cannot enqueue a duplicate message. This guard operates at the source - even non-UI callers cannot trigger a duplicate send while one is already pending.

  • Guidance error feedback. If a guidance message fails to send, an inline error message appears below the input: "Guidance failed to send - try again." The error clears automatically when the operator switches calls or the takeover session disconnects, so a prior call's failure cannot bleed into the active call's status.

What you need to do:

  • No action required. The SSE-drop banner and guidance send guard appear automatically for all operators with Command Center access. No configuration changes or new permissions are needed.

v2.201.6 - Developer Console: Fleet Capacity "Updated Ago" Timestamp (July 2026)

Fleet Capacity "Updated Ago" Timestamp

The Fleet Capacity widget on the Active Calls page now displays a live-ticking "updated ago" timestamp showing how recently the fleet status data was refreshed.

What changed:

  • Live "updated ago" label. The Fleet Capacity widget now shows a continuously ticking label below the capacity breakdown indicating when the data was last refreshed (for example, "Updated 3s ago"). The label updates every second so operators can see at a glance whether the data is current.

  • Polling cadence note. The label includes a note that the widget polls for fresh data periodically, giving operators context for how often the numbers refresh.

  • Shared duration component. The active call duration display now uses the same shared live-ticking duration component used elsewhere in the Operations section, ensuring consistent formatting and behavior across the platform. The component now accepts an optional CSS class for styling flexibility.

What you need to do:

  • No action required. The updated ago timestamp and consistent duration display appear automatically for all users with access to the Active Calls page. No configuration changes or new permissions are needed.

v2.201.5 - Developer Console: Live-Ticking Duration on Runs Table (July 2026)

Live-Ticking Duration on Runs Table

The Duration column on the unified Runs table now ticks in real time for active runs, so operators can watch elapsed time update live without refreshing the page.

What changed:

  • Live duration for active runs. Runs that are still in progress (no end time recorded) now display a continuously updating elapsed timer in the Duration column. The timer counts up from the run's start time, updating every second.

  • Static duration for completed runs. Runs that have ended continue to show the static elapsed wall-clock duration (start to end), unchanged from previous behavior.

  • Tabular number formatting. The live duration uses tabular numerals so digits do not shift as the timer ticks, keeping the column visually stable.

  • Fade-in transition on the table. The Runs table now fades in when it loads, providing a smoother visual transition.

What you need to do:

  • No action required. The live-ticking duration appears automatically for all users who can see the Runs table. No configuration changes or new permissions are needed.

v2.201.4 - Developer Console: Caller, Outcome, Turns, and Direction Columns on Runs Table (July 2026)

Caller, Outcome, Turns, and Direction Columns on Runs Table

The unified Runs table now displays four additional columns for conversation runs: Caller, Outcome, Turns, and Direction.

What changed:

  • Caller column. Shows the resolved caller identity when available, falling back to the raw contact number. Displays a dash when neither is present.

  • Outcome column. Shows how the conversation ended (the completion reason), formatted as a human-readable label. Displays a dash when the outcome is not available.

  • Turns column. Shows the number of conversational turns as an integer. Sorts numerically so that 10 sorts after 9. Displays a dash when the turn count is not available.

  • Direction column. Shows whether the conversation was inbound or outbound, formatted as a human-readable label. Displays a dash when the direction is not available.

  • All columns are optional. Framework runs and conversation runs without enrichment data display a dash in each column. No columns are removed or reordered - the new columns appear between the existing columns in the table.

What you need to do:

  • No action required. The new columns appear automatically for all users who can see the Runs table. No configuration changes or new permissions are needed.

v2.201.3 - Developer Console: Operator Takeover - Real Audio Levels, LIVE Banner, and Go-Live Confirmation (July 2026)

Operator Takeover - Real Audio Levels, LIVE Banner, and Go-Live Confirmation

The Command Center now displays real audio levels during operator takeover, shows a prominent LIVE banner when the operator is speaking to the patient, and requires explicit confirmation before going live.

What changed:

  • Real audio levels. The audio meters in the Command Center now reflect actual audio levels from the call instead of synthetic placeholder values. Two meters are displayed: "You" (operator microphone input level) and "Call" (everything the operator hears). The browser-side audio leg cannot separate agent and patient audio, so the outbound meter is labeled "Call" rather than showing fabricated per-party meters.

  • LIVE banner. When the operator is in takeover mode (speaking directly to the patient), a prominent red banner appears at the top of the Command Center with the text "LIVE - the patient can hear you" and instructions to press Talk again or Mute to stop speaking. The banner is visible for the entire duration the operator's microphone is unmuted to the patient.

  • Go-live confirmation dialog. Switching from listen mode to takeover mode now requires explicit confirmation through a dialog. The dialog warns that the operator is about to unmute and speak directly to the patient on the live call, and that the agent stops responding while the operator drives the conversation. This confirmation applies both when clicking the Talk button and when using the keyboard shortcut. Switching back from takeover to listen mode (muting) applies immediately with no confirmation, since muting is the safe direction.

What you need to do:

  • No action required. These changes apply automatically to all Command Center sessions. No configuration changes or new permissions are needed.

v2.201.2 - Developer Console: Per-Run Detail Navigation on Unified Runs Table (July 2026)

Per-Run Detail Navigation on Unified Runs Table

Clicking a row in the unified Runs table now navigates to the run's detail page, restoring the drill-down behavior that existed in the previous separate conversations and calls tables.

What changed:

  • Row click opens run detail. Clicking a conversation run row in the Runs table opens the detail view for that run. Voice conversation runs open the call detail page; non-voice conversation runs open the conversation detail page. This restores the per-run navigation that was available in the pre-unification text conversations and voice calls tables.

  • Framework runs are not clickable. Framework run rows do not navigate anywhere on click, as framework runs do not yet have a dedicated detail page.

What you need to do:

  • No action required. Row click navigation works automatically. No configuration changes or new permissions are needed.

v2.201.1 - Developer Console: Server-Authoritative Filters and Defensive Rendering on Runs Table (July 2026)

Server-Authoritative Filters and Defensive Rendering on Runs Table

The unified Runs table now delegates all column filtering to the server and handles unexpected values from the API gracefully.

What changed:

  • Column filters are fully server-authoritative. Kind, channel, and status filters are now applied exclusively by the API. Previously, the table could re-filter rows client-side after the API had already returned the correct result set, which caused rows to disappear when a filter value (such as the virtual "live" status) did not match any client-side row data. Client-side column re-filtering is now off - the table trusts the API response.

  • Defensive badge rendering. Channel and status badges now fall back gracefully when the API returns a value the current build does not recognize. An unknown channel displays the raw channel value instead of a generic label; an unknown status displays a neutral badge instead of causing a rendering error. This prevents display issues when the API introduces new channels or statuses ahead of a console release.

  • GA voice-channel scoping. General-availability users continue to see conversation runs excluding voice. Voice conversation rows are now filtered at the display layer as a UX scope guard, consistent with the prior text-conversations scope. This is not a confidentiality boundary - the filter is a UI convenience that mirrors the GA feature set.

  • Pagination stability. The infinite-scroll pagination counter uses the total loaded row count (before any client-side display filtering) so that the fill-viewport logic and the server's continuation token stay in agreement.

What you need to do:

  • No action required. These are rendering and filtering improvements with no configuration changes or new permissions needed.

v2.201.0 - Developer Console: Unified Runs Table with Server-Side Filters (July 2026)

Unified Runs Table with Server-Side Filters

The Runs page now displays a single filterable table over every run in the workspace - context-graph conversations (voice, text, SMS, email, web) and framework runs (partner agent frameworks) - backed by the unified runs endpoint. This replaces the previous three-tab layout.

What changed:

  • One table, all runs. The Runs page under Operations now shows a single table that includes both conversation runs and framework runs. The previous three-tab layout (Text conversations, Voice calls, Framework runs) has been removed.

  • Server-side filters. Filter dropdowns for Kind (conversation or framework), Channel (voice, text, SMS, email, web), and Status (live, running, paused, completed, failed, timed out) push the selected value down to the API as a server-side filter. Selecting a single value in any dropdown filters at the API level; selecting multiple values filters the loaded rows client-side.

  • Type column. Each row shows a Type column that displays a channel badge for conversation runs (e.g., Voice, Text, SMS) or a framework badge for framework runs, replacing the separate framework column from the old Framework runs tab.

  • Status badges. Run statuses are displayed as color-coded badges - running shows an info tone, paused shows warning, completed shows success, and failed or timed-out shows error.

  • Duration column. Each row shows the elapsed wall-clock duration computed from start and end timestamps. Runs that are still live show a dash.

  • Internal vs. GA visibility. Internal users (Amigo staff) see all filter axes and all run types. General-availability users are scoped to conversation runs excluding voice - the kind filter is hidden, voice is excluded from the channel filter, and the query is pinned to conversation runs. This mirrors the prior GA "Text conversations" scope.

  • Cursor-based pagination. The table supports infinite-scroll pagination with opaque continuation tokens. The default page size is 50 runs per page (up from 20 in the previous framework runs tab).

  • Replaces three-tab layout. The previous tabs (Text conversations backed by the conversations endpoint, Voice calls backed by the calls endpoint, Framework runs backed by the agent-runs endpoint) have been consolidated into one table backed by the unified runs endpoint.

What you need to do:

  • No action required. All runs appear automatically in the unified table. No configuration changes or new permissions are needed. If you previously used the Framework runs or Voice calls tabs, those runs now appear in the same table alongside text conversations, filterable by Kind and Channel.

v2.200.0 - Developer Console: Framework Runs Table on Unified Runs Surface (July 2026)

Framework Runs Table on Unified Runs Surface

The Framework runs tab on the unified Runs page now displays a real data table of framework agent runs (claude-agent-sdk and openai-agents) instead of the previous placeholder. Runs are listed as they execute in the workspace, with pagination support for large result sets.

What changed:

  • Framework runs table. The Framework runs tab under Operations > Runs now shows a table of all framework agent runs in the workspace. Each row displays the framework, status, token usage (input and output), step count, duration, and start time.

  • Status badges. Run statuses are displayed as color-coded badges - success states show green, error and failure states show red, and unrecognized or missing statuses degrade gracefully to a muted badge rather than causing errors.

  • Token usage display. Each row shows input and output token counts in a compact format, making it easy to scan token consumption across runs.

  • Cursor-based pagination. The table supports "Load more" pagination for workspaces with many runs. The page size defaults to 20 runs per page.

  • Replaces placeholder. The previous placeholder message ("Framework runs aren't listed yet") has been removed. The tab now shows real run data from the durable agent-runs read model.

What you need to do:

  • No action required. Framework runs appear automatically once they execute in your workspace. No configuration changes or new permissions are needed.

v2.199.0 - Developer Console: Honest Raw-Transcript Fallback for Voice Conversation Detail (July 2026)

Honest Raw-Transcript Fallback for Voice Conversation Detail

The voice conversation detail page now detects when per-turn transcripts are unavailable and displays the raw recognized transcript honestly instead of rendering a single misleading system message.

What changed:

  • Raw-transcript fallback detection. When a voice call's turn-by-turn log was not retained (the live session expired and no durable per-turn record was found), the platform previously displayed a single system message containing the entire recognized transcript. This appeared as one chat bubble labeled "System" even when the call had many turns, which was misleading. The detail page now detects this condition and renders a dedicated notice instead.

  • Transcript notice panel. When the fallback is detected, the page shows a notice explaining that per-turn transcripts are unavailable, states how many turns the call actually had, and displays the raw recognized transcript in a clearly labeled block. If no transcript was recorded, the panel indicates that as well.

  • No change to normal calls. Calls with full per-turn transcripts continue to render the standard turn-by-turn conversation view.

What you need to do:

  • No action required. The fallback detection and notice are automatic. No configuration changes or new permissions are needed.

v2.198.0 - Developer Console: World-Model Lens on Conversation Detail (July 2026)

World-Model Lens on Conversation Detail

The conversation detail page now includes a world-model interaction panel and framework attribution, giving operators an aggregate view of how the agent read and wrote against the world model during a conversation.

What changed:

  • World-model interaction panel. The text conversation detail view now shows a dedicated panel summarizing the conversation's world-model activity: total reads and writes, which tools were used for each, the anchor entity, and any failed tool calls. This is an aggregate view across all turns - the transcript still shows tool calls turn by turn.

  • Capabilities and write-floor panel. Alongside the interaction summary, a second panel displays the harness capabilities and enforced write floor for the bound service, including the available read and write tools and the clinical write principal. If no service is bound to the conversation, the panel indicates that capabilities cannot be resolved.

  • Framework attribution badge. Each conversation now displays a framework badge on the detail page header, identifying which runtime produced the conversation. All conversations through the standard conversation path are attributed to the context-graph framework.

What you need to do:

  • No action required. The new panels appear automatically on the text conversation detail page. No configuration changes or new permissions are needed.

v2.197.0 - Developer Console: Unified Runs Surface (July 2026)

Unified Runs Surface

The Developer Console now has a unified Runs page that brings text conversations, voice calls, and framework runs into a single surface with tabbed navigation. This replaces the separate Conversations and Agent Trace sidebar entries with one "Runs" entry under Operations.

What changed:

  • New Runs page. A new page at /{workspace}/runs provides a tabbed view of all agent runs. The Text conversations tab is available to all users and shows the same conversations table previously found under the standalone Conversations page. The Voice calls and Framework runs tabs are visible to Amigo staff only (matching the previous Agent Trace visibility gate).

  • Sidebar updated. The Operations section now leads with "Runs" instead of separate "Conversations" and "Agent Trace" entries. The Runs entry highlights when you are on the Runs page, the Conversations page, or the Agent Trace page, so existing bookmarks and deep links continue to work.

  • Agent Trace still accessible. The Agent Trace page remains at its existing URL and continues to show the voice call review list. It is no longer a separate sidebar entry - voice call review is accessed through the Voice calls tab on the Runs page instead.

  • Framework runs placeholder. The Framework runs tab displays a placeholder indicating that framework runs from partner SDKs are not yet listed in this surface. Individual runs remain inspectable through the API and the Framework Runs panel under Evaluation.

What you need to do:

  • No action required. All existing URLs continue to work. The Conversations page and Agent Trace page are still accessible at their original paths. The sidebar navigation has been consolidated, but no functionality has been removed.

v2.196.0 - Developer Console: Unified Testing Under Evaluation + Voice Library Moved to Tools (July 2026)

Unified Testing Under Evaluation + Voice Library Moved to Tools

The Developer Console sidebar has been reorganized so all testing and evaluation surfaces live under a single Evaluation section, and the Voice Library has moved from the Agents section to the Tools section.

What changed:

  • Playground moved to Evaluation. The Playground now lives under the Evaluation section (subtitled "Try, test, and measure agent quality") rather than Operations. This gives "where do I test my agent?" a single answer - the Playground, simulations, case libraries, and quality metrics are all grouped together.

  • Operations updated. The Operations section (subtitled "Watch live and past runs") now leads with Runs (the unified run surface that replaced the separate Conversations and Agent Trace entries). Playground is no longer listed here.

  • Voice Library moved to Tools. The Voice Library has moved from the Agents section to the Tools section (subtitled "Capabilities agents use - tools, skills, integrations, voices"). Voice assets are capabilities that agents use, so they sit alongside tools, skills, and integrations.

What you need to do:

  • No action required. This is a navigation reorganization only. All pages remain at the same URLs. No workflows, API interactions, or functionality have changed - only the sidebar grouping has been updated.

v2.195.0 - Developer Console: Plain-Language Section Descriptions in Sidebar (July 2026)

Plain-Language Section Descriptions in Sidebar

The Developer Console sidebar now displays a short, plain-language subtitle beneath each navigation section header, so a new enterprise admin can understand the purpose of each section at a glance without needing to learn platform-specific terminology.

What changed:

  • Section descriptions added. Every top-level navigation group in the sidebar now shows a one-line description beneath its title. For example, the Agents section reads "Build agents on any framework," the Tools section reads "Capabilities agents use - tools, skills, integrations, voices," and the Evaluation section reads "Try, test, and measure agent quality."

  • Hidden when collapsed. When the sidebar is collapsed to icon-only mode, the descriptions are hidden along with the section titles, keeping the compact view uncluttered.

  • All sections covered. Descriptions are provided for Home, Agents, Tools, World Model, Operations, Deployment, Evaluation, Engagement, Data, Governance, Sensorium, Workspace, Admin, and Conversations (operator view).

What you need to do:

  • No action required. This is a display-only enhancement to the sidebar navigation. No URLs, workflows, or API interactions have changed.

v2.194.0 - Developer Console: Per-Service World Model and Capabilities Panel (July 2026)

Per-Service World Model and Capabilities Panel

The agent detail page now includes a World Model & Capabilities panel that shows the tools and world-model scope an agent binds to when deployed in a given service. Because tool bindings in the Amigo Agent Framework are service-scoped, the panel lets you select one of the agent's referencing services and inspect its harness context.

What changed:

  • New World Model & Capabilities card. The agent detail page now displays an expandable card below the version list. When the agent is deployed in at least one service, the card shows the harness context for the selected service - read tools, write tools, clinical write principal, clinical scope, and enforcement point.

  • Service selector. A dropdown at the top of the card lets you switch between services that reference the agent. The panel fetches the harness context for the selected service and updates the displayed tools and write-floor information.

  • Empty state guidance. If the agent is not deployed in any service, the card displays a message explaining that tools bind per service and that deploying the agent in a service will populate this panel.

What you need to do:

  • No action required. This is a display-only enhancement to the existing agent detail page. No URLs, workflows, or API interactions have changed.

v2.193.0 - Developer Console: Framework Badge on Service Detail (July 2026)

Framework Badge on Service Detail

The Service detail page now displays the framework of the bound agent directly in the Linked Resources card, so you can see which framework powers the service without navigating to the agent detail page.

What changed:

  • Framework badge in Linked Resources. The Service detail page now includes a Framework row in the Linked Resources card, showing a branded framework badge for the agent bound to the service. This surfaces the same framework information available on the agent detail and unified agents list, but in the context of the service that deploys it.

What you need to do:

  • No action required. This is a display-only enhancement to the existing Service detail page. No URLs, workflows, or API interactions have changed.

v2.192.0 - Developer Console: Agent Detail Redesign Phase 2 - Framework Badge and Capabilities (July 2026)

Agent Detail Redesign Phase 2 - Framework Badge and Capabilities

The agent detail pages now surface framework information and native capabilities directly, closing two visibility gaps in the agent detail experience.

What changed:

  • Framework badge on platform agent detail. The agent sidebar now displays the framework badge for platform agents, so the authoring framework is visible without navigating back to the agent list.

  • Capabilities card on native agent definition detail. The definition detail page now includes a Capabilities section that displays the world tools allowed by the definition's latest version. If the definition has no versions yet, the card indicates that capabilities are defined per version. If the latest version allows no world tools, the card states that explicitly.

  • Version-level capability resolution. Capabilities are fetched from the latest version of the definition, reflecting the fact that allowed world tools are authored per version for native definitions.

What you need to do:

  • No action required. These are display-only enhancements to existing detail pages. No URLs, workflows, or API interactions have changed.

v2.191.0 - Developer Console: Unified Agents List (July 2026)

Unified Agents List

The Agents page now shows a single, unified list of agents across all four supported frameworks - Amigo Agent Framework, OpenAI SDK, Anthropic SDK, and OpenAI Realtime - replacing the previous split between the Agents list and the separate Native Agents registry page.

What changed:

  • Unified agent table. The Agents page now merges platform agents and native (bring-your-own-framework) agent definitions into a single table. Each row displays the agent's framework (with branded badge), name, status, and last-updated time. Clicking a row navigates to the appropriate detail page based on the agent's framework.

  • Framework filter. A new framework dropdown above the table lets you filter agents by framework (All frameworks, Amigo Agent Framework, OpenAI SDK, Anthropic SDK, OpenAI Realtime). Client-side search by name or ID is also available.

  • New Agent button with framework picker. A "New Agent" button opens a dialog where you choose which framework to author on. Each option shows the framework badge and a short description of the authoring path, then routes you to the corresponding authoring surface (Context Graphs for Amigo Agent Framework, Native Agents registry for OpenAI SDK and Anthropic SDK, Services for OpenAI Realtime).

  • Native Agents sidebar item removed. The separate "Native Agents" navigation item has been removed from the sidebar. Native agent definitions are now accessed through the unified Agents list. The agent-definitions detail route is still reachable by clicking a native agent row, and the sidebar keeps the Agents item active when viewing a native definition detail page.

  • Updated page description. The Agents page description now reflects the multi-framework scope: "Agents across every framework - Amigo Agent Framework, OpenAI SDK, Anthropic SDK, and OpenAI Realtime."

  • Agent definition detail improvements. The definition detail page now includes a copy button next to the definition ID and uses improved typography for the empty-versions state. The back button label has been simplified from "Back to Native Agents" to "Back to Agents."

  • Truncation indicator. When the number of agents from any single source exceeds the display limit, a note appears below the table indicating that results are capped and suggesting the framework filter or search to narrow results.

What you need to do:

  • No action required. All existing pages remain at the same URLs. The Native Agents detail pages are still accessible; only the sidebar entry point and the list page have changed. If you had bookmarked the Native Agents list page, use the main Agents page instead and filter by framework.

v2.190.0 - Developer Console: Layered Navigation and Framework Branding (July 2026)

Layered Navigation and Framework Branding

The Developer Console sidebar navigation has been further refined to express a layered stack - Frameworks, Capabilities, World Model - and framework references throughout the console now display branded logos alongside their labels.

What changed:

  • Layered sidebar navigation. The sidebar sections now express a three-layer stack that separates what agents are built on, what they can do, and what they act on:

    • Agents (Frameworks layer) - Author an agent on any of the four supported frameworks. Includes the agent list, Native Agents registry, Context Graphs, and Voice Library.

    • Tools (Capabilities layer) - What agents can do. Tools, Skills, and Integrations are consolidated here. Skills and Integrations are accessible via the Tools page tab bar and the command palette; the sidebar entry point is "Tools."

    • World Model (Substrate layer) - The durable state agents act on. Agent Memory and Entity Browser live here. Tools have moved up to the new Tools section.

    • Operations - Observe and operate what agents are doing, live and historical. Playground, Conversations, Trace, and Review live here. This section was previously named "Runs."

    • Evaluation - Test and measure agent quality. Simulations, case libraries, and related items live here. Previously named "Simulations."

    • Engagement - Proactive outreach and patient-facing surfaces. Previously named "Outbound."

    • Governance - Compliance posture and audit trail. Previously named "Reports."

  • Framework logos and branded labels. Agent definitions, the definitions table, and run detail now display a framework logo alongside each framework name. The four supported frameworks display as "Amigo Agent Framework," "OpenAI SDK," "Anthropic SDK," and "OpenAI Realtime" with their respective brand marks. Previously, frameworks were shown as plain text badges.

  • Consistent framework label taxonomy. Framework labels are now sourced from a single taxonomy across all console surfaces (agent definitions list, definition detail, run results). The labels "Claude Agent SDK" and "OpenAI Agents SDK" have been renamed to "Anthropic SDK" and "OpenAI SDK" respectively for consistency with the vendor brand names.

  • Integrations moved from Workspace to Tools. The Integrations palette entry has moved from the Workspace section to the Tools section, reflecting its role as a capability rather than a workspace setting.

What you need to do:

  • No action required. All existing pages remain at the same URLs. The changes affect sidebar navigation grouping, section names, and framework display formatting. No workflows or endpoints have changed.

v2.189.0 - Developer Console: Framework-Agnostic Navigation and Native Agents Registry (July 2026)

Framework-Agnostic Navigation and Native Agents Registry

The Developer Console sidebar navigation has been reorganized to reflect the framework-agnostic world-model architecture, and a new Native Agents registry page lets you browse and inspect bring-your-own-framework agent definitions.

What changed:

  • Reorganized sidebar navigation. The sidebar sections now follow a framework-agnostic information architecture. The previous section ordering (Home, Agents, Conversations, Simulations, Outbound, Data, Reports, Workspace) has been replaced with a structure that separates authoring, world model, runs, and deployment concerns:

    • Agents - Author agents of any framework. Includes the agent list, the new Native Agents registry, Context Graphs, and Voice Library.

    • World Model - The substrate agents bind to. Tools, Agent Memory, and Entity Browser now live here (previously under Agents or Data).

    • Runs - What agents did, regardless of framework. Playground, Conversations, Trace, and Review live here. This section was previously named "Conversations."

    • Deployment - Binding an agent to channels. Services has moved here from the Agents section.

  • New Native Agents page. A new "Native Agents" item in the Agents section opens a registry of bring-your-own-framework agent definitions (Claude Agent SDK, OpenAI Agents SDK). The list page shows each definition's name, framework, and status with infinite-scroll pagination. Clicking a definition opens a detail page showing the definition metadata, all immutable versions, and per-version details (agent count, write-tool indicator, validator revision, and body hash).

  • Agent Memory and Entity Browser moved to World Model. These items previously appeared under the Data section. They now sit under World Model alongside Tools, reflecting their role as the world state that agents read and write.

  • Services moved to Deployment. The Services item previously appeared under Agents. It now sits under Deployment, separating the concern of authoring an agent from deploying one.

What you need to do:

  • No action required. All existing pages remain at the same URLs. The changes affect only sidebar navigation grouping and ordering. The new Native Agents pages are available automatically.

v2.188.0 - Developer Console: Framework Runs - Native Definition Runs and Actor Badges (July 2026)

Framework Runs - Native Definition Runs and Actor Badges

The Framework Runs panel on the service detail page now supports launching native agent definition runs and displays actor attribution badges on trajectory steps.

What changed:

  • Run source selector. A new Source dropdown at the top of the Framework Runs form lets you choose between two run modes: "This service's agent" (the existing platform run path) and "Native definition (bring your own)" (a new native run path). Platform runs remain the default.

  • Native definition runs. When you select the native source, the framework and version set fields are replaced by a free-form JSON editor where you paste your own agent definition document. The definition must include a framework field and conform to the platform's clamp schema. Invalid JSON is caught client-side before submission; server-side validation returns detailed errors for schema violations.

  • Actor badges on trajectory steps. Each trajectory step now shows an actor badge when the step includes actor attribution. In multi-agent runs (handoff graphs, subagent delegations), this badge identifies which agent within the definition produced the step, making cross-agent trajectories easier to read.

  • SDK updated to 0.86.0. The platform SDK dependency has been updated to 0.86.0, which includes the native run request shape and optional framework field.

What you need to do:

  • No action required. The source selector, native config editor, and actor badges appear automatically on the Framework Runs panel. To try a native run, switch the source to "Native definition," paste a valid definition JSON, enter a message, and launch the run.

v2.187.0 - Developer Console: Framework Runs - Cache Token Usage and Two-Column Form Layout (July 2026)

Framework Runs - Cache Token Usage and Two-Column Form Layout

The Framework Runs panel on the service detail page now displays granular cache token usage and uses a more compact two-column form layout.

What changed:

  • Cache token usage in run results. When a completed run includes cache-read or cache-write token counts, the token usage line now shows these alongside standard input and output counts (e.g., "Tokens: 150 in - 200 out - 1,000 cache read - 500 cache write"). Cache entries appear only when non-zero, so runs without caching remain compact.

  • Two-column form layout. The Framework and Version Set fields now sit side by side on wider screens, matching the form layout conventions used elsewhere on the service page. The message field retains full width below.

  • SDK updated to 0.85.0. The platform SDK dependency has been updated to 0.85.0, which includes the cache token fields in the run usage model.

What you need to do:

  • No action required. The updated layout and cache token display appear automatically on the Framework Runs panel.

v2.186.0 - Developer Console: Framework Runs Panel on Service Detail Page (July 2026)

Framework Runs Panel on Service Detail Page

The service detail page in the Developer Console now includes a Framework Runs panel that lets you dispatch and monitor partner-framework agent runs directly from the console.

What changed:

  • New Framework Runs card. A new card appears on the service detail page with a form to launch an agent run against an external framework. You select a framework (Claude Agent SDK or OpenAI Agents SDK), specify a version set (defaults to release), enter a user message, and click Launch Run.

  • Live run polling. After dispatch, the panel polls the run status automatically. While the run is in progress, a spinner and status badge indicate the current state. Polling stops when the run reaches a terminal status (succeeded, failed, or timed out).

  • Run results inline. When a run completes, the panel displays the outcome - status badge, framework label, duration, token usage (input and output), and the agent's final text for successful runs. Failed and timed-out runs show the error message.

  • Trajectory steps. If the run produced trajectory steps, they are listed below the result with step kind badges and content previews, so you can see the sequence of actions the framework agent took.

  • Framework selection. The framework dropdown lists the two supported frameworks with human-readable labels. The default selection is Claude Agent SDK.

What you need to do:

  • No action required. The Framework Runs panel appears automatically on every service detail page. Select a framework, enter a message, and launch a run to test your service's agent configuration against an external framework.

v2.185.0 - Developer Console: Background Tools Fleet Capacity Widget on Active Calls Page (July 2026)

Background Tools Fleet Capacity Widget on Active Calls Page

The Active Calls page in the Developer Console now displays a second fleet capacity widget showing the isolated background-tool runner fleet alongside the existing voice fleet widget.

What changed:

  • Background Tools fleet widget. A new fleet capacity strip labeled "Background Tools Fleet" appears below the existing Voice Fleet Capacity strip on the Active Calls page. It shows the same capacity metrics - ready, allocated, total, headroom - but scoped to the isolated fleet that executes background tool runs.

  • Distinct labels. The allocated count on the background-tools widget is described as "running tools" rather than "live calls" to reflect what the fleet handles. The title reads "Background Tools Fleet" instead of "Voice Fleet Capacity."

  • Independent polling. Each widget polls its fleet independently on the same interval, and the two widgets never share cached data, so the numbers always reflect the correct fleet.

What you need to do:

  • No action required. The widget appears automatically on the Active Calls page. Operators monitoring fleet capacity now see both fleets at a glance.

v2.184.0 - Developer Console: Destinations Tab in Intake - Trigger Customer Data Materialization (July 2026)

Destinations Tab in Intake

The Intake tab under Data Sources now includes a Destinations segment that shows each dataset's materialized destination table and lets you trigger the customer data materializer directly from the console.

What changed:

  • New Destinations segment. A fifth segment - Destinations - has been added to the Intake tab (alongside Uploads, Schemas, Sources, and Batches). It lists every registered dataset with its ingestion mode (snapshot or document), materialization status, row count, and last-materialized time.

  • Per-dataset materialization. Each dataset row includes a Materialize button that triggers materialization for that single dataset. A toast notification confirms the run was started.

  • Materialize all curated. A top-level "Materialize all curated" button triggers materialization for every curated dataset in the workspace in a single run.

  • Refresh. A Refresh button reloads the destinations list so you can check for updated row counts and timestamps after a run completes.

  • Async feedback. Materialization runs asynchronously. The UI indicates which dataset (or all datasets) is being materialized and disables additional triggers until the current request completes. Errors are surfaced in a toast notification.

What you need to do:

  • No action required. The Destinations segment is available automatically. Navigate to Data Sources, open the Intake tab, and select the Destinations segment to view and trigger materialization.

v2.183.0 - Developer Console: Live Agent Messages After Deferred Tool Completion in Text Playground (July 2026)

Live Agent Messages After Deferred Tool Completion in Text Playground

When a deferred tool completes in the background and the agent produces a follow-up message outside the normal turn cycle, that message now appears live in the text playground conversation timeline - without waiting for the next user turn or a page refresh.

What changed:

  • Out-of-band agent messages rendered live. After a deferred (background) tool completes, the agent may narrate a follow-up answer outside the synchronous turn cycle. Previously, this message only appeared after a page refresh or the next user turn. Now it appears in the conversation timeline as soon as the platform delivers it.

  • Workspace event stream subscription. The playground subscribes to workspace-level agent message events alongside the existing background completion events. Messages belonging to a different conversation or arriving after the session ends are silently ignored.

  • Deduplication at render. If the agent's out-of-band message echoes text already shown from a synchronous turn reply, the duplicate is suppressed at render time so messages are never shown twice.

  • On-turn refresh as catch-up. The existing on-turn refresh path continues to serve as a catch-up mechanism, so no messages are lost even if the live event is missed.

What you need to do:

  • No action required. The change is automatic. Deferred tool completions that trigger agent follow-up messages now surface immediately in the text playground.

v2.182.0 - Developer Console: Tool Dispatch Axes on Context Graph Bindings; Delivery Removed from Skill Editor (July 2026)

Tool Dispatch Axes on Context Graph Bindings

Tool bindings in the context graph editor now expose three orthogonal dispatch axes - Execution, Delivery, and Lifecycle - alongside the existing Result persistence selector. Delivery mode has been removed from the skill creation form because it is now authored per state-tool binding on the context graph.

What changed:

  • Three dispatch axes per tool binding. Each tool attached to a context graph state now shows four selectors in a grid: Execution (Blocking or Background), Delivery (Interrupt or Queue), Lifecycle (Independent or Coupled), and Result (Accumulate or Override). These replace the previous single Result persistence dropdown.

  • Sensible defaults. New tool bindings default to Blocking / Interrupt / Independent / Accumulate, which reproduces the historical inline behavior. Existing graphs that do not set these fields behave identically to before.

  • Background + Queue prevented. Selecting Background execution automatically snaps Delivery back to Interrupt and disables the Queue option, because a backgrounded result that is queued would never reach the user.

  • Coupled lifecycle explanation. Selecting Coupled lifecycle displays an inline note: if the conversation moves on before the tool finishes, its result is dropped instead of folded in. This applies to text channels only - voice keeps its own call-teardown rule.

  • Delivery removed from skill editor. The Delivery dropdown (Interrupt / Queue) has been removed from the skill creation form. Delivery is now controlled per tool binding in the context graph, not on the skill itself.

  • Sparse storage. Dispatch axes at their default values are omitted from the stored configuration, keeping stored context graph versions compact.

What you need to do:

  • No action required for existing graphs. Defaults match the previous behavior. Existing tool bindings without explicit dispatch axis values continue to work as before.

  • Review skill templates. If you relied on the skill-level Delivery setting, note that delivery is now configured per tool binding in the context graph editor.

v2.181.0 - Developer Console: Sortable "Uploaded at" Column in Intake Files List (July 2026)

Sortable "Uploaded at" Column in Intake Files List

The Files list in the Intake tab now lets you sort by upload time, so you can quickly find the most recent or oldest uploads.

What changed:

  • Sortable column header. The "Uploaded at" column header is now a toggle button. Clicking it switches between newest-first and oldest-first sort order. A directional arrow on the header indicates the current sort direction.

  • Newest-first by default. The Files list defaults to newest-first, so recently uploaded files and version bumps appear at the top.

  • Client-side sorting. Sorting applies across the full file set loaded in the browser, so toggling the sort direction is instant and does not trigger a new data fetch.

  • No action required. The change is automatic. The Files list now supports sort toggling without any configuration changes.

v2.180.0 - Developer Console: Graceful Handling of Large Folder Sync Timeouts in Intake (July 2026)

Graceful Handling of Large Folder Sync Timeouts in Intake

Syncing a large external drive source no longer shows a "Sync failed" error when the operation takes longer than the gateway allows. The sync continues in the background and the UI now tells you so.

What changed:

  • Informational toast instead of error. When syncing a large drive source takes longer than the gateway timeout, the Developer Console now shows a "Sync still running" informational toast instead of a "Sync failed" error. The message explains that discovery is finishing in the background and suggests checking the Batches tab or refreshing shortly.

  • Batches list refreshed on timeout. When a sync times out, the Batches list is automatically refreshed so the batch created server-side appears without requiring a manual page reload.

  • Genuine failures still surface as errors. Actual sync failures - such as missing credentials, authorization errors, or missing sources - continue to show the "Sync failed" error toast as before. Only gateway timeouts are reclassified as informational.

  • No action required. The change is automatic. Large drive source syncs that previously appeared to fail will now display accurate status without any configuration changes.

v2.179.0 - Developer Console: Live Background Tool Results in Text Playground (July 2026)

Live Background Tool Results in Text Playground

Background skill completions now appear in the text playground conversation timeline the instant they finish, without waiting for the next turn.

What changed:

  • Live delivery. When a background skill completes during an active text playground session, the result is pushed into the conversation timeline immediately. Previously, background completions only appeared after the next turn was sent. The playground now subscribes to workspace-level completion events and renders each result as soon as it arrives.

  • Task-based correlation. Each background completion is matched to its original dispatch by a stable task-based key. Completions that belong to a different conversation or arrive after the session has ended are silently dropped, so stale results never appear in the wrong session.

  • On-turn catch-up preserved. The existing path that drains background completions on the next turn remains active as a catch-up mechanism. If a completion event is missed (for example, due to a brief network interruption), it is still picked up when the next turn is sent.

  • No action required. The change is automatic. Background skills configured with background execution will show results live in the text playground without any configuration changes.

v2.178.0 - Developer Console: Fleet Capacity Widget Labeled as Platform-Wide (July 2026)

Fleet Capacity Widget Labeled as Platform-Wide

The Voice Fleet Capacity widget on the Active Calls page now clearly indicates that capacity counts span all workspaces, not just the current one.

What changed:

  • Platform-wide label. The widget title now reads "Voice Fleet Capacity - all workspaces" to make it clear that the counts reflect the shared platform-wide pool, not workspace-scoped resources.

  • Allocated description updated. The "Allocated" metric description now reads "live calls - all workspaces" instead of "live calls."

  • Explanatory caption. A caption below the widget explains that the fleet is a shared platform-wide pool - the counts span every workspace, not just the current one. Headroom represents the total remaining isolated-call capacity across the fleet.

  • No action required. The change is cosmetic. No configuration or workflow changes are needed.

v2.177.0 - Developer Console: Paginated Files List in Intake Tab (July 2026)

Paginated Files List in Intake Tab

The Files list in the Intake tab now loads all files across multiple pages, removing the previous cap of 50 files.

What changed:

  • Full file list loading. The Files list now automatically fetches all pages of files for the workspace. Previously, only the first 50 files were displayed, which meant datasets with more than 50 files - such as those synced from an external drive source - showed an incomplete list. The list now loads all pages progressively so that client-side search and status filters operate on the complete file set.

  • No action required. The change is automatic. Workspaces with more than 50 files in their intake datasets will now see the full list without any configuration changes.

v2.176.0 - Developer Console: Document Source Origin in Files List (July 2026)

Document Source Origin in Files List

The Files list in the Intake tab now shows where each document originated, so operators can distinguish between documents synced from external cloud storage and documents uploaded manually.

What changed:

  • Source column added. The Files list now includes a Source column that displays the origin of each document. Documents synced from an external drive source display "Drive" with a link to the original file in the source system. Manually uploaded documents display "Upload". Documents without a known origin display a dash.

  • Link to source file. For drive-synced documents, the Source column entry links directly to the file in the external storage system, so operators can quickly navigate to the original source. The external file identifier is shown as a tooltip for reference.

  • No action required. The Source column appears automatically in the Files list. No configuration changes are needed.

v2.175.0 - Developer Console: Google Drive Sources and Batches in Intake Tab (July 2026)

Google Drive Sources and Batches in Intake Tab

The Intake tab in the Developer Console now includes Sources and Batches segments for connecting external cloud storage folders to datasets and managing file discovery batches.

What changed:

  • Sources segment. A new Sources view lists registered external data sources with their mapped datasets, connection status (Active, Disabled, Error), and creation timestamp. Each source row includes a Sync Now action that triggers file discovery for the source's configured folders.

  • Add Drive Source dialog. A new dialog lets operators register an external source by providing a display name and one or more folder-to-dataset mappings. Each mapping accepts a folder identifier (or a full folder URL, which is automatically parsed to extract the identifier) and a dataset slug. The dialog validates that folder identifiers and dataset slugs conform to the expected format and that dataset slugs are unique within the source. Source credentials are provisioned out-of-band and are not part of the registration payload.

  • Batches segment. A new Batches view lists file discovery batches with their dataset, status (Discovered, Ready, Processing, Completed, Failed), file count, and discovery timestamp. Batches in Ready status display a Start Processing action that triggers extraction for all files in the batch.

  • Segmented control updated. The Intake tab segmented control now includes four segments: Uploads, Schemas, Sources, and Batches. Each segment is deep-linkable via the segment query parameter.

  • Refresh controls. Both the Sources and Batches views include a Refresh button for manual data reload.

What you need to do:

  • No action required. The new segments appear automatically in the Intake tab. To connect an external source, navigate to Data Sources, select the Intake tab, switch to the Sources segment, and click Add Drive source.

v2.174.0 - Developer Console: Voice Fleet Capacity Widget on Active Calls Page (July 2026)

Voice Fleet Capacity Widget on Active Calls Page

The Active Calls page in the Developer Console now displays a live fleet capacity widget showing the health and availability of the voice infrastructure.

What changed:

  • Fleet capacity widget. A new widget at the top of the Active Calls page shows real-time voice fleet capacity: ready instances (warm buffer), allocated instances (live calls), total instances, and available headroom. The headroom indicator uses color-coded severity - green when capacity is healthy, yellow when tight, and red when near the ceiling.

  • State distribution bar. Below the summary metrics, a distribution bar breaks down instances by state, giving operators a visual overview of fleet composition at a glance.

  • Always visible. The widget renders even when there are zero active calls, so operators always have visibility into the warm pool and available headroom without needing to wait for call activity.

  • Live polling. The widget polls alongside the active calls list, so capacity data stays current without manual refresh.

  • Graceful loading. The widget stays hidden during initial load to avoid a second loading indicator alongside the active calls list. It appears once the first data response arrives. If the capacity data fails to load, an error message is displayed.

What you need to do:

  • No action required. The widget appears automatically on the Active Calls page. No configuration or feature flags are needed.

v2.173.0 - Developer Console: Revert Live Background Activity Surface in Text Playground (July 2026)

Revert Live Background Activity Surface in Text Playground

The live background activity lane, provenance labels, and post-close result capture introduced in v2.171.0 and v2.172.0 have been reverted. Background skill results return to the previous behavior of appearing on the next conversation turn.

What changed:

  • Background activity lane removed. The dedicated "Background activity" section below conversation turns has been removed. Background tool results and agent messages are no longer displayed in a separate lane.

  • Provenance labels removed. The "Background tool" label, "Background" badge, and "Proactive update" accent on tool cards and agent messages have been removed. All tool cards display the standard "Tool completed" / "Tool failed" / "Calling tool" labels. All agent messages display the standard "Agent" label.

  • Relative timestamps removed. The live-updating relative timestamp chips on background cards and messages have been removed.

  • Post-close result capture removed. The session subscription no longer stays active after close to capture late-arriving background results.

  • Live deduplication removed. The deduplication logic for live background pushes against the conversation history has been removed.

  • Standard conversation flow restored. Background skill results appear in the conversation when the next turn is sent, matching the behavior prior to v2.171.0.

What you need to do:

  • No action required. If you relied on live background result rendering, background skill results now appear after sending the next message in the conversation.

v2.172.0 - Developer Console: Background Activity Lane, Provenance Labels, and Post-Close Results in Text Playground (July 2026)

Background Activity Lane, Provenance Labels, and Post-Close Results in Text Playground

Background skill results and unsolicited agent messages now render in a dedicated "Background activity" lane in the text playground, with provenance labels, relative timestamps, and support for results that arrive after the session ends.

What changed:

  • Dedicated background activity lane. Background tool results and proactive agent messages now render in a visually separated "Background activity" section below the numbered conversation turns, rather than being attached to whatever turn happens to be open. This prevents background results from being mistaken for a reply to the user's last message.

  • Provenance labels on background cards. Tool call cards originating from background skill execution are labeled "Background tool completed" (or "Background tool running" / "Background tool failed") with a "Background" badge, distinguishing them from in-turn tool calls. Unsolicited agent messages are labeled "Proactive update" with a distinct visual accent instead of the plain "Agent" label.

  • Relative timestamps. Each background tool card and proactive message displays a live-updating relative timestamp (e.g. "20s ago", "5m ago") showing when it arrived, so you can see how stale a proactive update is at a glance.

  • Post-close result capture. Background results that arrive after the session has ended are now captured and displayed in the background activity lane rather than silently dropped. The session subscription stays active briefly after close to catch late-arriving results.

  • Improved deduplication. Deduplication between live background pushes and the next-turn drain now normalizes text before comparison, so results that differ only by minor formatting are correctly collapsed to a single card.

What you need to do:

  • No action required. Background skill results and agent messages now appear automatically in the dedicated lane. If you previously relied on sending a follow-up message to see async skill results, that workaround is no longer necessary.

v2.171.0 - Developer Console: Live Background Tool Results and Agent Messages in Text Playground (July 2026)

Live Background Tool Results and Agent Messages in Text Playground

The text playground now renders background skill results and unsolicited agent messages live, without requiring the user to send another turn.

What changed:

  • Live background tool results. When a skill configured with background execution completes during an active text playground session, the tool result card appears in the conversation immediately. Previously, background skill results only surfaced after the user sent the next message. This eliminates the "must refresh to see the result" symptom for async skill workflows.

  • Live unsolicited agent messages. Agent messages that arrive without a preceding user turn - for example, proactive notifications triggered by a background skill - now render in the conversation as they arrive.

  • Automatic deduplication. Both background tool results and agent messages are deduplicated against the conversation history. When the next turn drains the same result or message from the server, the playground keeps a single copy rather than showing a duplicate card or bubble.

  • Works across session states. Live pushes are rendered whether the session is actively connected, has ended, or is in an error state. Idle and connecting sessions ignore live pushes as expected.

What you need to do:

  • No action required. Background skill results and agent messages now appear automatically in the text playground. If you previously needed to send a follow-up message to see async skill results, that workaround is no longer necessary.

v2.170.0 - Developer Console: Multi-Type Document Schemas in Customer Data Intake (July 2026)

Multi-Type Document Schemas in Customer Data Intake

The Developer Console now supports creating document schemas that accept multiple file types, so a single schema can handle a mix of document formats.

What changed:

  • Multi-type document schemas. When creating a document schema (PDF, Word, Markdown, or text), the Create Schema dialog now shows an "Also accept" toggle group listing the other document types. Select any combination of additional types that the schema should accept alongside the primary type. For example, a schema with a primary type of PDF can also accept Word and Markdown uploads.

  • Upload validation updated. The file upload dialog now validates uploaded files against all accepted types for the schema, not just the primary type. The file input's accept filter reflects the full set of accepted types, so the browser's file picker shows all valid extensions.

  • Validation error messages updated. When an uploaded file does not match any accepted type, the error message lists all accepted extensions (e.g. "File must be one of: .pdf, .docx, .md matching the schema") rather than showing only the primary type.

  • Per-document type consistency. Each document retains a single file type across its versions. The multi-type setting controls which types the schema accepts for new uploads, not type conversion between versions.

What you need to do:

  • No action required. Existing single-type document schemas continue to work as before. The "Also accept" option appears automatically when you create a new document schema. To add additional accepted types to an existing schema, recreate the schema with the desired types selected.

v2.169.0 - Developer Console: Workspace Voice Settings and Voice Runtime Controls (July 2026)

Workspace Voice Settings and Voice Runtime Controls

The Developer Console now includes a dedicated Voice tab in Workspace Settings for managing workspace-level voice defaults, and the service edit page exposes voice runtime selection directly.

What changed: