# Enable or pause agents Source: https://docs.abundly.ai/api-reference/enable-or-pause-agents /api-reference/workspace-api.json post /workspaceapi/agents/enabled Enable or pause the listed agents. A paused agent cannot run and its scheduled triggers stop firing; its chats and configuration are kept. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Get a chat Source: https://docs.abundly.ai/api-reference/get-a-chat /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/chats/{chatId} A single conversation with its full message history. # Get a document Source: https://docs.abundly.ai/api-reference/get-a-document /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/documents/{docId} A single document with its content. # Get a team Source: https://docs.abundly.ai/api-reference/get-a-team /api-reference/workspace-api.json get /workspaceapi/teams/{teamId} A single team with its full member list. # Get an agent's configuration Source: https://docs.abundly.ai/api-reference/get-an-agents-configuration /api-reference/workspace-api.json get /workspaceapi/agents/{agentId} The agent's full configuration, including handle, scheduled triggers with their cron expressions, LLM preferences, and tool credentials as metadata with `isSet` flags rather than values. Returns 403 for a private agent. # Get capability settings Source: https://docs.abundly.ai/api-reference/get-capability-settings /api-reference/workspace-api.json get /workspaceapi/capability-settings Which capabilities are available in the workspace and their admin-configured defaults. # Get credit balances and current usage Source: https://docs.abundly.ai/api-reference/get-credit-balances-and-current-usage /api-reference/workspace-api.json get /workspaceapi/credits A live snapshot: workspace balances, credits used today per agent (all agents, including disabled and private ones), and credits used this month per team. Accepts no date filters and keeps no history — snapshot the response yourself if you need a time series. # Get security settings Source: https://docs.abundly.ai/api-reference/get-security-settings /api-reference/workspace-api.json get /workspaceapi/security-settings Security alert configuration for the workspace. # Get usage for one tool Source: https://docs.abundly.ai/api-reference/get-usage-for-one-tool /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/tool-usage/{toolName} How often the agent called one specific tool, across chats and trigger runs, plus the most recent call inputs. `:toolName` is a tool name (lowercase with underscores, e.g. `send_email`), not a capability name — an unknown name returns 404 rather than a zero count. # Get workspace configuration Source: https://docs.abundly.ai/api-reference/get-workspace-configuration /api-reference/workspace-api.json get /workspaceapi/overview Workspace-level settings: feature flags, credit defaults, account rules, DPA and subprocessor settings, login settings, value capture configuration, tags, and the configured LLMs. # List agents Source: https://docs.abundly.ai/api-reference/list-agents /api-reference/workspace-api.json get /workspaceapi/agents Every agent in the workspace, private ones included (marked with `isPrivate`). `capabilities` is a mixed array of plain strings and `{ name, settings }` objects, so normalise to the name before counting. With `includeOverview=true` the response also carries `overview.reducedAgents` — one entry per agent with its `access`, instructions, integrations and exposure flags — plus `overview.lastUsageByAgent`. That single call is the reliable way to cover the whole estate, since per-agent endpoints reject private agents. # List an agent's chats Source: https://docs.abundly.ai/api-reference/list-an-agents-chats /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/chats Chat conversations for the agent, without message bodies. # List an agent's documents Source: https://docs.abundly.ai/api-reference/list-an-agents-documents /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/documents Documents and folders belonging to the agent. Each entry inlines the document's complete `textContent`, which makes one call enough for an audit but produces large responses on document-heavy agents. Pass `excludeContent=true` for metadata only. # List connected agents Source: https://docs.abundly.ai/api-reference/list-connected-agents /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/connected-agents Outbound connections, inbound connections, and other agents available to connect to. # List diary entries Source: https://docs.abundly.ai/api-reference/list-diary-entries /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/diary The agent's diary. Filter to one day with `date`, to one conversation with `conversationId`, or pass `year` and `month` together for a month summary. # List email and SMS messages Source: https://docs.abundly.ai/api-reference/list-email-and-sms-messages /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/messages External messages sent to or by the agent. `totalCount` reflects the active filter, so it changes as you narrow by direction, channel or date. # List evals Source: https://docs.abundly.ai/api-reference/list-evals /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/evals Eval definitions and settings for the agent, optionally with the most recent results. # List MCP servers Source: https://docs.abundly.ai/api-reference/list-mcp-servers /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/mcp-servers MCP servers connected to the agent. # List shared HTTP API configurations Source: https://docs.abundly.ai/api-reference/list-shared-http-api-configurations /api-reference/workspace-api.json get /workspaceapi/http-apis Workspace-level HTTP API capability configurations, including each endpoint's URL pattern. Resolve an agent's `httpApis[].configId` against this list to see which external systems it can reach. Redaction covers the whole `secrets[]` block, so its string values all read `[redacted]`. # List teams Source: https://docs.abundly.ai/api-reference/list-teams /api-reference/workspace-api.json get /workspaceapi/teams All teams in the workspace. Payload fields use the internal name for teams, so a team id appears as `groupId`. # List the workspace tag vocabulary Source: https://docs.abundly.ai/api-reference/list-the-workspace-tag-vocabulary /api-reference/workspace-api.json get /workspaceapi/tags Every tag in use across agents, teams, and members, with usage counts per entity type. Check it before tagging via the write endpoints, so near-duplicate tags don't creep in. Untagged entities are not listed — use the list endpoints to enumerate entities. # List workspace invitations Source: https://docs.abundly.ai/api-reference/list-workspace-invitations /api-reference/workspace-api.json get /workspaceapi/invites Pending and expired invitations, which doubles as a record of who was invited but never joined. # List workspace members Source: https://docs.abundly.ai/api-reference/list-workspace-members /api-reference/workspace-api.json get /workspaceapi/members Every member with their workspace role, team memberships, and basic profile info. Support-access users are excluded. # List workspace secrets Source: https://docs.abundly.ai/api-reference/list-workspace-secrets /api-reference/workspace-api.json get /workspaceapi/secrets Secret names and metadata, including which agents, admins and teams can use each one. Values are masked server-side and never leave the platform. # Move agents to a team Source: https://docs.abundly.ai/api-reference/move-agents-to-a-team /api-reference/workspace-api.json post /workspaceapi/agents/team-moves Move the listed agents to another team, or to the workspace-global space with targetTeamId=null. Moving an agent changes who can reach it and can flip team-scoped capabilities on or off, so call with dryRun=true first: each result carries an `impact` naming the members who gain or lose access and the capabilities that flip. Returns 400 when team settings are not enabled for the workspace. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Promote or demote agents between lifecycle phases Source: https://docs.abundly.ai/api-reference/promote-or-demote-agents-between-lifecycle-phases /api-reference/workspace-api.json post /workspaceapi/agents/phase Set the listed agents' lifecycle phase: `production` to promote, `sandbox` to demote. Production unlocks the capabilities, secrets and API capabilities marked production-only plus the reserved credits; demotion pauses that access but keeps the agent's configuration. Agents already in the requested phase are reported as unchanged. Returns 400 when lifecycle phases are not enabled for the workspace. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Read the activity log Source: https://docs.abundly.ai/api-reference/read-the-activity-log /api-reference/workspace-api.json get /workspaceapi/agents/{agentId}/activity-log Trigger runs with their per-stage credit cost. Pass `entryId` for a single entry with its full `steps[]` trace — the most detailed audit surface in the API. Passing `page` or `pageSize` returns a paginated response that echoes both; without either you get the most recent entries capped by `limit`. # Replace agents' value entries Source: https://docs.abundly.ai/api-reference/replace-agents-value-entries /api-reference/workspace-api.json post /workspaceapi/agents/value-entries Replace the agents' value entries — what each agent is worth, per workspace value category. Send the complete list; it replaces what is stored. Category ids must exist in the workspace value-capture settings (see /workspaceapi/overview). Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Set agents' criticality rating Source: https://docs.abundly.ai/api-reference/set-agents-criticality-rating /api-reference/workspace-api.json post /workspaceapi/agents/criticality Set (or clear, with null) the agents' criticality rating, which feeds workspace value-capture reporting. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Set agents' daily credit limit Source: https://docs.abundly.ai/api-reference/set-agents-daily-credit-limit /api-reference/workspace-api.json post /workspaceapi/agents/daily-credit-limit Set (or clear, with null) the daily credit limit on the listed agents. An agent that hits its limit stops running until the next day. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Set agents' default model Source: https://docs.abundly.ai/api-reference/set-agents-default-model /api-reference/workspace-api.json post /workspaceapi/agents/model Set (or clear, with null) the agents' default model, leaving per-chat and per-trigger overrides alone. Models the workspace cannot currently select are rejected with 400. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Show or hide per-message credit details Source: https://docs.abundly.ai/api-reference/show-or-hide-per-message-credit-details /api-reference/workspace-api.json post /workspaceapi/agents/credit-details Show or hide the per-message credit details in the listed agents' chats. Display only — it does not change what an agent may spend. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Summarize value capture Source: https://docs.abundly.ai/api-reference/summarize-value-capture /api-reference/workspace-api.json get /workspaceapi/value-capture Value capture compliance across agents, for reporting on which agents have declared their value. # Tag agents Source: https://docs.abundly.ai/api-reference/tag-agents /api-reference/workspace-api.json post /workspaceapi/agents/tags Add, remove, or replace tags on the listed agents. Use /workspaceapi/agents to find agent ids and current tags, and /workspaceapi/tags for the existing tag vocabulary. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Tag teams Source: https://docs.abundly.ai/api-reference/tag-teams /api-reference/workspace-api.json post /workspaceapi/teams/tags Add, remove, or replace tags on the listed teams. Use /workspaceapi/teams to find team ids and current tags. Returns 400 when team settings are not enabled for the workspace. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Tag workspace members Source: https://docs.abundly.ai/api-reference/tag-workspace-members /api-reference/workspace-api.json post /workspaceapi/members/tags Add, remove, or replace tags on the listed workspace members (ids are user ids). Use /workspaceapi/members to find user ids and current tags. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`. # Changelog Source: https://docs.abundly.ai/changelog/index New features, improvements, and fixes in Abundly New releases and improvements to the Abundly platform. ## ⚠️ Changed Behavior * **New access model for Secrets and API Capabilities** — Access is now a single choice per secret or API Capability: No one, Entire workspace, Certain teams, or Certain agents (replacing the old team-then-agent narrowing). Newly created items start with no agent access until you make that choice — previously they defaulted to open access for every agent. Existing items keep the access they effectively had. [Credentials & Secrets](https://docs.abundly.ai/security/credentials) * **Retired models removed from the model picker** — Claude Sonnet 4.0, Claude Haiku 3.5 and Gemini 3.1 Flash Live Preview are no longer selectable. They could no longer be called, so no working agent is affected. [Model selection](https://docs.abundly.ai/features/model-selection) ## New Features * **Claude Fable 5.1 available in the model picker** — Anthropic's successor to Claude Fable 5, built for long-running agentic work, research and document-heavy tasks. Same price per token as Fable 5 with much cheaper cache reads, a 1M token context window and always-on adaptive thinking. [Model selection](https://docs.abundly.ai/features/model-selection) * **Gemini 3.7 Flash and Gemini 3.8 Flash available** — Google's two newest Flash models can now be selected for any agent, with a 1M token context window and thinking support at the same price as Gemini 3.6 Flash. [Model selection](https://docs.abundly.ai/features/model-selection) * **Search in the agent switcher** — The agent dropdown in the sidebar now has a search box once your workspace has six or more agents, so you can jump to an agent by typing part of its name instead of scrolling. [Platform overview](https://docs.abundly.ai/introduction/platform-overview) * **Images now appear in Google Docs created by agents** — When an agent creates or fully replaces a Google Doc from markdown, images in the markdown are now embedded in the doc instead of becoming plain links. Editing a single tab still can't embed images yet, but now shows a placeholder with the alt text and link rather than dropping them silently. [Google Drive](https://docs.abundly.ai/integrations/google-drive) * **For workspace admins: Secrets and API Capabilities pages reorganized** — The Shared Assets pages now group items by scope (Entire workspace, per team, several teams, certain agents, no one) with counts, search, and "Managed by me" / "Hide disabled" filters, plus wider side-drawer forms and real agent names everywhere instead of "Unknown agent". [Credentials & Secrets](https://docs.abundly.ai/security/credentials) * **For workspace admins: Agent lifecycle phases now reach analytics, Explorer, Manager and the Workspace API** — Workspaces with [agent lifecycle phases](https://docs.abundly.ai/features/agent-lifecycle) enabled (available on request; Abundly enables it for your workspace) can now break workspace/team analytics down by sandbox vs. production, see each agent's phase in Explorer, promote or demote agents in bulk from a Workspace Manager agent, and manage phases via the Workspace API. ## Bug Fixes * **API Capabilities no longer depend on the HTTP Requests capability** — Agents that had API Capabilities enabled before March 2026 could lose them when the general HTTP Requests capability was turned off. That's now fixed; enablement is stored the same way regardless of the HTTP Requests setting. [API Capabilities](https://docs.abundly.ai/integrations/overview#extending-integrations) ## ⚠️ Changed Behavior * **For workspace admins: document publishing is now a workspace setting** — The "Allow publishing documents to public links" checkbox has moved out of Feature flags; control it under Workspace → Settings → Documents. Existing workspaces keep their current setting. [Documents](https://docs.abundly.ai/features/documents#turning-off-publishing-for-a-workspace) * **For workspace admins: GPT Pro models require an opt-in** — GPT-5.4 Pro, GPT-5.2 Pro and GPT-5 Pro now need an explicit platform-level opt-in before they can be selected for an agent. Contact [support@abundly.ai](mailto:support@abundly.ai) to have one enabled for your workspace. * **For workspace admins: image generation billed at the model actually used** — When our image provider rate-limits the default model and automatically falls back to a more capable one, credit usage now reflects that more expensive model instead of the cheaper one's rate. Applies to agent profile image generation. ## New Features * **Live voice — real-time voice conversations** — Talk with your agent out loud: press Live voice below the chat input, pick a language and voice, and start talking. The agent replies within about a second and can use its tools mid-conversation; everything is transcribed and saved to your chat list so you can continue in text afterwards. Previously available only where an internal flag was enabled — it's now on for everyone. [Live Voice](https://docs.abundly.ai/features/live-voice) * **Preview email attachments before approving a Send Email** — When an agent asks you to approve an outgoing email, attachments stored on the platform now open in the side panel next to the conversation so you can inspect and download them before approving; externally-linked attachments still show as text only. [User approval](https://docs.abundly.ai/security/user-approval) ## Improvements * **Shell: sed programs, GNU-style regex, and printf** — `sed` now accepts chained commands, `grep`/`sed` understand both GNU-style and JavaScript-style regex patterns, `grep -F` matches fixed strings, and `printf` is available; appending to files also now correctly starts on a new line. Applies in workspaces where Shell is enabled. * **Icons for 29 more capabilities** — Slack, Stripe, Figma, Linear, Shopify, Sentry, MongoDB and many others now show their own logo instead of a generic wrench. * **For workspace admins: clearer agent lifecycle phase settings** — The workspace panel for lifecycle phases now explains Sandbox and Production side by side, and a new docs page walks through promoting agents between them. [Agent lifecycle phases](https://docs.abundly.ai/features/agent-lifecycle) ## Bug Fixes * **Eval Results tab shows all runs** — The tab no longer drops older eval runs or shows the newest one only partially; runs are listed newest first with a Load more button for long histories. [Evals](https://docs.abundly.ai/features/evals) * **Conversation fullness meter is now accurate** — The context indicator in chat previously over-reported fullness on Claude and read as empty on OpenAI models; it now reflects the real conversation size on every model. [Chat](https://docs.abundly.ai/features/chat) * **Interrupted AI responses no longer break the chat** — If the connection to the AI provider dropped mid tool-call, the chat could become permanently unreadable. It now ends the turn with a "try again" message instead. * **Agent menu no longer hides Capabilities and Settings** — The agent sidebar sometimes opened without these entries for users who had access to them; they now appear reliably. * **API Capability secrets can be created in every workspace** — The Secrets page's Add Secret list now always includes API Capability secret types, regardless of whether the HTTP Requests capability is enabled. [API Capabilities](https://docs.abundly.ai/integrations/overview#extending-integrations) ## New Features * **SharePoint: scope agent access to Documents, Pages, or Lists** — The SharePoint capability now has separate toggles for Documents, Pages and Lists, so an agent can be limited to just the areas it needs. All three are on by default, and existing agents keep full access. [SharePoint](https://docs.abundly.ai/integrations/sharepoint) * **SharePoint: agents can read list item attachments** — An agent can now open a file attached to a SharePoint list item and read its text, not just see that the attachment exists. Requires app-only mode with certificate authentication, like list comments. [SharePoint](https://docs.abundly.ai/integrations/sharepoint) * **SharePoint: agents can track what changed** — Agents can now ask what's new or edited in a document library or list since a chosen time window, making it practical to watch a library on a schedule and act only when something changes. Turn on Change tracking on the agent's SharePoint capability; it's off by default. [SharePoint](https://docs.abundly.ai/integrations/sharepoint) * **Shell: sed, heredocs, and multi-line commands** — Agents with the Shell capability can now edit documents in place with `sed`, write multi-line files with heredocs, and separate commands with plain newlines like in bash. Available in workspaces where Shell is enabled. ## Improvements * **For workspace admins:** Clearer errors when a SharePoint app-only connection is misconfigured — agents now report what is actually wrong (e.g. missing admin consent, no site access) instead of relaying Microsoft's generic "General exception while processing". [SharePoint](https://docs.abundly.ai/integrations/sharepoint) * **Faster "New chat with summary"** — Generating a handoff summary is now roughly twice as fast on most chats, and long chats that previously failed with "Couldn't summarize this chat in time" should now succeed. [Chat](https://docs.abundly.ai/features/chat) * **Sandbox agents are easier to spot** — For workspaces using agent lifecycle phases: sandbox agents now carry a subtly hatched tile on the Agents page and the sidebar switcher (rather than a badge on every chat message), and an agent in the sandbox phase can now explain that a missing capability or integration is down to its phase rather than claiming it doesn't exist. * **Hover an agent for the full picture** — Hovering an agent's avatar now shows its name, lifecycle phase, team, description, tags, your access level, and any admin restriction in one place — from the Agents page, the agent switcher, the agent-management table, and the value dashboard. ## Bug Fixes * **Shell: safer appends and cleaner output** — Appending with `>>` now starts on a fresh line instead of merging into the document's last line, text starting with a dash echoes correctly, and reading several files no longer shows phantom blank lines between them. Fixes apply in workspaces where Shell is enabled. * **Clearer error when a chat is too large to summarize** — If "Summarize to new chat" can't produce a summary within the time limit, the portal now says the chat was too large and the summary exceeded the limit, instead of a generic "Failed to start new chat". * **Notification links open the right notice** — Clicking through from an owner-notice email or the in-app notification bell now opens that specific notice on the agent's Activity page, scrolled into view, instead of dropping you on a list of collapsed titles. ## New Features * **SharePoint: browse sites, read pages, and query lists** — Agents can now list a SharePoint site's document libraries and lists (not just the default Documents library), read site pages, news posts and wiki pages as text, and read and filter items in SharePoint lists. Reading attachments and comments on list items requires the workspace's SharePoint connection to use certificate authentication rather than a client secret (a Microsoft restriction). [SharePoint](https://docs.abundly.ai/integrations/sharepoint) ## Improvements * **Trigger-linked scripts are more resilient to AI provider outages** — A script tied to a trigger now retries automatically on a temporary provider outage, and reruns once on the agent's backup model (if configured) when the primary model is unavailable long-term. Failures when a script hands off to the full agent are now reported reliably instead of the run silently succeeding. [Model selection](https://docs.abundly.ai/features/model-selection#backup-model) * **Clearer agent dashboard** — The Realized value column now shows which time period it covers, and column headers stay visible while scrolling through a long agent list. ## Bug Fixes * **Microsoft Teams setup fixes** — For workspace admins: the setup guide now points to the current Developer Portal (dev.teams.microsoft.com), a pasted Bot ID or Tenant ID with stray whitespace is now rejected instead of silently breaking the integration, and the manifest preview refreshes immediately after saving or resetting credentials. [Microsoft Teams](https://docs.abundly.ai/integrations/msteams) * **Sharing an agent across teams no longer triggers a false "visible to more agents than humans" warning** — For workspace admins: the User access tab warning now accounts for cross-team sharing. [Access control](https://docs.abundly.ai/security/access-control) * **Clearer microphone picker** — The microphone menu in chat and Walk & Talk no longer lists the default mic twice on Chrome/Edge, and "System default" now shows which device it currently is. [Voice](https://docs.abundly.ai/features/voice) * **Scripts receive their arguments again on EU-hosted (AWS Bedrock) models** — Agents on Bedrock-routed models can once more pass an object or array into a script via code execution; this previously arrived as unusable JSON text and caused scripts to fail or do nothing. [Scripts](https://docs.abundly.ai/features/scripts) ## ⚠️ Changed Behavior * **Agents can no longer hide documents** — Agent tools can no longer create a document as hidden or flip an existing one to hidden, since that could make it unrecoverable to the agent itself. Hiding a document from an agent is now a person-only action, via the visibility control in the Documents panel. [Documents](https://docs.abundly.ai/features/documents) * **For workspace admins: Agent API calls are explicitly HTTPS-only** — Agents now call `https://` addresses on the standard port only, enforced by the platform itself rather than relying on network configuration. Existing API Capabilities are unaffected — you'll only notice if an endpoint is deliberately set to `http://` or a non-standard port, which is now rejected when you save it. [HTTP requests](https://docs.abundly.ai/features/http) * **Redirects are no longer followed automatically** — If an API responds with a redirect, your agent is told where it points and decides whether to follow it, instead of being sent there silently with your credentials attached. [HTTP requests](https://docs.abundly.ai/features/http) ## New Features * **Connect Jira and Confluence with an API token** — An alternative to the Rovo MCP server for when your Atlassian admin can't allow our domain, or when the agent should act as its own Atlassian account. [Atlassian](https://docs.abundly.ai/integrations/atlassian) * **Agent lifecycle phases (sandbox & production)** — available on request; Abundly enables it for your workspace. Separate experimental agents from trusted ones: every agent starts in a sandbox phase until promoted, with the option to restrict capabilities, secrets, and API keys to a phase and reserve credits for production. ## Improvements * **For workspace admins:** Document settings have moved to Workspace → Settings → Documents (team write-access controls move to the team's own Settings tab); the Documents tabs now show a quick policy summary with a link. [Documents](https://docs.abundly.ai/features/documents) * **For workspace admins:** The Workspace API reference now documents the response fields for all 35 endpoints, not just the credit, agent-list and write endpoints. [Workspace API](https://docs.abundly.ai/features/workspace-api) * **Shell: better grep and ls** — `grep` now supports `-A/-B/-C` context lines (and bare `-NUM`), `head`/`tail` accept a bare `-N` shorthand, and `ls` can target a single file or show document ids with `-i`. ## Bug Fixes * **Virtual machines recover more reliably after going idle** — File reads and other tool calls on a VM that auto-stopped for inactivity now reliably wake it and retry, instead of occasionally failing with an unhelpful error. [Virtual machine](https://docs.abundly.ai/features/virtual-machine) * **SharePoint agents use your allowed sites automatically** — When a SharePoint personal token is limited to specific sites or folders, the agent now sees that scope and works with those libraries without asking you for a site URL. [SharePoint](https://docs.abundly.ai/integrations/sharepoint) ## ⚠️ Changed Behavior * **Redesigned User access tab** — The agent's access settings are reorganized around an "Effective access right now" summary of who can reach the agent. The Full Access level is now called **Owner** (same level, new name), and adding a person from outside the agent's team now works correctly — previously it silently did nothing, and they're now automatically joined to the team as a guest so access takes effect. [Access control](https://docs.abundly.ai/security/access-control) ## New Features * **Share a team agent with other teams** — A team's agent can now be made available to selected other teams or the whole workspace from Settings → User access. Shared teams can chat with and trigger the agent but never edit it, and credit usage stays with the owning team. [Access control](https://docs.abundly.ai/security/access-control#making-a-team-agent-available-to-other-teams) * **Apple iWork files can now be transcribed** — Upload Pages, Keynote, or Numbers documents and your agent can read them automatically, across uploads, email and Slack attachments, and files from SharePoint or Google Drive. This routes through ConvertAPI, now listed as a data processor for every workspace. [Documents](https://docs.abundly.ai/features/documents) * **Edit emails before approving them** — When an agent asks for approval to send an email, you can now edit the recipients, subject, or body directly on the approval card instead of rejecting and re-prompting. [User approval](https://docs.abundly.ai/security/user-approval) * **Slack channel restrictions** — Optionally limit a Slack-enabled agent to specific channels, or disable direct messages entirely, under the Slack capability's new Restrictions section. [Restricting channels](https://docs.abundly.ai/integrations/slack#restricting-channels) * **For workspace admins:** Turn off document publishing for your whole workspace, under Workspace → Documents. Publishing stays allowed by default; switching it off also takes previously published documents offline. [Documents](https://docs.abundly.ai/features/documents) ## Bug Fixes * **Slack channel names with a leading `#` now work** when asking an agent to post to a channel. [Slack](https://docs.abundly.ai/integrations/slack) * **Approvals now work with Gemini-powered agents** — approving a tool call no longer fails or loses the tool's result. [User approval](https://docs.abundly.ai/security/user-approval) * **Agents no longer repeat outdated usage-limit errors** after a daily credit limit resets. * **Fixed a bug where simultaneous instruction or document edits could be silently lost.** * **No more double goodbye** when an agent leaves a Slack or Microsoft Teams thread. [Slack integration](https://docs.abundly.ai/integrations/slack) ## ⚠️ Changed Behavior * **Slack bot token is revoked when an agent is permanently deleted** — When an agent's deletion becomes permanent, its Slack bot token is now revoked automatically, deactivating the bot and removing it from the channels it had joined. The Slack app itself still needs to be uninstalled by a Slack workspace admin. [Slack integration](https://docs.abundly.ai/integrations/slack) * **Outlook and SharePoint personal mode require server-level OAuth configuration** — On servers without Microsoft Outlook OAuth configured, Outlook and Outlook Calendar no longer appear as connectable capabilities, and personal (delegated) SharePoint is blocked with a clear message; app-only SharePoint with your own Entra app registration still works. [Outlook](https://docs.abundly.ai/integrations/outlook), [SharePoint](https://docs.abundly.ai/integrations/sharepoint) * **For workspace admins:** New agents now default to a 5,000 credit daily limit, up from 3,000. Existing workspaces keep whatever default their admins have set. ## New Features * **Backup model (opt-in)** — Give an agent a backup model to automatically retry a trigger run when its primary model is temporarily unavailable (usage quota exhausted, or the provider refusing traffic). Off by default, and not recommended unless completing the run matters more than consistent behavior. Configure it under the agent's Settings → Model Selection. [Model selection](https://docs.abundly.ai/features/model-selection#backup-model) * **For workspace admins:** The Workspace API can now make changes, not just read them — enable or pause agents, change their model, credit limit or criticality, tag agents/teams/members, and move agents between teams, all in batches. A separate "Workspace write API" key scope controls access (enable it per key under Workspace Settings → API Keys), and changes appear in the User action log. You can also preview who gains or loses access before moving an agent between teams. [Workspace API](https://docs.abundly.ai/features/workspace-api) ## Bug Fixes * **Deleted agents stop running immediately** — Deleting an agent now stops all of its activity right away — scheduled triggers, incoming email, and calls from other agents — instead of continuing during the 30-day grace period before permanent deletion. Calling a deleted or disabled agent now also returns a clear message instead of a cryptic error. * **No more double goodbye when an agent leaves a thread** — An agent asked to leave a Slack or Microsoft Teams thread sometimes posted a second, generic farewell right after its own, and was briefly charged for a turn in a thread it had already left. Both are fixed. [Slack integration](https://docs.abundly.ai/integrations/slack) ## New Features * **For workspace admins:** Manage a member's teams right from the Members list — add someone to several teams, change their team role, or remove them from Workspace → Members (Actions → Manage teams, or the Add / Edit chip next to their team badges), instead of doing it one team at a time. The invite dialog also now explains each workspace role with a link to the docs. [Workspace members](https://docs.abundly.ai/features/workspace-members) ## Improvements * **Copying documents now preserves formatting** — *Copy text content* on a Markdown document (including uploaded files transcribed to Markdown) now copies both a formatted version and the raw Markdown at once. Pasting into Slack, Google Docs, Word or email keeps headings, bold text, lists and tables, while plain-text targets — or *Paste without formatting* — get the raw Markdown. Works on mobile too. * **Clearer guidance for legacy Word/Excel files** — Trying to transcribe an old-format `.doc` or `.xls` file now explains that the format isn't supported and how to fix it: re-save as `.docx`/`.xlsx` or PDF and upload again. ## Bug Fixes * **Large document downloads and previews no longer fail silently** — Opening or downloading a document larger than about 30 MiB, most often a large PDF in the browser viewer, could fail with no explanation. These now work reliably. * **Editing an earlier message no longer breaks a chat** — Editing a message in a conversation that had used tools could permanently break the chat, with every following message failing silently. This can no longer happen, and previously affected chats recover automatically. * **Editing a message while the agent is replying now stops the old reply** — Previously the in-progress response kept running behind the scenes instead of being cancelled. * **Markdown documents with images can be exported again** — Downloading a Markdown document containing images as PDF or Word previously produced no file at all. Images are now embedded correctly, and a genuine failure now shows an error instead of nothing happening. * **Google Docs created from Markdown no longer lose images silently** — Images that can't be embedded now show as a placeholder with their alt text and a link to the original, and you're told which ones were skipped, instead of the document looking complete with images missing. ## ⚠️ Changed Behavior * **GPT-5.6 Sol now costs fewer credits** — Following a provider price reduction, agents running GPT-5.6 Sol use roughly 20% fewer credits for input tokens and about 33% fewer for output tokens. This applies automatically to usage after this release — no action needed. [Model selection](https://docs.abundly.ai/features/model-selection) ## New Features * **Outlook Calendar** — Connect an agent to your Microsoft 365 calendars with a dedicated personal token, separate from Outlook email. The agent can list calendars, read events, and create or update meetings on the calendars you allow. [Outlook Calendar](https://docs.abundly.ai/integrations/outlook-calendar) * **For workspace admins:** Enable Outlook Calendar under Settings → Capabilities, then connect a Microsoft account and choose which calendars the token may access. Deleting events is off by default — turn on "Allow deleting calendar events" to permit it. Some tenants need a Microsoft admin to consent to the new calendar permission. [Outlook Calendar](https://docs.abundly.ai/integrations/outlook-calendar) ## ⚠️ Changed Behavior * **Custom and self-hosted models are no longer available** — Agents now use Abundly's catalog models only (Anthropic, OpenAI, Google, xAI, plus optional Scaleway and Bedrock families). If an agent used a custom, DeepSeek, or Llama/Ollama model, pick a catalog model instead. [Model selection](https://docs.abundly.ai/features/model-selection) * **For workspace admins: vendor credentials must be complete to enable a model family** — A partial credential (for example Bedrock without a URL or region) no longer shows that provider's models at all. Fill in every required field under workspace model settings. [Model selection](https://docs.abundly.ai/features/model-selection) * **Notion databases with multiple data sources now work** — The Notion capability now uses Notion's current API version, so agents can read, query, and update databases that have more than one data source (previously these failed outright). [Notion integration](https://docs.abundly.ai/integrations/notion) * **Value capture: conversation-based usage, clearer terminology** — Usage and value capture now count chat activity once per conversation per day instead of once per message, and ignored trigger runs (e.g. filtered spam) no longer count — so the dashboard's "Triggers & conversations" metric better reflects real work. The "Expected" and "Actual" value fields are renamed to "Estimated" and "Realized." Value entries now save automatically as you edit, and usage-tracked entries show the exact interaction count behind the computed total. [Value capture](https://docs.abundly.ai/features/agent-value-capture) ## New Features * **Status announcement banner** — During an incident, a dismissible warning bar can appear at the top of the app with a short message and a link to the status page. * **Tell your agent to leave a thread** — When an agent is no longer needed in a Slack or Microsoft Teams channel thread, you can tell it to step out and it stops replying to everything that follows. It always announces this before going quiet, and an @mention brings it straight back, caught up on what it missed. [Slack integration](https://docs.abundly.ai/integrations/slack), [Microsoft Teams integration](https://docs.abundly.ai/integrations/msteams) * **Identify speakers in transcripts** — Audio and video transcripts with generic "Speaker 1 / Speaker 2" labels now have an Identify speakers action to name speakers, with a name-suggestion assist, plus new actions to strip speaker labels or timestamps from a transcript without a paid re-transcription. [Documents](https://docs.abundly.ai/features/documents) * **Choose which microphone the chat uses** — A chevron next to the microphone button opens a list of your audio input devices so you can pick the right one, with your choice remembered on that computer. Applies to both dictation and voice sessions. * **GLM 5.2 on Scaleway** — Workspaces with Scaleway configured can now pick GLM 5.2, an EU-hosted model suited to long-horizon and coding work. [Model selection](https://docs.abundly.ai/features/model-selection) ## Improvements * **Virtual machines wake up reliably for file operations** — When an agent's virtual machine has been paused for inactivity, reading, editing and transferring files now wakes it automatically, the same way running a shell command already did. [Virtual machine](https://docs.abundly.ai/features/virtual-machine) ## Bug Fixes * **Audio and video recordings from iPhone and Voice Memos now play** — Uploaded `.m4a`/MP4 recordings that previously showed `0:00 / 0:00` in the document player now load their duration, play, and seek correctly, and seeking is faster for any audio or video document. ## ⚠️ Changed Behavior * **SharePoint document creation no longer overwrites silently** — `add_sharepoint_document` now correctly refuses to replace an existing file unless overwrite is enabled, instead of silently overwriting it. Agents will see a clear "already exists" message when overwrite is off. [SharePoint](https://docs.abundly.ai/integrations/sharepoint) * **Consistent security checks for uploading stored files** — Uploading agent documents to Fortnox, Notion, and Autodesk now applies the same protections already in place for SharePoint and Virtual Machine uploads: agents can only upload documents they have access to, external file sources must be valid HTTPS URLs, and very large files are rejected up front with a clear error. Workflows relying on plain-HTTP file sources or cross-agent document access will now see an explanatory error. ## Improvements * **Document transcription now tells you why it failed** — When a document can't be transcribed, the error now shows the actual reason — for example an unsupported file format or a spreadsheet whose contents couldn't be extracted — instead of a generic failure message. [Documents](https://docs.abundly.ai/features/documents) * **Strong-model suggestion now also appears on Claude Opus** — When an agent needs a judgment-heavy built-in skill (like instruction cleanup or risk assessment) in a chat running on Claude Opus, it now suggests switching to Claude Fable when available in your workspace, the same as it already did for weaker models. Workspaces using only AWS Bedrock models now get the suggestion too. [Model selection](https://docs.abundly.ai/features/model-selection) ## Bug Fixes * **Chat Edit and Copy buttons no longer cover the message text on mobile** — On phones, the buttons on your own messages could be drawn on top of the last line of a wrapped message and stay there once tapped. They now sit clear of the text and are always tappable. ## New Features * **Upload any file to SharePoint** — Agents with the SharePoint capability can now upload stored files of any type — Excel, Word, PDF, images, and more — from their documents straight into a SharePoint library, including replacing an existing file with a new version. Previously only text files could be created. [SharePoint](https://docs.abundly.ai/integrations/sharepoint) ## ⚠️ Changed Behavior * **Thinking setting is now Effort, with three levels** — The on/off thinking toggle is replaced by an Effort setting — Faster, Balanced, or Smarter — available in agent model settings, per scheduled task, and in the chat top bar. Existing "on" configs became Balanced and "off" became Faster; chats that previously defaulted to thinking-off now inherit the agent's default effort (Balanced unless configured otherwise), so chat responses may think more than before by default. Some models that previously ignored the off switch, or disabled thinking entirely, now honestly reflect Faster as minimal-not-zero thinking. Reload any browser tab left open from before this release for the control to work. [Model selection](https://docs.abundly.ai/features/model-selection#effort-level) * **Grok 4.1 Fast models retired by xAI** — xAI now serves requests to these models as Grok 4.3. They're hidden from the model picker for new configurations and billed at Grok 4.3 rates; existing agents that use them keep working. [Model selection](https://docs.abundly.ai/features/model-selection) ## New Features * **Compare effort levels side by side in evals** — The eval model picker, for both the tested model and the grader, now offers Faster/Balanced/Smarter variants of each model, so you can measure quality against cost at a glance. [Agent evals](https://docs.abundly.ai/features/evals) ## Improvements * **For workspace admins: clearer message when an agent has no usable model** — The failure notification now states exactly why — the model is disabled for the workspace, the vendor isn't authorized as a data processor, or no API credentials are configured — and what to do about it. [Managing model access](https://docs.abundly.ai/features/model-selection) ## Bug Fixes * **Company screening jobs no longer retry endlessly on failure** — A screening task that hits a terminal error (for example the workspace running out of credits) now fails once with a recorded error, instead of hanging in "processing" and silently re-running. * **Fixed platform hangs when agents rewrite documents** — Replacing the content of a mid-size document could previously freeze the platform for other users on the same instance for minutes; document writes now always complete quickly. ## New Features * **Chat about a whole folder** — Folders now have a "Chat about this folder" action in the document explorer. The new chat starts with a listing of everything inside — names, ids, and descriptions — so the agent knows what's there and can open any document you ask about. [Documents](https://docs.abundly.ai/features/documents) * **For workspace and team admins: extra instructions per capability** — Add your own guidance to any capability from the workspace Capabilities page, and it automatically applies to every agent that has that capability enabled — no need to repeat house rules like which Slack channels agents may post in, or how to sign outgoing email, in each agent's instructions. Teams can set their own text that replaces the workspace text. This is guidance for the agent, not an enforced limit — use capability blocking or allow-lists for a hard control. [Capabilities](https://docs.abundly.ai/features/capabilities) ## Improvements * **Scheduled runs ride out AI provider rate limits** — If an AI provider briefly rate-limits a request, a scheduled run now waits and retries automatically instead of being skipped entirely; chat shows "The AI provider is busy — retrying…" while this happens. * **Clearer message when a provider's usage limit is reached** — When an AI provider's own quota for a model is exhausted (for example a daily token limit), chat now shows a dedicated "Provider capacity limit reached" card explaining that it resets automatically, instead of a generic error with a Try again button that couldn't succeed. [Troubleshooting](https://docs.abundly.ai/guides/troubleshooting) * **Clearer response when an agent hits its credit limit** — Calls to an agent's HTTP API or MCP server that exceed its daily credit limit now return a `429 Too Many Requests` with the limit that was reached, instead of a generic server error. Limits reset at midnight UTC. [Agent API and endpoints](https://docs.abundly.ai/features/agent-api-endpoint) ## Bug Fixes * **Published images now work in canvas-based app documents** — An app document that draws a published image into a canvas can now export it as PNG instead of failing with a cross-origin security error. * **Partial AI responses are no longer lost when a provider fails mid-answer** — If the AI provider fails while streaming an answer, the text already written is now kept in the chat history alongside the error, for every model (previously this could be lost for Claude and Gemini). ## ⚠️ Changed Behavior * **For workspace admins: transcription from CAD, SharePoint and Slack files is now billed** — Extracting text from a Slack file attachment, a SharePoint document, or a CAD file now counts towards credit consumption, the same as every other transcription in the platform. Workspaces using these features may see a small increase in credit usage. * **For workspace admins: team-restricted agents can no longer be moved out of their team** — An agent whose access is restricted to team admins can no longer be moved to the workspace-global space; change the restriction first, then move the agent. [Access control](https://docs.abundly.ai/security/access-control) ## New Features * **Virtual Machine secrets** — Give a virtual machine access to tokens (like a GitHub PAT or API key) without the agent ever seeing the real value. Create a Virtual Machine secret under Shared Assets → Secrets, then attach it to the agent's Virtual Machine capability; outbound requests to the hosts you allow get the real value, everywhere else only a placeholder is present. [Virtual Machine](https://docs.abundly.ai/features/virtual-machine) * **Delegate agent administration to an agent** — Give an admin-only agent the new Workspace Manager capability and it can administer the other agents in your workspace on your behalf: pause and enable them, move them between teams, set credit limits, default model, criticality, and manage tags — everything a workspace admin can already do from Agent Management, with every change recorded in the action history. [Agent Management](https://docs.abundly.ai/features/agent-management) ## Improvements * **Dialogs are centred and scroll properly** — Dialogs now open centred on the screen and never grow taller than the window; long ones scroll inside the dialog itself so their buttons stay visible. * **For workspace admins: chat widget responds immediately** — The chat widget's backend endpoint now responds as soon as it accepts a request instead of staying silent until the agent's first reply, so visitors see an activity indicator right away and integrators can tell a slow agent apart from an unreachable one. [Chat widget](https://docs.abundly.ai/features/chat-widget) * **For workspace admins: agent actions appear in the action history** — Changes an agent makes through a capability tool (e.g. Workspace Manager) now show up in the workspace action history and CSV export, attributed to that agent. ## ⚠️ Changed Behavior * **Starting a chat about a document or owner notice now prefills your message** — "Chat about this" on a document, and "Discuss with agent" on an owner notice, now open a new chat with the document or notice attached and a short prompt prefilled so you can edit it before sending — instead of sending immediately with no response. This also fixes a case where clicking "Chat about this" did nothing while the document side panel was open. [Agent documents](https://docs.abundly.ai/features/documents) ## New Features * **API reference for the Workspace API** — The docs now include a generated API Reference covering every Workspace API endpoint with its parameters, types and error responses, alongside the existing guide. [Workspace API](https://docs.abundly.ai/features/workspace-api) ## Improvements * **For workspace admins: secret and API capability restrictions are more reliable** — Agent and team restrictions on secrets and API capabilities no longer disappear when you can't see the restricted agent or team, clearing a restriction now actually saves, and the "agents using this secret" list now recognizes every integration type (some, like Salesforce, Fortnox, WhatsApp and SharePoint, could previously appear unused). Deleted agents are now labelled clearly in restrictions, and deleting a secret cleans up every reference to it. ## Bug Fixes * **Image analysis works again on the newest Gemini models** — Agents running Gemini 3.6 Flash or Gemini 3.5 Flash-Lite can look at images again; this previously failed with a provider error. * **No more empty "Thoughts" bubbles in chat** — Some models return reasoning blocks with nothing in them; those are now hidden, while real reasoning summaries still show. * **Double-clicking "Summarize for new chat" no longer creates a duplicate** — the button now disables with an info toast while a summary is already being generated for that chat. ## ⚠️ Changed Behavior * **Reliable document search in large libraries** — Agents can now search and browse libraries with thousands of documents without runs stalling. Keyword search returns the most relevant matches with a count of the rest instead of trying to return everything, and agents page through very large folders. [Documents](https://docs.abundly.ai/features/documents) * **Voice dictation now uses ElevenLabs** — The mic button transcribes with ElevenLabs Scribe instead of OpenAI Whisper. Quality is the same or better; filler words are still cleaned up. No action needed. * **For workspace admins: ElevenLabs added as a platform subprocessor** — Audio transcription is now processed by ElevenLabs (US). ElevenLabs appears under Workspace Settings → Data Processors. Workspaces that don't authorize ElevenLabs keep working transcription — it automatically falls back to OpenAI Whisper (plain text, no speaker labels). [ElevenLabs integration](https://docs.abundly.ai/integrations/elevenlabs) * **Multi-tab Google Docs can no longer be replaced as a whole** — Updating a Google Doc that has more than one tab now requires specifying `tabId` or `tabTitle`. A whole-document update would previously have removed the other tabs. * **For workspace admins: service accounts need the Docs and Sheets APIs** — For Google Drive service-account mode, enable the Google Drive API, Google Docs API, and Google Sheets API on the GCP project. Docs is required for the new document and tab tools. [Google Drive](https://docs.abundly.ai/integrations/google-drive) ## New Features * **Google Doc tabs** — Agents can list tabs in a Google Doc, create a new tab, and read or replace one tab without touching the others. [Google Drive](https://docs.abundly.ai/integrations/google-drive) * **Better audio transcription with speaker labels** — Audio and video files uploaded as agent documents are now transcribed with ElevenLabs Scribe: higher accuracy (especially for Swedish and accented English), and meeting recordings get speaker labels with timestamps ("**\[12:34] Speaker 1:** …"). Voice memos with a single speaker keep timestamps but skip the labels. [Documents](https://docs.abundly.ai/features/documents) * **Re-transcribe audio documents** — Audio/video documents have a new "Re-transcribe" menu action to redo the transcript with an explicit language (when auto-detection got it wrong) or without speaker labels. [Documents](https://docs.abundly.ai/features/documents) ## Improvements * **Better scheduled triggers from your instructions** — When you save an agent's instructions, the scheduled tasks derived from them are now worked out by a strong model even if your agent runs on a cheaper one, so times and task descriptions match what you wrote more reliably. Trigger messages are also shorter — a brief pointer to the task instead of a copy of the instructions. [Scheduling](https://docs.abundly.ai/features/scheduling) * **Faster document search in Documents views** — The search field in agent, workspace and team document views now loads the whole library in one request instead of folder by folder, so results appear straight away in large libraries. When a search matches more than fits, it tells you how many matches were left out. [Documents](https://docs.abundly.ai/features/documents) * **For workspace admins: Workspace API improvements** — Agent document listings accept `?excludeContent=true` for metadata-only responses; `pageSize` now works on the activity-log endpoint without also passing `page`; unknown paths under `/workspaceapi` return a JSON error instead of an HTML page; and the docs now cover responses in more depth, including the `access` ownership object and current rate-limit guidance. [Workspace API](https://docs.abundly.ai/features/workspace-api) * **Atlassian MCP setup URL updated** — Use `https://mcp.atlassian.com/v1/mcp/authv2` when adding the Atlassian Rovo MCP capability; the previous URL no longer authenticates. * **Dedicated deployment hosts called out across the docs** — Pages that give a platform address now note that enterprise customers on a dedicated deployment use their own `.app.abundly.ai` and `.service.abundly.ai` hosts, which matters most for OAuth callbacks and allowlists. ## Bug Fixes * **Stopping an agent run no longer breaks the conversation** — Interrupting a run used to be able to leave a chat in a state where every following message failed. Interrupted runs now stop cleanly and the conversation continues normally. ## ⚠️ Changed Behavior * **Claude Sonnet 5 now costs fewer credits** — Anthropic made Sonnet 5's introductory pricing permanent, so Abundly's credit rates now reflect it: roughly a third less per input token and per output token than before. Nothing to do — existing agents on Sonnet 5 simply cost less to run. [Choosing a model](https://docs.abundly.ai/features/model-selection) * **Editing is disabled in remote chats** — Messages in Slack, Teams, Google Chat and WhatsApp conversations can no longer be edited from the portal, since the original conversation lives in the other app and can't be rewritten. Use **Copy chat** to continue the conversation in a regular portal chat instead. [Chat](https://docs.abundly.ai/features/chat) * **Handoff summaries take a bit more time and credits, but are more thorough** — "New chat with summary" and "Summarize for new chat" now generate the recap using your chat's own model instead of a cheap side-task model, and seed the new chat with a short tail of the most recent messages too. [Chat](https://docs.abundly.ai/features/chat) ## New Features * **Copy chat** — Duplicate any portal chat from the chat menu or chats list, including its attached documents. Conversations started in Slack, Teams, WhatsApp, or Google Chat can also be copied into a regular portal chat to continue there. [Chat](https://docs.abundly.ai/features/chat) * **See Meet links and attached files on calendar events** — Agents with the Google Calendar capability now see the Google Meet join link and any files attached to an event, including recordings, transcripts, and "Notes by Gemini" documents. Reading the file contents still requires the Google Drive capability. [Google Calendar](https://docs.abundly.ai/integrations/google-calendar) ## Improvements * **Handoffs and summaries follow your language and keep your documents** — Chat titles, diary entries, and handoff summaries now match the language of the conversation instead of defaulting to English, and documents attached to the original chat carry over correctly when you continue it elsewhere. [Chat](https://docs.abundly.ai/features/chat) * **Agents follow rapid-fire messages in the right order** — Sending several messages in a row on Slack, Teams, Google Chat or WhatsApp no longer confuses the agent about which message it's replying to, even for ones typed while it was still responding. [Multi-channel communication](https://docs.abundly.ai/features/communication) ## Bug Fixes * **Scheduled tasks on OpenAI models no longer fail silently** — Scheduled script runs on GPT-based agents could previously abort with no output at all; they now complete normally. * **Fixed a crash in OpenAI chats that had used tools** — Continuing such a conversation could fail with a request error instead of replying; affected chats work again without needing to be recreated. ## ⚠️ Changed Behavior * **For workspace admins: the `toolCalls` column is gone from the BigQuery export** — It stopped populating in June and is replaced by a new `agent_log_steps` table that records each tool call individually. Update any queries that reference the old column; it remains in existing datasets, empty, until removed. * **For workspace admins: model restrictions now apply to chat-summary generation** — The model used to generate "new chat with summary" handoff documents is now chosen from your workspace's allowed models, respecting model disables, allowlists, and subprocessor opt-outs. Previously this one internal call could use a model your workspace had disabled. [Managing model access](https://docs.abundly.ai/features/model-selection) * **Clearer wording for API access settings** — The export and clone dialogs now label the option "API access settings (APIs this agent exposes)" to distinguish it from API Capabilities, which are the APIs an agent calls. The export dialog also states that API Capabilities are never written to the file. [Agent sharing and cloning](https://docs.abundly.ai/features/sharing) * **For workspace admins: unknown tool names now return 404** — The Workspace API's tool-usage endpoint now rejects a tool name it doesn't recognize instead of returning an empty result, so a typo or a capability id like `codeExecution` fails loudly rather than looking like an unused tool. A `200` with a zero count now means the tool is real and simply wasn't used in the window. [Workspace API](https://docs.abundly.ai/features/workspace-api) ## Improvements * **For workspace admins: tool attribution now sees inside code execution** — Credit attribution by tool in workspace analytics now counts tools an agent calls from inside a code-execution script or a delegated sub-task, instead of attributing that work to `code_execution`. Applies to chats from this release onward. * **For workspace admins: chat and tool-call data in the BigQuery export** — Enterprise workspaces with the analytics export now get two more tables: one row per conversation with the credits it consumed and the channel it happened in, and one row per tool call on a trigger run. Together they let you break spend down by channel (Slack, email, scheduled, in-app) or by the integration a run touched. * **Better summaries when starting a new chat with a summary** — The "new chat with summary" handoff document is now generated with reasoning enabled for all agents. Previously only agents on certain models got the higher-quality summary. [Chat](https://docs.abundly.ai/features/chat) * **Cloned agents keep their API Capabilities** — Cloning an agent within the same workspace now carries over the API Capabilities it was granted, so the clone can call the same APIs without an admin re-granting them. Clones to another workspace, and agents created from an exported file, still start without them. [Agent sharing and cloning](https://docs.abundly.ai/features/sharing) * **A warning when imported endpoint paths are skipped** — Importing or cloning an agent whose exposed HTTP API has a legacy empty endpoint path now shows a warning that some paths were skipped, instead of quietly leaving them out. ## Bug Fixes * **Agents can no longer create unreachable API endpoints** — When an agent adds an HTTP API endpoint for itself and writes the path with a leading slash, the slash is now removed so the endpoint works at the URL shown in settings. Previously such endpoints appeared configured but returned 404 for every call. [Agent API endpoints](https://docs.abundly.ai/features/agent-api-endpoint) * **For workspace admins: HTTP trigger endpoints return 402 instead of 500 when a workspace is out of credits** — Approval links and other agent HTTP trigger endpoints now respond with a clear "out of credits" message when a workspace has run out, instead of a generic server error. ## ⚠️ Changed Behavior * **For workspace and team admins: Trigger bulk action now works on every agent you administer** — The Trigger bulk action in Agent Management previously failed with "access denied" unless you were explicitly on an agent's access list. It now works on any agent you administer as a workspace or team admin. [Agent management](https://docs.abundly.ai/features/agent-management) * **For workspace admins: "Send notice" renamed to "Notify owners"** — The Agent Management bulk action for messaging agent owners has a new name to match the notices themselves. What it does is unchanged. [Agent management](https://docs.abundly.ai/features/agent-management#bulk-actions) ## New Features * **Summarize for new chat** — Every chat's menu now has a "Summarize for new chat" option. The agent writes a handoff recap of the conversation and opens a fresh chat with it, so you can carry your context into a clean chat without waiting for a context-limit warning. [Chat](https://docs.abundly.ai/features/chat) * **Virtual machines recover on their own** — If an agent's virtual machine stops or becomes unreachable mid-task, the agent now wakes it back up and continues instead of failing. Files and installed packages are preserved, and interrupted commands are no longer blindly repeated. [Virtual Machine](https://docs.abundly.ai/features/virtual-machine) * **Model suggestions for demanding skills** — When a task needs a skill that works best on a strong model, the agent now shows a card suggesting a model switch for that chat only. [Model selection](https://docs.abundly.ai/features/model-selection#per-chat-model-switching) ## Improvements * **Large file downloads fixed** — Downloading files larger than 32 MiB previously failed silently; they now download correctly. * **For workspace admins: cleaner errors from the workspace API** — Workspace API calls that reference an unknown or invalid agent ID now return a clear 404 instead of a server error. * Upgraded the mermaid diagram-rendering library to resolve several security advisories affecting diagrams shown in chat and documents. * **Accurate credit figures for API, webhook and MCP runs** — The activity log now includes tool costs in the credits shown for runs triggered via webhooks, HTTP API endpoints, and MCP tool calls; previously these entries only reflected model calls, so tool-heavy runs looked cheaper than they were. * **For workspace admins: credit usage by channel in workspace analytics** — Admin agents can now break down credit spend by channel (Slack, in-app chat, scheduled triggers, email, API and webhook) via the workspace analytics tables. * **For workspace admins: credit attribution by tool in workspace analytics** — Admin agents can now break down credit spend by the specific tools and integrations runs used (e.g. "what do runs that query Snowflake cost us?"), across both chats and trigger runs. * **For workspace admins: analytics tool-call counts fixed for GPT and Gemini chats** — Chat tool-call counts in workspace analytics previously missed chats run on OpenAI or Gemini models; all model providers are now counted correctly. * **For workspace admins: Workspace API tool usage clarified** — The tool-usage endpoint expects a tool name such as `code_execution`, not a capability id such as `codeExecution`; docs now explain the distinction, how to find your agents' tool names, and cleaned-up error status codes (unparseable dates and unknown ids now return 400/404 instead of 500). [Workspace API](https://docs.abundly.ai/features/workspace-api) ## ⚠️ Changed Behavior * **For workspace admins: Claude Fable 5 is now on by default** — Fable 5 previously had to be turned on explicitly before workspaces could use it. It now follows the same rules as every other model in the catalog, so it appears for any workspace that hasn't disabled it. [Choosing a model](https://docs.abundly.ai/features/model-selection) ## New Models * **Claude Fable 5 available in the model picker** — Anthropic's most capable model can now be selected for any agent, without needing it enabled first. It's the top of the Claude range, above Opus, for the hardest problems. [Choosing a model](https://docs.abundly.ai/features/model-selection) * **New "Claude Fable Best" alias** — Pick this instead of a specific Fable version and your agent automatically follows the latest version we recommend, the same way the Sonnet, Opus, and Haiku aliases work. [Choosing a model](https://docs.abundly.ai/features/model-selection) ## Improvements * **For workspace admins: Enterprise plans no longer listed twice** — Workspaces on an enterprise plan now see only the plan they are subscribed to on the billing page, instead of one entry per underlying price. * **"What's New" dismissal now syncs across devices** — Dismissing or reading the "What's New" popup on one device now keeps it dismissed everywhere you're signed in, instead of reappearing per device. ## Bug Fixes * **Service status badge readable in dark mode** — The status badge in the Help & support menu now follows your light or dark theme. ## GitHub Enterprise Support The GitHub capability now works with GitHub Enterprise — both Enterprise Cloud with data residency and self-hosted Enterprise Server. Workspace admins can enter the instance's host name in the new **GitHub host** field when configuring the GitHub capability; leave it empty to keep using github.com. Agents in GitHub Enterprise workspaces can browse repositories, review pull requests, and manage issues on their company's GitHub instance just like they already could on github.com. [GitHub integration](https://docs.abundly.ai/integrations/github) ## Bulk Agent Management Actions Two new bulk actions in the Agent Management view make it faster to work with many agents at once: * **Trigger** — Select any number of agents, enter a message, and fire all of them at once. Useful for broadcasting a task or message to multiple agents simultaneously. * **Send notice** — Workspace admins can select multiple agents and send an owner notice to all of their owners in one action, without visiting each agent individually. ## Improvements * **Removed misleading model badge** — The model badge in the agent selector and management table has been removed. It showed a single model but agents use different models per purpose (chat, scheduled tasks, email, etc.), making it actively misleading. ## Agent Owner Notices Agents can now send notices to their owners when they are blocked, need a decision, or want to propose a change they cannot make themselves — for example, a token that needs refreshing, a question only a human can answer, or suggested rewording for their own instructions. The new always-available `notify_owners` tool takes a `title`, a `message` (up to 8 000 characters), and an optional `severity` (`info`, `warning`, or `error`). Each notice is delivered to the agent's owners through the notification system, escalating to team and workspace admins for ownerless agents. Owners can view all notices in full on a new **Owner Notices** tab on the agent's Activity page. Each notice includes a button that opens a chat seeded with the notice content, so the owner can act on it immediately. ## Model Picker Improvements * **Distinct chat-default option** — Chats that follow the agent's model default now show a distinct *(chat default) Model Name* entry in the picker. Selecting the plain model name pins the chat to that model explicitly — fixing a case where this was impossible on mobile. * **Alias target tooltip** — Hovering the picker button for an alias selection now shows which model the alias currently points to, so the moving-pointer nature of the alias is visible at a glance. ## Bug Fixes * **Model picker on new-chat page** — The picker was showing the alias's resolved target instead of the alias itself before the first message was sent. It now shows the alias consistently from the start. ## Per-Chat Model Selection Every new portal chat now keeps the model it was started with. If you change the agent's default model later, existing conversations continue with the model they were created under — no surprises. A model picker in the chat top bar (desktop and mobile) lets you switch the model for that chat only. ## Multi-Account Gmail One agent can now be connected to multiple Gmail accounts — useful for assistants managing both a personal and a work inbox, for example. When two or more accounts are linked, Gmail tools gain a required `account` parameter to specify which inbox to use; single-account setups are unchanged. ## Improvements * **Platform-default alias stamping** — Agents with no model configured now track the platform-default alias itself, so they follow platform retargets automatically. The settings page also makes it clearer when a model is inherited rather than explicitly set. * **Mobile model selector** — The chat model selector on mobile is now functional and correctly styled. ## New Models * **Gemini 3.6 Flash** (`gemini-3.6-flash`) — Google's new default workhorse model is now available. Same input price as Gemini 3.5 Flash ($1.50/M tokens) with cheaper output ($7.50/M vs \$9/M), placing it in cost tier 2. 1M context window with thinking support. * **Gemini 3.5 Flash Lite** (`gemini-3.5-flash-lite`) — The fastest and most affordable model in the 3.5 generation ($0.30/$2.50 per 1M tokens, cost tier 2). 1M context window with thinking support. ## Bug Fixes * **Value dashboard "Learn more" link fixed** — The link in the value dashboard now correctly points to the docs page (previously led to a 404). ## Improvements * **Consistent delete confirmation** — The delete confirmation dialog is now identical whether you delete from the document explorer or from the open document side panel. Previously the two surfaces showed different-looking dialogs for the same action. ## Folder Deletion Safeguard Deleting a document folder that contains documents or subfolders now requires explicit confirmation. The confirmation dialog shows what will be deleted, helping prevent accidental data loss. ## Bug Fixes * **LLM API keys no longer leak across models** — A custom LLM configuration's API key was incorrectly applied to all models from the same vendor. The key now applies only to its specific model, and the settings UI no longer auto-copies it to the shared vendor key on page load. * **Custom models now visible in the model picker** — Catalog models pinned to a specific API key via a per-model override now appear correctly in the model picker. ## Improvements * **LLM settings header shows the editing scope** — The LLM section header in the configuration panel now reads "LLMs (global)", "LLMs (workspace)", or "LLMs (agent)" to make it clear which level you are editing. ## New Models * **Claude Opus 5** (`claude-opus-5`) — Anthropic's latest frontier model is now available on the platform. Like Opus 4.8, it uses adaptive thinking with the `effort` parameter. * **Grok 4.5** (`grok-4.5`) — xAI's Grok 4.5 is now available as a selectable model (standard context: $2/M input, $6/M output). ## Improvements * **Thinking toggle now correct for GPT mini/nano** — `gpt-5-mini`, `gpt-5-nano`, `gpt-5.4-mini`, and `gpt-5.4-nano` now correctly show the thinking toggle as available in the model picker. * **Inherited model thinking gating** — When no model is explicitly selected, the thinking toggle now correctly reflects whether the inherited/default model supports thinking, matching behavior for explicitly-selected models. ## Value Dashboard A new **Value dashboard** is now available in the Management section of the portal. It gives creators a cross-agent overview of triggers & messages, credits used, and actual vs. expected value per agent — with card and table views, trend sparklines, and links to value capture settings for each agent. The dashboard is visible when workspace value capture is enabled. ## Per-interaction Actual Value Agents can now be configured with a **per-interaction rate** for value capture. Instead of entering a manual value, set an amount per trigger or message and the dashboard will compute actual value automatically from usage counts. New value capture entries default to per-interaction mode. ## Bug Fixes * **Gemini image model fix** — The `gemini-3.1-flash-image` model alias has been updated (the previous `-preview` suffix caused the model to not be found). ## Bug Fixes * **`create_agent` tool: agents now assigned to creator's team** — Agents created via the `create_agent` tool are now automatically placed in the same team as the creating agent. Previously, created agents were always ungrouped regardless of which team the creator belonged to. * **Workspace default model now saves correctly** — Changing the default model in Workspace Settings now persists after a page reload. The setting was being applied optimistically in the UI but not saved to the backend. ## Improvements * **Eval editor: "Run plan and security" gated on system prompt** — The *Run plan and security* switch is now disabled (and automatically forced off) when the agent system prompt is not included in an eval (`agentContext = none`). An explanatory tooltip explains why. This prevents creating invalid eval configurations. * **Eval poll timeout extended to 30 minutes** — Long-running evals no longer time out after 5 minutes. The UI also shows a clearer status message if polling does time out, replacing the previous contradictory "Eval Run Complete / Polling timed out" state. ## Bug Fixes * **Claude Sonnet 5: sampling parameters fixed** — Fixed an issue where passing custom `temperature`, `top_p`, or `top_k` values caused API errors with Claude Sonnet 5. The model now uses default sampling parameters, matching Claude Opus 4.7+ behavior. ## Bug Fixes * **Anthropic daily/monthly quota: fail-fast instead of retrying** — Agent runs that hit Anthropic's daily or monthly token quota now fail immediately with a clear error instead of burning through \~10 retries over 30 minutes. Short-term rate limit 429s (TPM/RPM) remain transient and continue retrying as before. ## New Models: GPT-5.6 Sol, Terra, Luna OpenAI's three new GPT-5.6 models are now available in the model picker: * **GPT-5.6 Sol** — Frontier tier. The `gpt-5.6` alias points here, matching GPT-5.5 pricing. * **GPT-5.6 Terra** — Mid-tier, balancing intelligence and cost. * **GPT-5.6 Luna** — Cost-sensitive tier. All three support reasoning tokens and the 1.05M context window. ## Improvements * **Clearer HTTP request progress** — Agent progress messages for HTTP requests now show plain-English outcomes (`success`, `redirected`, `request was rejected`, `server error`) instead of raw status codes, making the activity log easier to read. ## Bug Fixes * **Gemini Flash Lite** — Agents configured with the deprecated `gemini-3.1-flash-lite-preview` model (shut down by Google on 2026-05-25) have been automatically migrated to the GA model ID `gemini-3.1-flash-lite`. Affected agents will now run correctly again. ## UI Improvements * **Microphone button removed from document and instructions editors** — Voice-to-text input has been removed from the document editor and agent instructions editor. The mic remains available in the chat composer and message edit form. ## Bug Fixes * **Stripe billing reliability** — Fixed an issue where duplicate Stripe subscriptions could be created, blocking workspaces with a `SubscriptionNotActive` error. The billing plan card now correctly shows "Cancels on" (instead of "Renews on") when a subscription is set to cancel at period end. ## Workspace User Action Log & Audit Logs Workspace admins now have a full audit trail of configuration changes in their workspace. The new **User action log** tab on the Usage page shows an append-only log of changes to agents, teams, secrets, API capabilities, and workspace settings — with CRUD-colored badges and expandable detail rows. Sensitive values (such as instructions and prompts) are redacted to hash tokens so admins can confirm that content changed without seeing what it was. Workspace admins and team admins see views scoped to what they have access to. A CSV/JSONL export is available (up to 50,000 rows). ## New Google Calendar Tool: Get Event Details The Google Calendar capability gains a new `get_google_calendar_event` tool for fetching the full details of a single event by ID: description, organizer, creator, attendee response statuses, htmlLink, and timestamps. The existing list tool returns a compact view; this tool gives you everything. ## New Fortnox Tool: Upload Files A new `fortnox_upload_file` tool lets agents upload PDFs and images directly to Fortnox Inbox or Archive without routing raw bytes through the LLM. Uploaded files can optionally be attached to vouchers or supplier invoices in the same call. Requires the `inbox`, `archive`, or `connectfile` OAuth scope depending on the operation. ## Proactive "New Chat with Summary" Button A button now appears next to the context usage indicator once your conversation reaches 80% of the context limit. Clicking it summarizes the conversation and starts a fresh chat — the same flow as the context limit dialog, but available proactively before you hit the wall. ## New Gmail Tool: Create Draft The Gmail capability gains a new tool — `create_gmail_draft` — for composing standalone new emails. Previously you could only draft replies and forwards anchored to an existing email. Now you can start a fresh email (with to/cc/bcc/subject/body), review it in Gmail, and send. ## Shareable Document Panel Links Maximizing or going fullscreen in the documents panel now syncs the state to the URL (`?view=maximized` / `?view=fullscreen`). The state survives a page refresh, and sharing the URL opens the document in the same view. ## Gmail Improvements * **Reply-To handling** — Replies now correctly use the original email's `Reply-To` header (rather than `From`) when one is present, matching standard email client behavior. * **Display name quoting** — Names with special characters (e.g. `Engborg, Nikolaj`) are now correctly quoted in email headers, preventing malformed headers that some servers reject. ## Bug Fixes * Fixed an error toast appearing on the admin Credit Usage page when loading workspace statistics. ## New Role: Collaborator A new **Collaborator** workspace role sits between Creator and Guest in the workspace hierarchy. Collaborators can: * Chat with agents and interact with shared ones * Edit agents they've been given access to * View and select existing secrets and API capabilities when configuring agents they edit Collaborators cannot: * Create, clone, or import agents * Create or manage workspace secrets or API capabilities Role hierarchy: **Admin > Creator > Collaborator > Guest** The existing ## Bug Fixes * **SharePoint app-only test connection** — Test connection for SharePoint app-only credentials now works correctly with `Sites.Selected` permissions. Previously it always returned 401 because it probed an endpoint requiring tenant-wide access. The fix uses a live token round-trip as the test, and also ensures the failure flag clears reliably when credentials are corrected. * **Activity log event type filtering** — `read_activity_log` and `read_agent_activity_log` now list all valid `eventType` values (e.g. `WebhookCallEvent` was previously missing from the docs). Passing an unknown event type now returns an error with the valid options instead of silently returning zero rows. ## New Model: Claude Sonnet 5 Claude Sonnet 5 is now available as a selectable model. You can choose it from the model selector — it has a 1M token context window and supports adaptive thinking. The default `claude-sonnet` alias remains on `claude-sonnet-4-6` for now; Sonnet 5 is available as an opt-in while we validate it. ## Improvements * **Faster Slack 👀 acknowledgement** — Slack agents now show the eyes reaction immediately when a message arrives, instead of waiting for the background worker to pick it up. You'll see confirmation right away. ## Read Gmail Attachments Agents with Gmail access can now read files attached to emails. Two new tools make this possible: * **`list_gmail_attachments`** — lists all attachments on a Gmail message (filename, MIME type, size). * **`download_gmail_attachment`** — downloads an attachment and saves it as an agent document, ready to use with `get_document` (text/PDFs) or `get_media_content` (images). Previously the Gmail capability was text-only — attachments were invisible to agents. ## Folder Visibility Cascade You can now hide entire document folders from your agent. When you set a folder to hidden, the visibility cascades to all documents and sub-folders inside it — they are all hidden at read-time without changing individual document settings. The file explorer shows a greyed-out indicator on documents that are hidden via an ancestor folder. ## Improvements * **Admin-blocked capability discovery** — Capabilities that a workspace admin has blocked are now shown as greyed "Not available" cards in the Built-in tab instead of disappearing entirely. You can click them to see why they're unavailable. The Built-in tab sorts unavailable capabilities below available ones, and category badges show an available/total count when some are blocked. ## Save Chat Documents to Google Drive You can now save any chat document directly to Google Drive. A new "Save to Google Drive" option in the chat document menu creates a native Google Doc in your own My Drive and opens it in a new tab. If you haven't connected Google yet, you'll be guided through a quick OAuth flow. ## PDF Export Improvements Several improvements to document PDF export: * **HTML, SVG, and React documents** now export correctly as PDFs — previously these produced a PDF full of raw source code instead of the rendered page. They now use browser print for a proper visual export. * **Images** are now included in PDF exports of image-type documents. * **Large data collections** (over 1,000 rows) no longer show the Download as PDF option, preventing misleadingly partial exports. Use Export Data for full datasets. * **Emoji** in documents are now handled gracefully in PDFs instead of showing as missing glyphs. ## Bug Fixes * **Slack app connection** no longer fails for agents with long descriptions. Slack enforces a 140-character limit on app descriptions — the manifest fields are now properly truncated so connecting any agent to Slack works regardless of description length. ## WhatsApp Capability Agents can now communicate with users directly over WhatsApp. Using Meta's Cloud API, you can give any agent a WhatsApp number and have it hold real 1:1 conversations with contacts — with full chat continuity per sender, image support, and mandatory sender whitelisting to control who can reach your agents. ## Read-only Workspace API A new read-only REST API at `/workspaceapi` lets you query workspace and agent data programmatically, authenticated with existing workspace API keys (`wk_`). Keys now support selectable scopes to limit what each key can access. ## Assign Secrets and API Capabilities to Multiple Teams Secrets and HTTP API capabilities can now be assigned to multiple teams at once. Use the multi-select team picker in the Secrets and API Capabilities editors to share access across teams without duplicating credentials. ## Improvements * **ISO 27001 certified** — The security docs now reflect our ISO 27001 certification. * **Account deletion now auto-cancels subscriptions** — Deleting your account automatically cancels all active Stripe subscriptions, so you're never charged after deletion. * **Chat top bar is now width-aware** — The action bar in chat smoothly switches between icon-only and full-label layout based on its own width, improving the experience in narrow or document-panel layouts. ## New Model: Mistral Medium 3.5 Mistral Medium 3.5 (128B, 256k context) is now available via Scaleway Generative APIs. It supports vision and configurable reasoning, making it a strong mid-tier model option. ## Bug Fixes * **Chat delete options now respect access level** — The delete chat options (single and bulk) were incorrectly shown to users with Use-level access. They are now correctly hidden for users without Edit permissions. ## Improvements * **MCP server icons** are now displayed consistently across the portal — on MCP tab cards, the enabled integrations tab, the settings drawer, and in the "Add a server" library. Icons are matched to known server templates and shown with a small add badge in the library view. ## Bug Fixes * **Team guests can no longer create agents in teams** — A bug allowed workspace members with guest-level team access to create new agents in those teams. This has been fixed; the restriction now applies at every layer (agent creation, snapshot import, and clone). Only team members and above can create agents in a team. ## Bug Fixes * **`edit_file_in_vm` no longer silently fails on non-matching edits** — The tool previously reported success even when `oldString` wasn't found in the file, leaving the file unchanged with no indication that the edit didn't take effect. It now returns `success: false` with a clear message when there are zero matches, so agents can detect and recover from missed edits. ## Advanced OAuth Configuration for MCP Connections The MCP connection auth dialog's advanced section now includes additional fields for servers that auto-discovery can't fully configure: * **Custom token endpoint URL** — For servers like NetSuite where the token endpoint lives on a different host than the authorize endpoint. * **Explicit scopes** — Set a scope string that is honored on both the auto-discovery and custom-auth paths. * **Client ID / Client Secret** are now always visible in the advanced section, not only when the server signals it requires custom credentials. ## Disabled Model Indicator in Chat When an agent is configured with a model that has been disabled, the chat now makes this immediately visible: the model name appears in red with a "(disabled)" badge in the action bar, and the message composer is blocked with a clear warning — instead of sending into a guaranteed error. Agents with disabled models now also fail fast at startup instead of silently substituting a different model. ## Improvements * **LLM reliability** — Transient provider outages (5xx/429/overloaded) and Claude streaming socket drops are now retried automatically, reducing failed scheduled runs and long agent turns caused by temporary network blips. ## Webhook HMAC Signature Verification Inbound agent webhooks can now be **secured with HMAC signature verification**. Configure a signing secret on a webhook definition and the platform will verify the signature header before dispatching — requests with invalid or missing signatures are rejected with 401. A new dedicated **Webhook signing secret** type keeps signing secrets clearly separate from API keys. Covers the common HMAC-over-raw-body pattern used by Jira, GitHub, Linear, Shopify, and similar services. ## Download Documents as PDF Documents can now be downloaded as **PDF** from the document panel menu and the file-explorer row menu, sitting right next to the existing "Download as docx" option. ## Improvements * **Agent Management filter terminology** — The "Admin" labels in the workspace Agent Management filter panel have been renamed to "Owner", completing the terminology migration on that page. * **`code_execution` tool-call view** — The chat now shows bold `Output:` and `Return value:` labels with execution time in the header for `code_execution` tool calls. ## Bug Fixes * **Voice mode restored** — Fixed HTTP 400 errors from the OpenAI Realtime API caused by an unsupported `session.temperature` parameter that broke every voice session. * **Workspace admin team role** — Admins who add themselves to a team can now change their own role (previously shown as a static "MEMBER" badge with no dropdown). * **Chat title generation errors** — Fixed a regression causing repeated `LlmJsonParseError` errors during chat title generation. * **Stale agent load error** — Navigating away from an inaccessible agent now correctly clears the error state, preventing a persistent error screen on subsequent pages. * **Gemini 3 thinking parameter** — Disabling thinking on Gemini 3 models now uses the native `thinkingLevel: 'none'` instead of the deprecated `thinkingBudget: 0`. ## Guest Access — Invite by Email People can now be given access to a single agent **without becoming full workspace members**. From an agent's User Access settings, admins can invite anyone by email. If they're already a workspace member the grant is applied immediately; otherwise a guest invitation is sent. Guests can log in but only see the agents they've been explicitly granted access to — workspace, team, secrets, and API pages are off-limits. Guests **don't consume seats** and are hidden from non-admin member and team lists. ## Scaleway EU Inference — Qwen 3.6 35B A new EU-hosted model is now available: **Qwen 3.6 35B Preview** via Scaleway's serverless inference. Scaleway is registered as a subprocessor from 2026-06-16. ## Gemini via Vertex AI / Project ID Gemini can now authenticate against **Vertex AI** without an API key. A `projectId` field in the vendor credentials lets Gemini use Application Default Credentials (ADC) — ideal for GCP-hosted deployments where the runtime service account already has the required `aiplatform.user` role. ## Continue After Tool-Call Limit When an agent exhausts the per-turn tool-call loop limit (100 iterations), portal chat now shows a **warning card with a Continue button** instead of a generic error. Clicking Continue resumes the task without truncating history, so long agentic workflows can pick up cleanly. ## Improvements * **Copy API Capability** — Each API Capability card now has a Copy button that opens the creation modal pre-filled with all fields from the source (name suffixed with "(copy)", secrets stripped for safety). * **File explorer performance** — Document listing queries no longer load full text bodies, fixing "Failed to load folder" errors in folders with many content-rich documents. Character counts are still shown via a stored `textContentLength` field. * **Instruction-cleanup skill** — New `instruction-cleanup` platform skill guides a behavior-preserving tidy-up of an agent's full instruction suite (main instructions + referenced documents) — without changing what the agent actually does. * **`upload_file_to_vm` with `documentId`** — Agents can now transfer existing agent or chat documents directly into a VM without loading the content into LLM context first. ## `get_models` Tool Agents now have a **`get_models` tool** to enumerate all available models at runtime. The `` section in the system prompt has also been streamlined to show only model aliases — keeping prompts leaner without losing discoverability. ## Document Deep-Links & Copy Link **Deep-linking to documents** is back: `?view=maximized` and `?view=fullscreen` query parameters on the Documents page now correctly open the document in the chosen view. A new **Copy link** button on the Documents page makes it easy to share direct links to any document or app. ## Higher Output Token Limit Max output tokens raised to **48k** across all LLM providers — Claude, Gemini, GPT, and Grok. Agents working on long-form content, large code files, or detailed reports can now produce significantly more in a single response. ## Per-Surface API & MCP Allowlists **API Capabilities and MCP servers** are now properly scoped per surface. Widget conversations only see the capabilities configured for them — API Capabilities and MCP servers no longer leak into widget contexts where they shouldn't be available. ## Improvements * **Better `query_document_data` errors** — Unsupported filter operators now return a helpful error listing all valid operators, instead of just naming the bad one. ## Auto-Transcription & Document Descriptions Uploaded binary files (PDF, Word, Excel, PowerPoint, etc.) are now **automatically transcribed** in the background — no more needing to explicitly ask the agent to read them. The agent's system prompt now correctly reflects the file's contents from the moment it is uploaded. A **description is also auto-generated** after transcription for easier discovery. Auto-transcription now works across all document scopes: agent, workspace, and team. ## Claude Fable 5 **Claude Fable 5** (`claude-fable-5`) is now available as a model option. Anthropic's latest top-tier model, featuring adaptive thinking support and a 1 million token context window. ## MCP Server Templates MCP server connectivity is now driven by a **code-defined template library** rather than admin-curated capabilities. Connect to any server from the template gallery or add one by URL — both produce standard user MCP servers on your agent. ## Improvements * **Unified document actions** — All document actions (Chat about this, Rename, Move, Publish, Export/Import data, Download, Delete) are now consistently available with the same ordering in both the file explorer row menu and the document panel menu. * **Friendly no-access page** — Opening a link to a private agent you don't have permission to view now shows a clear, friendly "no access" message instead of a generic error. * **Dropbox MCP** — The Dropbox MCP server template now correctly guides you to set up your own Dropbox App credentials, since Dropbox requires a custom OAuth app. ## Bug Fixes * **Field-based secrets not saving** — Fixed a silent bug where Snowflake, Cloud Storage, Salesforce, and Meta Ads secrets were silently not being saved when added or edited from the workspace Secrets page. * **Document API insert validation** — `POST /data/insert` now returns clear 400 errors with a helpful hint when the wrong field name is used (`rows` instead of `items`). The public docs have also been corrected. * **`insert_document_data` with null items** — Fixed a crash when `insert_document_data` was called with null or missing `items`. ## Improvements * **Responsive members & invitations lists** — The workspace members and pending-invitations tables now adapt to narrow viewports, rendering as stacked cards on mobile and as a grid on wider screens. ## Bug Fixes * **Agent creation with long names** — Creating an agent whose name (combined with the workspace name) produced a handle longer than 64 characters could fail outright. The handle collision auto-suffix (`…2`, `…3`) now works correctly for long names, and concurrent create requests are handled more robustly. * **Credits for document transcription** — Using the portal "Transcribe" button or the `transcribe_agent_document` tool now correctly deducts credits, matching the behaviour of all other transcription paths. * **Download text content file extension** — Downloading a document's text content now gives the file the correct extension (e.g. `.txt`, `.js`, `.css`) based on its MIME type, instead of always using `.md` or no extension. ## Endpoint Management Capability Agents can now programmatically manage their own exposed surfaces via a new **Endpoint Management** capability. Five tools let agents list, add, update, and remove HTTP API endpoints, webhooks, MCP server tools, and document API entries — and toggle surface-level settings like CORS and activity logging. ## Workspace Tags for Teams & Members Tags are now available on **teams and workspace members**, not just agents. A unified workspace tag vocabulary covers all three entity types, and filtering by tags works across the agents page, teams page, members list, and usage views. A new **Workspace Tag Manager** capability (admin-only) gives agents four tools to list and update tags on agents, teams, and members in bulk. ## Bug Fixes * **SVG documents** — SVGs are now rendered in a sandboxed cross-origin iframe, matching how HTML documents are handled. This prevents embedded `