Fastmail, Dropbox, Trello and QuickBooks Integrations, and Saved Emails in Chat
New
Chat: you can attach a saved email (.eml or Outlook .msg) to a chat, and your agent reads it as text
API keys: new dashboard and CLI keys expire after 90 days by default, with the option to create one that never expires
Scheduled tasks can now use your connected GitHub, Google, Microsoft or Gorgias app, the same as chat
Integrations
Fastmail: new integration — mail arrives in your Sprigr inbox within seconds, with full history import, threaded replies, and agent tools to search, send and manage email
Dropbox: new integration — agents can search and read your files, including Word documents, with support for editing document content and tables
Trello: new integration — agents can search, read and act on your boards and cards
QuickBooks Online: new integration, so agents can work with your invoices, payments and accounts directly in chat
Google Merchant Center: reports import every minute instead of every 15 minutes, so your data stays fresher
GitHub: agents can now read issues with very long descriptions in full
simPRO: agents can attach files to employee and contractor licences, and a lost-connection message tells you who connected it and what else is still connected
ServiceM8: agents can send you the connect link directly in chat
Google Drive: agents can now search the Drive files of your connected Google account even when its email differs from your Sprigr login
OneDrive: files deleted in OneDrive no longer show up in search on the older sync, and renaming a folder no longer saves the name twice
Microsoft 365 and Google Workspace: sync status now shows how many files are actually searchable, instead of a running import total
Microsoft 365: if you still use the older Microsoft connection, a prompt now moves you to the Microsoft 365 app in one click
Gmail and Outlook: mailbox syncing is steadier, and Google Drive-only connections now pick up the right account
Improved
Agents: pressing Stop ends the agent's current work right away, and a request no longer starts the same background job twice
Agents: when an agent hands work off to a specialist, the answer it brings back can use files you have access to
Files: deleting a folder uses Sprigr's own confirm dialog and shows its progress
Analytics: role-based analytics are ready much sooner after each nightly build
Communicate: Email, People and agent chat now share one consistent look, and on a phone, agent chat and Email threads use the same header as team rooms
Team rooms: the room now stays scrolled to the bottom while an agent is thinking
Marketplace: every app now shows its own icon instead of a generic placeholder
Fixed
Notifications: marking a notification read or dismissing it now applies only to you, not your whole team
Email: scheduled sends and delayed sends you can undo now keep their attachments
Reminders: a reminder that was missed while its time passed now fires right away instead of 15 minutes later
Workflows: saving a workflow no longer drops trigger settings the editor doesn't show
Chat: unsent messages in agent chats and thread replies are kept if you reload the page
Email: attachments now show in the attachment tray with previews, a file that can't be sent is flagged instead of silently dropped, and files attached to team-only notes are visible on the note
Shopify: with several stores connected, one store's error no longer stops syncing for the others
ServiceM8: a brief sign-in hiccup now resolves itself instead of disconnecting you, and a sync error tells you whether the account was never connected or has lost its connection
Maximo: attachments are no longer lost when file storage has a brief error
Tightened access controls when someone is removed from your team
Tightened access controls across Microsoft 365, Google Workspace and connected marketplace apps
v1.71.0
Team Room Panels, GitHub Actions for Agents, and Sturdier Integration Syncs
New
Premium agents now run on Claude Opus 5.5, our newest model, with its reasoning shown while it works
Team rooms: agents can post interactive panels you fill in and submit right there, and app cards can now be shared into a room
Team rooms: @-mention an agent inside a thread and it replies right there, with its reasoning streamed live at parity with direct chat
Analytics questions over very large tables now run instead of being refused as too big, and are faster; questions that take longer than about 20 seconds now finish instead of failing, with your agent letting you know it's still working
Custom domains now repair themselves, checked every few minutes with routing recreated automatically if it goes missing
Fulfilment Hub: the order view now shows the customer, recipient, phone and shipping address, and you can correct the address, with edits sent to the selling system too
Fulfilment Hub: added an opt-in, branded customer tracking page
Integrations
GitHub: agents can read Actions runs and their job logs, look up any commit or branch, and list the commits in a pull request
Google Analytics: every report now imports, including campaigns, acquisition, landing pages, pages and geography, and backfills advance every report together instead of stalling all but one
Google Analytics: history backfills much faster, very large import days no longer stall, and a brief write hiccup no longer stalls the import
Xero, Google Analytics and Search Console now tell you exactly why a reconnect is needed
Shopify: high-volume webhooks (orders, products, customers, inventory, fulfillments, refunds) now deliver through a faster, batched path, and failed deliveries are automatically recovered instead of silently dropped, even when the store is under heavy load
Shopify: an inventory event log replaces the old daily snapshot, and large stores' inventory syncs faster
Shopify: search and status filters now either apply correctly or tell you they can't, instead of quietly ignoring them, and SKUs containing a space resolve to the right variant
Shopify: orders stuck on hold are released once the hold clears, an out-of-date update can no longer overwrite newer order data, and refunds are no longer double-counted during a backfill
Shopify: webhook registration now targets the correct store on multi-store installs
simPRO: you're notified when a connection is revoked, and a sign-in issue that caused surprise disconnects is fixed
simPRO: employee attachments can now be downloaded
simPRO: list and quote searches on browser-mode installs now honour every filter and page correctly, and a deleted invoice is now marked deleted in Sprigr too
Maximo: work order attachment files can now be downloaded
Maximo: sign-in problems that stalled a connection are fixed, a scheduled reconnect no longer interrupts you mid-sign-in, scheduled syncs no longer time out partway through, work-order updates arrive sooner, and a refresh no longer erases already-enriched details
Microsoft 365: connects faster, a successful connection no longer shows a red error page, and the IT-admin consent link now opens correctly for admins who aren't Sprigr users
Microsoft 365: file indexing no longer repeatedly re-triggers itself, a drive you opted out of stays opted out, and Outlook attachment downloads point agents at the right file
Microsoft 365: an agent can now search OneDrive and SharePoint files for the connected Microsoft account even when its email differs from your Sprigr login
Fulfilment Hub: a hold now stops an order still queued from reaching the warehouse, and stale acknowledgements and order statuses clear on their own instead of getting stuck
Fulfilment Hub: pager numbering starts at 1, and icons for the pager, Reports tab and Export button render properly
Procore syncs now resume where they left off instead of restarting
Bitbucket: deleting a branch or webhook now asks for confirmation first
Improved
Agents default to medium effort — it answered as well as high in our tests, and a little faster; raise it per agent or per conversation in the effort picker when a task needs more deliberation
Large documents an agent produces are now stored as a file link instead of inline, so they no longer disappear from a conversation
When the model declines a request on safety grounds, your agent now shows a short notice instead of an empty reply
Connecting any app: the confirmation page now always renders correctly, and a successful connection no longer briefly flashes as failed
Communicate: message times read the same 12-hour way across Email, People and Agents, and old agent chat and inbox links now open in Communicate
Workflow-failure alerts now avoid repeating within a longer time window, instead of only within a single run
Adding an agent to an integration now gives it access to that integration's data right away, instead of a delay
Team rooms: a turn now shows a timeline of the tools the agent used, matching direct chat
Fixed
Chat: Japanese, Chinese and Korean input no longer sends half-typed, and the agent message box grows to its full height
Email: an agent's reply opened in Email mode now shows its formatting, such as tables and bold text
Team rooms: panels and decisions answered inside a thread reply now reach the room, date dividers stay on the right day near midnight, and the conversation no longer jumps to the bottom while you read earlier messages
Team rooms: image and attachment messages display at full size instead of collapsing, reaction chips name who reacted, and the hover toolbar no longer sticks after a click
Team rooms: an agent's full response now renders properly in a thread reply
Chat: if you're signed out, the panel now tells you plainly instead of endlessly trying to reconnect
Workflows: runs left stuck as "running" are now marked timed out, so run history is accurate
You're now notified whenever a connected marketplace app's authorization is revoked
Schedules created inside a team room now deliver their results back to that room
Signing out on one device no longer signs you out of your other devices
Card payments now stay on your most recently saved card, so a subscription won't be suspended after you update payment details
Fixed subscription renewals not being recorded or advancing your billing period correctly
New plan purchases now activate right away instead of needing a follow-up delivery
v1.70.0
Longer Agent Tasks, the Fulfilment Hub, and a New Maximo Integration
New
Agents can now work through long tasks without being cut off at a fixed time limit — a turn ends when it stops making progress, not on a timer
Files: legacy Office formats now work end to end — old Word (.doc, .dot), PowerPoint (.ppt, .pot) and Excel (.xls, .xlt) files can be uploaded, previewed, and read by your assistant
Email someone straight from a conversation — it threads correctly and sends from your shared mailbox rather than your personal one
If an overnight scan finds passwords, payment details, or bank details in a file you own, you'll get a notice asking you to remove them or narrow who it's shared with — existing files are re-scanned too, so expect a few notices in the first few nights
Integrations
New: Fulfilment Hub — connect your store to multiple warehouse and shipping partners, including Starshipit and Sinotrans, with orders routed automatically and exceptions surfaced in one place
Fulfilment Hub: a single warehouse or logistics connection can now serve every brand it works with, instead of connecting separately for each one
New: Maximo — sync IBM Maximo work orders on a schedule, with either an API key or a guided browser sign-in for tenants that can't issue one
New: ASIC Short Positions — daily aggregated short-position data
Asana, Meta Ads and SprigrBooks are now available to connect from the marketplace
Shopify: every product, variant, customer, collection and order metafield is now searchable and can be totaled across your whole catalogue, not just looked up one at a time
Bitbucket: delete a branch, with a refusal if it would lose commits
Xero: webhook-based updates now come through reliably instead of being silently rejected
Atlassian: issue links are now readable and removable, and unclear errors now explain what actually went wrong
Google Search Console: scheduled imports now walk each report day to the end instead of stopping partway through
simPRO: clock-in/clock-out status lookups now return real data instead of silently reporting nothing, and commonly misused actions get clearer input errors
Improved
When installing an app that depends on another connection (like a fulfilment provider), choose from a catalogue of compatible connections instead of leaving it unconfigured
Hold an email for two minutes, or until you press send, so you can keep typing before it goes out
Knowledge search returns the best match first, not whichever changed most recently, and one long document can no longer fill the whole page — your own results come first, with Sprigr's how-to docs as a short list underneath
Workflow steps that run inside a container no longer fail on every attempt
Fixed
Attachments now reach the recipient on Outlook and Gmail — they previously never left Sprigr, on any send
iPhone HEIC photos upload properly, including ones sent with no file type
Uninstalling a marketplace app now completes on workspaces with many search indexes instead of timing out
A reply is no longer lost if an agent restarts partway through a conversation
Large workspaces now have more time to finish building overnight search and analytics data, so a big account no longer times out partway through
Outlook: replies now keep the correct recipients, subject line and quoted message instead of some being silently dropped
Outlook and Google Workspace: sent replies no longer show up twice in Sent Items
Fulfilment Hub: a request the warehouse had already accepted no longer gets stuck showing as failed
A private integration built for one workspace no longer appears in every other workspace's integration picker
Tightened access controls on sensitive team management actions
Shopify: refund details are now backfilled automatically so past refunds show up correctly in reporting
v1.69.0
Communicate Hub, Helpdesk Two-Way Notes, and New Integrations
New
Communicate: Email, People and Agents now live under one Communicate area, with team notes appearing inside the email thread itself and a one-click switch between People and Email view
Team notes support @mentions, and the composer uses Enter to send, Shift+Enter for a new line
Sites: host binary files — images, fonts, video and PDFs — directly through your site's deploy pipeline
Integrations
Gorgias: replies and notes are now attributed to the person who actually sent them, instead of a shared connection account
Gorgias: internal helpdesk notes show in Sprigr as team-only notes, and notes you write in Sprigr are added back to the Gorgias ticket as an internal note
GitHub: new marketplace app — connect your GitHub account, or link an existing installation
Shopify: new collections (with sort rules, images, SEO and product membership), fulfillments (delivery geography and carrier), and shipping details on orders
New integration: ASX market data — daily prices, instrument lookup, and corporate actions with franking, via EODHD
Google Analytics, Search Console, Merchant Center and Ads: added scheduled, recurring imports for reporting data
ServiceM8: more relevant suggested actions, and faster client lookups
Invoicing: invoice panel and letterhead settings can now be cleared, not just replaced
Improved
Communicate: Email, People and Agents are pinned in the sidebar again as sub-links, and switching between modes no longer jumps the page
Team and room screens open faster, and long email threads load in pages
Analytics builds now handle much larger product catalogues and customer lists without failing, and report a failure within a minute instead of hours
Custom domain setup guide now explains what to do when a domain shows "does not CNAME to this zone"
Custom domains show the date they were added
Inbox rows show a "Note" chip when the latest message is a team note
Repeated workflow failures now collapse into one alert instead of a message per failure; the first failure still notifies you right away
Analytics configuration changes take effect immediately, even while a large data import is running
Ask Sprigr Analytics for a table's schema and date range before it writes a query, so results are scoped to the data that's actually there
Shopify: product and catalog updates sync faster
Fixed
Notes added to an inbox conversation are saved once — some were showing up twice
On a phone, email actions no longer overlap the sender name, and the payment banner no longer covers the page header
An agent keeps answering if the platform restarts mid-reply
Sign-in redirects are now restricted to pages on this site
An agent retries a search that was cut short by a platform hiccup, instead of giving up
A platform update no longer leaves an agent silent mid-reply
Answering an agent's question card works again for admins
Agent requests no longer fail during a platform update
Daily figures with a date but no time are now filed under the correct month, regardless of your timezone
Shopify: order history syncs, including refunds, work again — they previously failed before reading any data
Shopify: order line items now consistently match against your product catalog
Search Console: data imports no longer get stuck partway through
Shopify: full-history backfills (orders, collections) are more reliable — fixed cases where a restart or a busy store connection could stall or lose progress
Merchant Center: syncs no longer hang indefinitely on a stalled request
v1.68.0
Human Approval, New Shopify & Gorgias Apps, and Inbox Fixes
New
Marketplace apps can now require a real human sign-off before your assistant takes a sensitive action
Team: resend an invite to members who never accepted
Sites: static assets can be set to load instantly on repeat visits
Marketplace apps can now declare multiple data indexes in their manifest for better performance at scale
Assistant can now read Autodesk Navisworks and Revit building-model files
You can now view a personal history of what you've approved
Team chat: agent-owned channels can now be deleted
Team chat: you can now move a channel into a folder from your phone
Integrations
Shopify: new marketplace app — connect one or more stores, with human approval required before destructive actions like deletes, and undo available for many of them
Shopify: approval prompts now name the specific product, collection, or discount being changed instead of a raw ID, and on multi-store installs correctly target the store being changed
Shopify: scheduled sync now sweeps every connected store, and fixed a case where a second store could fail to connect
Shopify: stores can be labeled and referenced by name (e.g., "USA store") instead of technical IDs
Shopify: connecting an additional store now goes through the same in-app flow as the first
Gorgias: new marketplace app for helpdesk ticket sync, with automated ticket triage and wait-time tracking for escalation rules
Gorgias: tickets no longer show as answered when only an internal note was left
Gorgias: tightened access controls on who can view helpdesk conversations
ServiceM8: job messages now sync into your Sprigr inbox, and a new recipe sends near-instant invoice notifications instead of polling — the assistant no longer recommends the old manual workaround
Shopify: order, product and customer history imports are significantly more reliable and can resume where they left off, including on multi-store installs
Shopify: order and product data now indexes in a more structured way for faster, more accurate search
Gorgias: creating a ticket from the assistant now actually emails the customer
Gorgias: fixed a bug where the assistant could keep re-drafting the same reply instead of stopping once done
Gorgias: replies now send on the same channel (email, social, or SMS) the ticket came in on, and tickets from customers without an email on file now display correctly
Microsoft 365: moving or listing files into custom-named folders now resolves correctly
Microsoft 365: large file edits now resume instead of restarting from scratch, and unnecessary re-uploads are avoided when nothing changed
Xero: many ledger and contact changes can now be undone
Xero: payslip actions now work correctly across AU, NZ and UK editions
Archibus actions can now be used inside workflow code steps
Gmail & Outlook: mail search now covers your full mailbox, not just the first page of results
Billing: subscriptions with a missing recurring payment plan are now automatically repaired, and you'll get a reminder email before a payment method causes an issue
Improved
Sign-in and sign-up forms can now be submitted by pressing Enter
Inbox: display settings now show a hover explanation
Inbox: the list pane now takes a fair share of extra width on wide windows
Wait-budget timeouts now identify which run stopped
Clearer warnings when a single-order lookup fails
Improved stability for agent responses
More precise error messages when a background task can't be found
Subscription guides now surface for the words you actually search
Working with files is noticeably faster
Smoother handling of repeated rate limits from upstream services
More accurate usage attribution for team billing
Camera access now works correctly inside installed apps
Assistant recovers more reliably from long-running scripts and timeouts
Long GitHub PR and review bodies are no longer truncated
Faster app site config lookups on large tenants
Assistant recovers more gracefully from very long conversations
Decision-gate labels in workflows now show live values from prior steps
Cleaner email rendering when quoted history is collapsed
Chats with many file attachments respond much faster
Assistant reads PDF links much faster
Sites: images load faster on published sites
Failed undo attempts now surface clearly to app builders
Fixed
Assistant: the Stop button now reliably stops an in-progress reply
Multiple approval or decision cards in one reply now all render and can be answered, not just the first
Inbox: the context menu no longer gets cut off in narrow panes or at different zoom levels
Inbox: the unread indicator stays on the conversation you selected
Inbox: live-updates as mail arrives, and explains why forwarding is disabled when it is
Marketplace: approved actions keep their full details and attachments visible afterward
Undo actions now target the right item every time
Assistant no longer treats confirmation prompts as mistakes
More reliable reminder delivery checks
Agent no longer loses tool results after a step error
Long-running tasks are no longer at risk of being cancelled by unrelated background activity
Better recovery when a task briefly appears unreachable
Agent turns stay responsive without stalling mid-reply
Approvals now show a card you can act on
Member activity ranks by last seen, not last login
Dormant threads relink when a built-in integration becomes an app
Answered decisions now show when you answered, not when asked
Clearer status when a turn is abandoned after your reply
Deliberate long-task stops no longer look like infrastructure errors
Long conversations are less likely to drop a reply
Clearer, per-action approval prompts with no double-asking
Long conversations resume more reliably after being paused
Portal: tooltips now line up correctly at different zoom levels
Billing: fixed a remaining case where the embedded card entry form could size itself incorrectly
Hosting: deleted sites and their data become fully inaccessible right away instead of lingering
Marketplace: fixed an issue where installing the app version of an integration that already had a built-in could leave that integration's tools temporarily unavailable
Tightened access controls on custom app pages so they're only reachable by the right people
Large document edits no longer time out - they run in the background and deliver when ready
Rejects corrupted Word, Excel and PDF uploads earlier
More reliable file retrieval from AWS S3
Sites: WordPress builds are more reliable
You can now cancel or delete a scheduled reminder by asking directly, instead of the request going unrecognized
Published spreadsheets are no longer corrupted during editing
Mobile: push notifications stop reliably when you turn them off
You're now notified when an automated workflow fails partway through
Team chat: reactions, long-press actions and threads now work properly on mobile
Team chat is easier to use on a phone, with clearer tap targets and a full-screen room view
Document edits that can't be applied now show a clear error instead of silently doing nothing
Search: fixed indexing failures caused by certain unusual characters in content
Undo actions now trigger reliably from your assistant
Fixed a case where the assistant showed "still working" after a reply had already stalled
v1.67.0
Mail Attachments, Deep Task Reliability & New Integrations
New
Billing: schedule a trial-to-paid conversion ahead of time onto a negotiated plan
Team: company owners and admins can now manage channels they have not joined
App builders: filter system logs by any metadata field, not just a fixed set
GitHub tool: mark a pull request ready for review, with draft and mergeable status now visible to agents
Integrations
Microsoft 365: attachments and inline images on incoming mail now come through reliably, including for historic messages that were missing them, and OneDrive file deletions no longer send a duplicate notification
Outlook and Gmail: outgoing messages and replies can now include file attachments
Google Analytics: new GA4 marketplace app with reporting, audience exports, and account management
Meta Ads: new marketplace app for Facebook and Instagram advertising
ServiceM8: job summaries now include category and a normalized "quote sent" status, and invalid requests are rejected with a clear error instead of being silently dropped
WhatsApp: messages sent outside the 24-hour reply window now retry with an approved fallback template instead of being dropped
Gorgias: tickets created from a webhook are now threaded correctly in the inbox
OAuth connect links across integrations now stay valid for 24 hours instead of expiring in as little as 10-15 minutes
Improved
Shareable file download links now stay valid for up to a year by default, instead of only a day
Search: results are shown at full fidelity when they fit, and only condensed when they do not, for more accurate agent answers
Search: capped a runaway related-document lookup, making search noticeably faster
Search: per-search timeout can now be extended for long-running searches instead of cutting off early
Agents: better self-correction across tools — clearer hints instead of dead-end errors when a tool call has a typo, an unknown action, or times out
Workflows: can now be created in a disabled state instead of always starting active
Fixed
Deep tasks: fixed several causes of a background task hanging, being killed early, or losing its output — including running out of scratch disk space and a stuck status check
Deep tasks: can be started from a workflow step again
Workflows: steps no longer get assigned to a teammate who is no longer active
Workflows: fixed the editor deleting a code step on save, and dropping pipe-step configuration
Workflows: "Watch run" links now open the specific run instead of the general run list
Team: removing an agent now fully stops it instead of leaving it running
Team: the member list no longer reports empty when the team has members
Team chat: the message hover toolbar is now clickable
Inbox: fixed Gmail attachment downloads and file-delivery links failing or 404ing
Inbox: incoming messages now thread into the right conversation more reliably
Inbox: fixed a broken Gmail connect link
Reports: fixed reports showing as filed when they were not, and being attributed to the wrong person
Portal: fixed inbox and chat navigation links losing their workspace context
Portal: fixed the "All agents" inbox view showing the wrong agent for a thread
Billing: fixed the inline card-entry panel not sizing correctly, and some accounts hitting billing errors
Mobile: fixed the chat composer's Send button being clipped
GitHub tool: reading a file, listing comments, and creating or updating a pull request no longer silently truncate content
GitHub tool: repository search and lookups now correctly resolve the owner/repo across more input formats
Marketplace: connected integrations that stop working now recover on their own instead of needing a manual fix
Agents: fixed several cases where a connected integration was wrongly reported as disconnected, or a newly connected one required starting a new chat
Agents: fixed a case where a reply could come back empty
Search: fixed a bug where creating a new search index could be wrongly rejected
Search: fixed a search scoped to one index sometimes pulling in results from another
v1.66.0
Voice Chat, Mobile Redesign, Inbox Parity & New Integrations
New
Voice chat: talk to your agent — spoken replies, plus a hands-free mode that listens, auto-sends after a pause, and speaks back
Mobile: a redesigned app experience — full-screen agent chat that merges your recent conversations in one place, a sidebar that opens on hover, and larger, easier-to-tap controls across inbox and chat
Inbox: search inside attachment text, not just message bodies — find a file by what is written in it
Inbox: a Sent folder that mirrors your connected Gmail or Outlook mailbox, so sent mail lines up across Sprigr and your provider
FTP: connect an FTP server and work with its files directly
Microsoft Clarity: new marketplace connector for product analytics
For builders: new CLI command groups for managing sites, custom domains, and environment variables
Voice: generate speech in a stock voice, or clone a voice from your own recordings, with a new marketplace app
Video: agents can produce lip-synced presenter video to accompany spoken replies
Chat: marketplace apps can now render interactive cards directly in chat, with a mobile-friendly layout, that update in place instead of stacking duplicates
Integrations
simPRO: read purchase-order attachments, write vendor receipts, and create vendor contacts and addresses
Google Workspace: near-real-time Gmail sync
Microsoft 365: smoother reconnect with no forced re-consent
Xero: connections are cleanly revoked when you uninstall
Real estate tools: operator review verdicts, dashboard review actions, and resumable dashboard resync
Microsoft 365 and Google Workspace: read and download far larger files — up to 250MB for OneDrive, SharePoint and Drive, up to 50MB for email attachments (previously 25MB), and large text files can now be read in pages instead of being cut off
Shopify: fulfillment order lookups now include cancellation notes and hold reasons, and searching by status finds orders that are still in progress
ServiceM8: newly connected accounts start receiving live updates immediately instead of up to a day later, and large job or client lists now flag when there's more to fetch
simPRO: agents can now read job and client data that's only available in the Simpro UI, including employee pay rates
Improved
Portal dashboard now leads with Sprigr Team: click anywhere on the card to open it, with Search and Git grouped under a separate "More tools" section
Mobile: the installed app (PWA) reclaims screen space iOS was withholding, and chat frees up more room by tucking away secondary status strips
Messages sent while your agent is still replying are now folded into that same reply instead of arriving late or getting lost
Inbox: more reliable unread counts, threads, and folder filters; "Move to folder" is now a true move, and folder rules target the folder you actually pick
Agents that get stuck retrying a tool now wind down cleanly and deliver what they have, instead of looping
Outlook: sending is verified for real effect, so a silent failure can no longer look like success
Notifications: more reliable push delivery
Marketing site: a clear Google user-data and Limited Use privacy disclosure
Voice chat: hands-free mode no longer mistakes background noise or your agent's own voice for a new request, and mic recording no longer freezes on iOS
Agents: persona and instruction length limit raised, so longer custom instructions are no longer rejected
Fixed
No more unexpected daily sign-outs — your session now persists on a long sliding window
Chat: markdown tables no longer collapse on mobile
Outlook: attachment downloads always return the correct file
Google Workspace, Microsoft 365, and IMAP/POP: installing a mail app from the marketplace works reliably again
Klaviyo settings render correctly on dark themes, Google Search Console settings save reliably, and ServiceM8 portal consent works
Team chat: fixed the hover toolbar overlapping message text in grouped conversations
Fixed a rare case where an agent's file workspace could get permanently stuck, causing uploads and downloads to fail
v1.65.0
Git Collaboration, PR Reviews & Model Selection
New
Built-in git collaboration: every company now gets its own private git org with a starter repo, and agents can open pull requests, leave reviews, merge changes, and manage issues directly from chat with no setup
Review GitHub pull requests in chat: a live PR status card and diff viewer, plus agent actions to review, watch CI checks, and merge
Git hosting: pull requests end to end (create, view diffs with per-file patches, review with inline comments, merge or squash server-side), branch protection, issues with comments and labels, and check runs on commits and PRs
Git hosting: shallow and partial clones with incremental fetch negotiation, so clones and fetches of large repos are much faster
Git hosting: GitHub-compatible API endpoints, so tools built for the GitHub API can point at git.sprigr.com by swapping the base URL
Pick your agent's model with a new selector on the agent page (Auto, Opus, Sonnet, Haiku)
When an agent delegates work to a teammate agent, the delegate's activity now streams live into the parent chat
New approval gate with an HTML preview before an agent sends an email or updates a helpdesk ticket
New MCP tool: delete_agent for soft-deleting agents (portal parity)
Search: batch imports are accepted instantly with a durable background write, and return a task ID you can poll for published status
Integrations
Google Workspace: new app replacing the legacy Gmail integration, with each user connecting their own Google account; expanded from Gmail to Calendar, Sheets, Docs and Drive
Gorgias: large HTML email bodies no longer flood the agent's context, and webhook setup is simpler
Gmail: connecting no longer shows connected then immediately flicks to disconnected
simPRO: corrected tool schemas so job actions stop failing, and actions accept British spellings and natural name variants (labour, cost centre, section)
Shopify: connecting a store is much easier: an illustrated step-by-step guide, an install-link flow that completes the connection automatically, and hands-free connect for partner-provisioned custom apps
Shopify: manage fulfillment orders end to end: split a fulfillment order and submit fulfillment or cancellation requests
Motion: finalize videos in 4K via an added upscaling pass
Improved
The Sonnet model tier upgraded to Claude Sonnet 5
Deep tasks keep running through platform deploys and container replacements, resuming automatically, and always finish with an inspectable result
Deep task specialists get the agent's integration credentials and the GitHub CLI, so repo work runs end to end
Agents verify their own work before reporting success: spreadsheet and document edits, template fills, git pushes, rendered images, and message delivery are checked for real effect, and silent tool failures force an honest wrap-up
Excel editing fidelity: formula-visible reads, refusal of lossy edits, and surgical row and column operations
Agents respond faster from a cold start
Every integration call now carries a 45-second timeout, so a slow third-party API can no longer hang a turn
File transfer limit for streamed uploads raised to 200MB
Faster code and repo work in the sandbox: dependency installs are cached and repo clones stay warm
Agents can read the company's schedules, so they can check what is due and answer questions about them
Email search now covers the full message body, not just a preview
Workflow run cards show live step values (outputs, errors, gate waits) and a cleaner progress marker
Git hosting: repo webhooks deliver in the background, and repos with many packs are consolidated daily so clones stay fast
Search: text matching is Unicode-normalized so accent and width variants match, and stopword filtering can be turned off per index
Fixed
Turns interrupted by a platform deploy or restart resume in seconds and deliver the full response, with no empty resumes or long recovery gaps
Agents recover automatically when their integrations fail to load, instead of running without tools
Approval and decision prompts: no more duplicate message bubbles, cancelled forms stay cancelled after a reload, and pending decisions are no longer lost across re-entry
Agent persona and configuration edits now take effect immediately in open chats, and open chats pick up marketplace app upgrades without starting a new conversation
Chat replies no longer include giant inline image data, and the agent sticks to one review surface instead of duplicating output
The agent no longer echoes your request back verbatim instead of answering
Connecting an integration while switching organisations now binds to the organisation on screen and stores tokens under the right user
Webhook-triggered scripts reliably receive the webhook payload, and async webhooks to code destinations no longer return errors
Mobile app: expired sessions refresh on reconnect, file uploads work in every environment, and the offline queue flushes safely
Hosted sites no longer throw errors under heavy traffic
Marketplace: upgrading an app now cleans up every schedule, subscription, and workflow the new version drops
Marketplace: app schedules dispatch to the right tool, and stranded installs are re-driven when a version is republished
MCP: knowledge-base writes are synchronous so entries can no longer be silently dropped
Plan selection: corrected yearly savings copy
Git hosting: pushed refs are validated, pushes referencing missing objects are rejected, and packs are stored self-contained so later clones can't break
Search: settings updates can no longer be left half-applied after a transient failure, and cleared documents can't resurrect from stale caches
v1.64.0
Deep Tasks & Durable App Jobs
New
Deep tasks: agents can hand a complete multi-step assignment to a background specialist running in the agent's own sandbox with full shell, file, and code access, and the result is delivered back to the chat automatically
Deep tasks show live progress in the portal: a streaming run card with activity that survives page reloads
Deep tasks can request platform writes and whoever is in the chat can approve them inline (write access is owner-gated opt-in); read-only platform lookups work out of the box
Deep tasks are available on scheduled and workflow turns too, with results delivered automatically
Transient workflows: agents can spin up a temporary workflow for a one-off multi-step task that auto-expires and cleans itself up
Full-fidelity Word document editing: surgical edit operations that keep styling intact, plus an XML escape hatch for complex documents
Marketplace apps platform: durable background jobs (multi-step, resumable, retries, durable sleep, human-in-the-loop wait) plus a scoped key-value store for persisting state across runs
Marketplace apps platform: stateful browser sessions owned by the app publisher, for automation that needs a persistent login
Marketplace app installs can be scoped to specific users: an install restricted to companion agents is only visible to those users
Integrations
simPRO: build complete quotes and jobs in one call, including multiple cost centres, labour lines and one-off items, with sites auto-resolved, totals recalculated and results verified before returning
simPRO: a long run of correctness fixes so agents create and update records reliably across quotes, jobs, cost centres, labour rates, purchase orders, invoices, leads, sites, schedules, assets and vendors, with transient errors retried automatically
simPRO: converting a quote to a job now pre-checks quote-vs-job totals so nothing is silently lost
Shopify: custom-app stores now get real-time updates via webhooks, backed by an hourly backstop poll
Shopify: large bulk reports complete reliably, variant barcodes are written to the right place, and gift-card product reads no longer error
Xero: quote updates return the stored quote correctly, and New Zealand payroll is routed to the NZ payroll edition
Procore: incremental sync no longer skips records after a failed page fetch, reconnecting no longer breaks inbound webhooks, and daily-log creation with weather works reliably
Email (IMAP/POP): mark-read, move and delete work in all folders, custom-domain mailboxes can connect via OAuth, and huge inboxes no longer stall polling
Starshipit: shipping rate quotes work correctly, provider-reported failures are surfaced, and large status syncs resume where they left off
Cin7 Core: data sync can be enabled from settings, and large syncs checkpoint and resume instead of starting over
Slack: reading direct messages now resolves the correct conversation reliably
LinkedIn: posting actions no longer time out
Motion: revising or finalizing a video rebuilds from your original description, so tweaks apply cleanly
SprigrBooks: invoice posting, recurring invoices, depreciation and balance updates are protected against duplicates under retries
Archibus: concurrent sync runs no longer cancel each other, and failures are classified honestly
Improved
Panels and PDFs can be built from stored files by reference and updated in place, instead of being regenerated from scratch
Workflow steps pass data between steps by reference, so agents stop retyping (and mistyping) large outputs
Code mode recovers from common mistakes on its own: wrong namespace calls, malformed calls, and misnamed actions get clear errors, did-you-mean suggestions, and automatic re-routing
Inbox bulk actions run noticeably faster
Hosted Next.js sites get incremental static regeneration caching
Search: index updates apply incrementally instead of rebuilding the whole index, with lower request latency across the API and faster semantic search
Fixed
Chat composer: drafts and queued sends survive switching conversations, failed sends show as failed instead of an eternal "sending", and messages are no longer dropped while a new chat connects
New Chat entries stay in the sidebar while the conversation list refreshes, and new activity reliably surfaces in the recent list
Agents keep recent conversation context through long tool-heavy turns, so mid-task replies stop losing the thread
Internal reasoning no longer leaks into the live chat stream
Delegation replies land in the right conversation with clear provenance, and the announcement names only this turn's targets
Background runs and continuations resume reliably: no double resumes, honest failure reporting, and results routed to the right conversation
Team rooms: background task results and write-approval flows now reliably deliver into the room
Workflows: steps that fail as retryable now re-run automatically a bounded number of times
Workflows validate app action references when saved, and dispatch errors that were previously swallowed now surface
Marketplace: fresh installs get their declared scopes, and newly seeded publisher secrets reach existing installs
Panels no longer re-open on every chat reload, and short turns no longer squeeze HTML and panel artifacts into a sliver
Suggested action chips no longer navigate to the bare dashboard home
Search: results with tied relevance scores return in a stable order, and malformed query bodies return a clear error instead of silently browsing everything
v1.63.0
Scripts, Projects & Custom Domains
New
Scripts: write a bit of code that runs on a trigger without building a workflow, with a code-first editor (save, run now with live output, enable toggle, Ask AI co-authoring) and agent support
Projects: group workflows and scripts into named containers, see each project's members and how they interact, and assign from workflow create or edit
In-dashboard feedback widget: report a bug or send feedback right from the topbar
Custom domains for marketplace app installs: CNAME-only onboarding with automatic verification that flips domains active once DNS propagates
Recover a deployed website's source: download the exact deployed files with sprigr pull or the get_build_source tool, then redeploy them unchanged
New assemble_pdf tool for deterministic PDF merging
Workflows can be edited one step at a time with the new update_workflow_step tool
MCP: new update_webhook and delete_webhook tools for in-place webhook management
Integrations
Xero: the built-in integration is retired; Xero is now available as a marketplace app
Outlook: mail sync is now incremental (much lighter and faster), and attachments on real-time mail download correctly, including for older messages
Google Ads: pick your default customer account from the settings page, and new audience-insights tools
Google Search Console: removed the mobile-friendly test action, which Google has retired
Starshipit: billable and destructive actions (like buying labels) now require an explicit confirmation
Motion: final renders upgraded to a newer video model for better quality
Intabot: unfollowing now only touches accounts the bot itself followed, avoiding Instagram soft-bans from deep follower-list scans
Improved
Multi-company users: the active company is now per-tab, driven by the URL, so working in two organisations at once no longer cross-contaminates
Generated PDFs stay a reasonable size: oversized photos are downscaled before render, with automatic escalation if the file is still too big
Interrupted code-mode runs resume from a durable call journal without repeating writes, and the agent sees exactly which inner calls completed on a partial failure
The Python sandbox now ships with the requests library preinstalled
Workflows: a code step's return value now surfaces as its output, and manually starting a workflow with a JSON message seeds the trigger context
Workflow detail pages load faster
Search: new indexes run on a per-index storage engine with strong read-after-write consistency: writes are visible immediately and re-created indexes no longer serve stale data
Intabot: settings changes now take effect with an in-place restart instead of a full re-provision, so the warm Instagram login survives
Fixed
MCP: send_message no longer hangs for minutes, and a new poll_message tool retrieves replies
Chat: the thinking indicator clears the instant the answer lands, including on resumed turns
Stuck agent turns now self-heal instead of sitting silent, and early tool-error wedges are diagnosed and fast-recovered
Agents stop delegating work their own tools can do, and stop routing around their own failing tools by delegating
Chat turns recover from transient model errors instead of failing outright
Workflow event-trigger dropdowns (including the create dialog) now list events from installed marketplace apps
Times render in your company's timezone instead of a hardcoded one
The agent no longer invents a connect flow for apps that are not installed
Marketplace app connection failures now surface a real error instead of a fake success page
Frozen schedules now self-heal, and scheduled runs get more time to start so longer tasks are not cut off
Website rollbacks restore the runtime environment, and accidental framework downgrades are guarded against
Inbox: thread detail pages no longer 404, attachment downloads refresh themselves when a link expires, and inbox files preview properly in chat
Agents honour parent-domain outbound access grants for subdomain calls
Search: multi-term AND filters now match regardless of term order
Web reading: fixed a cold-start wedge where the very first browser request for a tenant could stall for minutes
v1.62.0
Browser Sign-In, Co-Browsing & Team Rooms at Parity
New
Agents can sign into any password-protected website on your behalf: you type credentials into a secure in-chat connect chip that routes them straight to encrypted storage, and the agent never sees the password
Live co-browsing: watch the agent's browser in real time from chat while it works a website, with the panel staying responsive even when the site stalls
Team rooms: @-mentioned agents see the recent room conversation and shared files, keep continuity across mentions, and reliably reply inline
Team rooms: agent replies stream token-by-token with live thinking status and action chips, at parity with direct chat
Team rooms: agent images, PDFs, and other artifacts render inline, and interactive decision buttons work the same as in direct chat
Team room composer: rich attach menu (camera, file, folder), attachment uploads at webchat parity, and a Stop button to halt an in-flight agent turn
Agents auto-join a room when @-mentioned and auto-reply in DMs at parity with direct chat
Workflows: new code step type runs deterministic JavaScript with no AI turn
Long-running code jobs can run asynchronously: the agent starts the job and delivers the results, including images, when it finishes
Integrations can now be disconnected without uninstalling the app (Shopify, Procore, simPRO, LinkedIn, Google Merchant Center, Email), and agents can do it on request
For app builders: durable file storage, collections access, app-scoped file storage, streaming file uploads, and an app-level shared webhook receiver with per-tenant fan-out
Integrations
SprigrBooks: new standalone small-business accounting app: contacts, sales invoices, bills, payments, chart of accounts, tax and reports, with double-entry bookkeeping under the hood and no external accounting service or login required
Google Ads: new app with Sprigr-managed sign-in, so you connect with your Google login and no developer setup
Google Merchant Center: connecting is self-serve: the Google Cloud registration happens automatically during connect, with clear surfacing of Google's rejection reasons
Gorgias: customer replies deliver through helpdesk routing, tickets list by most recently updated, and a message sender is always resolved
Xero: new actions for items, accounts, attachments, bank transfers and repeating invoices; work across multiple Xero organisations; raw field and query passthrough for full control
simPRO: record lookups are served from a synced search index with live fallback, and paying an invoice now goes through a safety gate
Motion: rendered videos are stored durably so links no longer expire
Improved
Agents keep load-bearing details through long tasks: conversation context is curated by relevance, with protected facts that survive trimming and a softer history compression
Deep-reasoning turns stream live thinking, so long turns no longer sit in dead air
Asking to log into a well-known SaaS steers the agent to its marketplace app instead of the generic web browser
Search: index builds are isolated per index with bounded memory, ending crash-loops on very large indexes
Search: semantic imports are more reliable: embedding generation moved off the request path, and unchanged text keeps its existing embedding
Fixed
Multi-organization users: pages, side panels, uploads, and API calls are scoped to the organization you are viewing, not the cookie default
Stop button: no longer strands after a clean turn, persists through multi-round turns, and a stale stopping flag no longer blocks the next stop
No more duplicate user bubbles, and the spinner stays up across silent tool rounds and quiet-but-active gaps
Empty model turns self-heal instead of echoing a "[no content]" placeholder
Decision cards render for any tool that asks for a decision, such as outbound access requests
Team rooms: reactions and the member roster update live for everyone, the transcript no longer blanks on every send, and reconnect storms are gone
Duplicate replies to a team @-mention are prevented, and transient web-browsing errors stop retry loops
The agents rail refreshes live when an agent is created mid-chat
Follow-up messages without a new attachment keep pointing at the file from your previous turn
Live thinking renders per round instead of piling up at the top, and the working indicator no longer blanks while a tool runs
Resumed turns can no longer double-run a live turn or replay an already-delivered reply, and attachments keep their image content on resume
Very large tool outputs offload to storage so long turns cannot be dropped
Integrations shared by several agents are no longer labeled "This agent only"
Conversations started with MCP keys appear in list_conversations
Search: camelCase accepted where the API previously required snake_case, concurrent partial updates can no longer silently lose fields, and deleting or clearing an index purges its cached copies
v1.61.0
WordPress Hosting, Google Apps & UI Density
New
WordPress and WooCommerce hosting: create a WordPress store in one step, with git-backed site storage and durable backups
Agents can edit a WordPress site's content directly
One-click UI density toggle, defaulting to Compact
Marketplace apps can be installed starting from the provider's side (for example an app store install), landing you in a ready workspace and chat
Integrations
Google Merchant Center: new app with full Merchant API coverage for managing accounts, products and sub-accounts
Google Search Console: new app with full Search Console API coverage
Cin7 Core: new app with full Cin7 Core (DEAR) API coverage
Starshipit: new shipping and fulfillment app
Shopify: full core-attribute coverage across all write tools, expanded read projections to match, and a new variant lookup tool
Shopify: installs can start from the Shopify side (App Store installs), not just from Sprigr
simPRO: work with job and quote attachments: upload into folders, download with image and PDF previews in chat, and share via long-lived re-signable links
Procore: connect with Sprigr-managed credentials (no developer app needed), and a smoother connection flow that returns you to where you started
Improved
PDFs are edited in place, preserving the original document, instead of being rebuilt from a visual read
Workflow schedule triggers can run every 15 minutes, down from 30
App file links now last for years instead of expiring after a week
The saved activity chip keeps the agent's step-by-step narration after the turn completes
Fixed
Workflow event triggers dedup on content, manual fan-out no longer collapses to one run, and changing a trigger's cron resets the next fire time
Document edits: text replacement spans formatting runs and cell edits keep formatting
An unterminated code block no longer swallows the tables after it
Installed app pages: stable full-height frame, collapsible docked side panels, and the app iframe auto-sizes to its content
A turn where every tool call fails finalizes gracefully instead of hanging
Transient model errors are no longer mislabeled as tool failures, and internal spill files no longer leak into chat as attachments
The sandbox refuses workspace writes when storage is unavailable instead of silently losing files
Inbox presence no longer counts a connection that is closing
Web reading: PDF rendering retries on a fresh browser when the current one wedges mid-render
v1.60.0
Xero App, Proactive Agents & Reliable Scheduling
New
Agents can proactively DM users and post to groups, and can create their own groups and channels
Share private marketplace apps through invite links, and promote an app to the public listing with one action
Free trials via promo signup links
For app builders: platform-routed AI, app dependency lifecycle events, cross-tenant app dependencies under the same publisher, and private app data index search
Search: semantic search on long documents: text is chunked for embeddings and scored by the best-matching chunk, with older documents re-chunkable via a settings trigger
Integrations
Xero: new accounting marketplace app with per-user connections covering contacts, invoices, quotes, payments, credit notes, purchase orders, bank transactions, manual journals, payroll, assets, expenses, projects, tracking, attachments and reports, plus webhooks and background sync into searchable indexes
Xero: replay-safe writes across invoice create, update, and void; pay-run period derived from the calendar; AU pay-run posting fixed; line amount types sent on invoices
simPRO: now delivered as a marketplace app only; the built-in integration was removed
simPRO: changes flow into Sprigr in real time via auto-registered webhooks, and notes written by AI agents are prefixed with [AI]
simPRO: job notes return all pages, job status surfaces after updates, quote id aliases accepted, labor quantities normalized, auth errors surfaced instead of empty results, and large job attachments stream reliably
Intabot: brand-aligned targeting with a relevance gate that scores every candidate profile against your brand (or a described target audience) before any like, follow, or comment, plus follower-count stats
Improved
PDFs over the 32MB reading cap are split automatically and read in sequence
Agents can ask another agent a question and receive the reply asynchronously
Tool errors surface concrete detail instead of generic failure text
The app Configure page shows which install secrets are already set
Web reading: gets past "checking your browser" walls, no longer times out on sites that hold connections open, and blocked pages come back clearly marked instead of looking empty
Fixed
Scheduled runs fire exactly once: cron fires are claimed atomically, duplicate workflow starts are suppressed, and a double-firing scheduled trigger was removed
Workflow replay no longer clobbers committed step states, and missing trigger payloads recover on retry
Agent-to-agent delegation: runaway loops bounded, duplicate re-sends capped, replies route back to the right conversation and wake waiting agents, and "Direct chat only" agents cannot be delegated to
Transient model stream errors retry instead of failing the turn, and hung streams time out instead of wedging the agent
The composer keeps your draft if the connection drops mid-send, and a reconnected chat stream converges to the saved state
Marketplace connection status flips to connected as soon as the app's OAuth callback succeeds
Web reading: browser sessions and PDF rendering recover automatically after a service restart, and wedged sessions are recycled and retried
v1.59.0
CAD, BIM, Image Generation & Interactive Panels
New
2D CAD support: upload DWG or DXF drawings, extract geometry, and render AutoCAD-parity plots to lossless vector PDF with an in-chat viewer and infinite zoom
BIM support: read Revit metadata, read and modify IFC models, extract materials, and render snapshots of the model's real geometry
Large IFC models stream into the in-browser 3D viewer (size cap removed), and you can capture a view from the viewer for the agent to work with
Photorealistic image generation: a new render tool grounded with a vision fidelity check
Interactive panels: agents can show rich editable surfaces inline in chat (expandable to a popup), and your edits flow back to the agent
Agents in team chat can @-mention people and read shared files; scheduled reminders can post into the team room
Video files can be uploaded across chat surfaces
When an agent hits a capability gap, it searches the marketplace and offers to install the matching app
New MCP tools: configure_app_install (including per-install secrets), delete_workflow, delivery mode on schedules, and trigger type and config on workflow create and update
Integrations
Motion: new image-to-video app that turns a still image into a short cinematic clip (pan, push-in, tilt) with a draft, revise, finalize flow
Gmail: delete action added, closing the mail parity gap
Outlook: mail and calendar search now handle embedded quotes in queries
WhatsApp: scheduled reminder status is corrected when a send fails
Archibus: connection failures are reported clearly instead of "No records found"
simPRO: connecting is easier: the agent can send a connect link right in chat, and the build URL is set once at install
Improved
Switching chats jumps instantly and messages persist across switches
Agents use installed app tools instead of reimplementing the same work by hand
Files created during code runs surface in the artifacts panel and can be delivered straight to you
Marketplace search understands synonyms
Search: API keys can grant index access by prefix or wildcard pattern, and those grants work through index aliases too
The Sprigr index key form can mint read or write keys
Fixed
The notification bell count matches the dropdown, and duplicate completion notifications are deduped
CSV artifacts render instead of a blank card
Tables render even without a preceding blank line, and internal thinking tags no longer leak into replies
Interactive panels submit exactly once and their forms are fully interactive
Workflow steps interpolate ${...} variables, publish self-heals when a stale draft shadows the live steps, and draft-vs-published divergence is surfaced
Workflow test events explain why a subscription was skipped, and empty approval template variables show as visible tokens
Workflows trigger on marketplace app events as expected
Schedules created or updated via the API arm correctly, cold-started agents still fire due tasks, and scheduled wakeups can call marketplace app tools
Home screen approvals load correctly and read the actual workflow queue
Long renders surface inline when a turn resumes, without a page reload
.docx and other non-inlined uploads reach the agent, and your typed message is saved as written
Expired file links replayed from chat history are re-signed so old attachments still open
Agents recognise installed marketplace apps and stop wrongly refusing
Marketplace app tools with clashing names no longer break the turn
Uninstalling an app tears down its schedules
New tenants default to the Free plan without a false "payment method on file", and plan changes are unblocked for paid companies without a subscription
Team rooms: attachments render inline in the bubble and long shared-file names truncate in the details rail
Personal OAuth connections no longer create duplicate rows or false reconnect nags
v1.58.0
Durable Turns, Agent Memory & Document Access Control
New
Durable chat turns: a turn interrupted by a deploy or restart resumes from checkpoints and finishes instead of showing a cut-off message, and the live stream reconnects
Smarter agent memory: knowledge is categorised and deduplicated on write, consolidated nightly into per-subject hubs, and recalled automatically, including team-wide shared knowledge
Per-user document access control: agents only search and cite documents each person is allowed to see, with Microsoft SSO group and org membership resolved automatically
Agent continuations: agents can schedule their own wakeups, poll until a condition is met, run work asynchronously, and wait for events, including a workflow finishing
Collections: per-user row visibility, partial-update and conflict-hold merge policies, and per-field change history with provenance
Collections: lifetime setting with automatic sweep, and uploaded spreadsheets auto-ingest into a conversation collection agents can query like a table
Drag and drop chats into folders
Sidebar shows a working spinner on conversations an agent is actively processing
Search: server-side aggregations let a single query group results and compute sums, averages, min/max, and counts
Integrations
Microsoft Project: agents can generate MSPDI XML project files, and generated XER files are validated so they import into Primavera P6
Improved
Each conversation now runs in its own isolated runtime, so task results, reminders, and decision answers land in the right conversation and one busy chat cannot stall others
Chat attachments start uploading the moment you add them, not when you hit send
Search: facet values are normalized and synonym-merged, so variant spellings of the same value share one facet count and filter together
The Skills section has been removed; the Integrations tab now renders directly
Fixed
Excel variants (xlsm, xlsb, xls, ods) upload correctly even when sent as generic binary
Mobile: the attach "+" menu is no longer clipped on the chat composer
Webhooks: browser and custom-domain callers get proper CORS, friendly destination config keys are normalized, workflow webhooks route to the right handler, and app-declared channels receive messages correctly
Code runs surface the real sandbox error and recover from a poisoned Python session
Chat unread dots and the working spinner deliver reliably, live over the company socket
Search: MCP tools accept array, number, and boolean parameters passed as JSON strings
v1.57.0
Collections, P&ID & the Pro Plan
New
Collections: first-class typed tables with collection.define, ingest, ingest_from_table, query, reconcile, and describe so agents can persist structured records
DEXPI / Proteus P&ID as a first-class file type, with a SmartPlant SPReport consolidation guide that lands extracted registers in a Collection
Marketplace apps can declare their own channels and ship their own AI-facing docs into a shared search index that agents read
New Pro plan between Team and Business
Onboarding: the setup assistant can now read a company website for context
Chat composer: upload whole folders
Per-agent prefix mount in the sandbox for physical tenant isolation
DXF: a DXF-to-SVG recipe, and every DXF upload ships a PNG preview
Integrations
DEXPI / Proteus P&ID: first-class read with SmartPlant SPReport register consolidation into Collections
DXF: logo-to-DXF code path, DXF-to-SVG recipe, and mandatory PNG preview on every upload
Outlook: webhook renewal hardening, /move 404 idempotency, and recipient-shape coercion
Improved
Plan tiers derived from a single source of truth, no more hardcoded copy
Single source of truth for the file-upload allow-list across portal and workers
Chat upload allowlist expanded to DXF, Excel variants, and text / JSON / XML / YAML / HTML
Marketplace publisher secrets backfill into existing installs on upgrade
read_file auto-attaches renderable files as chat-gallery artifacts
Fixed
Agent prioritises the current-turn attachment over message-history files
Outlook /move 404 treated as idempotent success; webhook renewal no longer silently lapses on stale tokens
code_execute: empty-axes matplotlib PNGs dropped from the artifact list; sandbox cwd set per-agent and R2 auto-mounted on every call
Pro tier surfaces in the plan selector
Attachment tray height fixed so large folders don't hide the composer; batch sending keeps going when one file fails
Folder-upload filter in the portal aligned with the server's accept list
Provisioning: marketplace channel rate-limit KV TTL floored at 60s
Workflow chip: workflow_trigger silent-drop reasons now surface in the test_event response
Inbox: .mspdi thread uploads accepted; stale size-limit text corrected
MCP: send_message returns a retryable 503 on transient key-validation outages
v1.56.0
Insights
New
Insights: nightly self-review that flags unused indexes, never-fired crons, over-frequent schedules, dangling webhook destinations, and workflows with unbounded searches, with a /dashboard/insights page, autonomy tiers, dismiss/snooze/reopen, and unattended apply for tier-eligible fixes
DXF: logo and image to DXF conversion via potrace + vtracer + ezdxf
Integrations
Shopify: app-level compliance webhooks restored
Improved
Sidebar collapse toggle moved to the brand row
Announcement banner shows relative time until 24h, then date, and auto-dismisses after 10s
Marketplace tab hides filters that match no apps in the current view
Tenant sites show a "Setting up" interstitial during the first build instead of "Site not found"
code_mode self-corrects on API-confusion errors instead of mislabeling them upstream
Two-tier Durable Object init so cold alarms fit the alarm time budget
Fixed
Long turns no longer show a false "cut off mid-flight" banner
Streaming chat: no more duplicate streaming drafts; turn steps persist
Claude history replay hardened against empty / thinking 400s
Delegation: the gather flow and synthesis draft reconcile
Outlook recipients now accept string, object, or array-of-strings shapes
Sprigr admin key resync is additive and includes per-install app data indexes
Owner last_login_at stamped so owners stop showing as "Invited"
Activity rail steadied and usage shows a running total
Webhook routing: 4xx errors no longer crash on JSON parse and produce legible messages
v1.55.0
Streaming Chat & Large Files
New
Streaming chat: assistant replies stream token-by-token to the browser with a secondary "Working" progress block during long turns
Cloudflare-native R2 multipart for large file uploads
Improved
Agent: native image and document token estimation so large PDFs no longer false-overflow
Agent: large webchat documents route to read_file instead of being inlined; read_file uses a signed URL source so they never OOM the isolate
Agent: marketplace tools consolidated into code mode to slim context
Fixed
The 3-minute watchdog no longer kills progressing turns
Agent runs native tool_use blocks even when stop_reason is end_turn
Large inline attachments no longer wedge the agent DO (chunked base64 encoding)
Bounded webchat inbound attachments so large PDFs don't OOM the isolate
code_mode now calls marketplace tools without being blocked
MCP: send_message tolerates transient "expired" from KV
v1.54.0
Per-Execution Workflows & Composer Upgrades
New
Per-execution Durable Object routing for workflow steps is now the default
Chat composer: paste images directly, and switch per-turn effort with a visible knob
New MCP tools: workflow versioning and execution introspection
Improved
Cron-driven workflow triggers gain a 30-minute floor
Marketplace event / schedule dispatch timeout bumped to 25s
Build-runner: tenant lock self-heals after 15 minutes
Build-runner: semantic migration drift hashing so whitespace and comments no longer break builds
Fixed
Delegation: replies route back to the per-execution Durable Object
update_schedule no longer silently drops the action field; MCP field names translated to match the schedules PATCH handler
MCP: modelTier translates to model_tier in update_agent; key_type exposed on sprigr_create_public_key
MCP: workflowSlug accepted on start_workflow (manage_team and MCP)
@-mentions and threads scoped so companions stay personal
Document filling surfaces classified exception messages instead of raw tracebacks
Onboarding: greeting cache key hardened against bad client timezone; all failure paths logged
Inbox: Shared files panel refreshes on own-user uploads too
Provisioning: webhook destinationConfig shape validated per destination
v1.53.0
Microsoft Project Support
New
Microsoft Project (.mpp / MSPDI) as a first-class schedule format: parser, calendar-aware date math, FK validation, a three-format convert matrix MSPDI / PMXML / XER, edit-kind dispatch (leaf-set, add, delete), bulk where-clause edits, and same-format diff
Cron-driven workflow triggers from the reminder dispatcher
env.SPRIGR.browser.{fetch, screenshot} available to marketplace WFP apps
New MCP tool: delete_app (parity with portal)
Integrations
Microsoft Project: native .mpp / MSPDI read, write, edit, convert, and diff via MPXJ
Improved
Marketplace OAuth bouncer: 25s timeout and a 202 in-progress page instead of a red 502
Marketplace uninstall soft-deletes the per-install website; a cron reaps orphans
Cross-tenant grant rows show receiver and pinned integration
Fixed
manage_team: row.config parsed before buildConnectUrl in reconnect_integration
iframe Loading overlay removed (it sticks forever in practice)
v1.52.0
Spreadsheet Structure on Chat Uploads
New
Spreadsheet structure (merged cells, formulas, charts, pivot tables, comments, hyperlinks, freeze panes, data validations) now extracted on chat upload too, not just on agent-promoted files
Improved
Display filename preserved on chat uploads so agents and downstream tools see the real name
Fixed
File listing now includes custom metadata so the filename fallback fires correctly
read_file auto-resolves bare filenames before reporting not found, and points workspace paths at code execution
Excel error cells surface as #DIV/0!, #N/A, and friends instead of raw numeric codes
Per-message subject hidden when it matches the thread title
Fixed
Inbox channel filter "Outlook" returns threads again
Reopening a closed inbox thread from the status dropdown restores both folder and outbound state
Workflow chip catches up to run status after a manual Run
Profile avatar upload button accessible and matches the sidebar's two-letter initials
Chat file-upload failures surface via toast
Sandbox: read_file_binary accepts paths under /workspace or /tmp/workspace
Uploads: accept .xer and .pmxml through the portal and worker guards
v1.50.0
Outlook Webhook Reliability & Inbox Sent Folder
New
Inbox: Outlook user folders mirror into the Sprigr sidebar
Inbox: dedicated system Sent folder for outbound-only threads
First-class Excel/xlsx reading from chat via read_file
WhatsApp: text sends auto-retry as an HSM template when the 24-hour re-engagement window has closed
Integrations
Outlook: folder mirror, Sent direction fix, webhook handshake on POST, full Graph payload to subscribers
Gmail: subscription self-heal
WhatsApp: HSM template fallback on re-engagement window
Improved
Outlook webhooks: case-insensitive resource matching, accept Microsoft Graph validation handshake on POST, log silent-return paths, forward full Graph payload to workflow subscribers
Webhook self-heal: missing Graph and Gmail subscriptions repair themselves
Outlook sync: large page output kept under the workflow message cap, thread-folder inserts batched
Inbox: date filter wired end to end, AI Draft Generate accepts empty briefs, Sent thread promotes back to Inbox on a manual inbound reply
Inbox backfill: skip disabled integrations, fail fast on dead tokens per batch
Removed: low-signal "Related to" cross-thread banner that fired on nearly every thread
Fixed
Outlook Sent Items now classified as outbound (re-sync corrects stale direction on already-linked rows)
Inbox: align channel-send routing and contacts search with the actual outlook-mail slug
Agent: guard conversation-turn storage against the storage row-size limit
v1.49.0
Inbox Body Rendering & Cross-Tenant Tool Invocation
New
Inbox: render HTML email bodies safely, drop the 500-character truncation, and backfill historic truncated threads
Inbox: Outlook attachments come through end to end, with body backfill for historic threads
Inbox: channel-tinted source badges
Gorgias inbox parity: HTML body capture, no truncation, historic backfill
New agent tool request_outbound_access: agents can ask the user to widen the outbound HTTP allowlist via a security-styled decision card
New agent tool manage_team: agents can browse, install, and uninstall marketplace apps from inside the chat
Marketplace apps can invoke tools in other workspaces (with consent) for cross-tenant collaboration
Decision-Point pattern: marketplace apps declare named decision points in their manifest and route them through any user-defined workflow
Microsoft admin-consent CTA shown when tenant policy blocks user self-consent
Integrations
Outlook: end-to-end attachment delivery, body backfill
Gorgias: HTML body capture, historic backfill
Microsoft 365: admin-consent CTA
Improved
Agents clamp max output tokens to the model's published cap so long prompts no longer fail on over-spec
Inbox: self-heal stale link-suggestion cache on read
Inbox backfill: stable-cursor pagination so errored rows are not re-scanned every call; forced token refresh on 401
Marketplace: dedup in-flight builds on force install upgrades
App-management API: get_app paginates the version list with an archived filter, manifest and source files opt-in
Fixed
Microsoft OAuth: stop overriding admin grants with prompt=consent on reconnect
Integration deletion no longer fails on lingering inbox references
Scheduled-task status now honest about queued vs running
v1.48.0
Rebrand, Marketplace Lifecycle & Mobile Polish
New
Portal rebrand: new [sprigr] bracket-S lockup, lime/sage/ink/cream palette, redesigned avatars, badges, toasts, and push banners across every page
Open marketplace apps inside the portal in an iframe directly from the installed-apps grid and configure page
Install-time consent UI for the fulfillment_services capability before an app subscribes to Shopify fulfillment webhooks
Cross-tenant grants gain a full lifecycle: pause, resume, confirm-revocation, keep-or-revoke decisions surfaced in a new portal panel and via MCP tools
Marketplace apps can declare agent_schedules in their manifest so per-minute and cron-style agent tasks are provisioned automatically on install
Marketplace apps can write into their own data index at runtime via env.SPRIGR.data.import
Marketplace apps can self-provision agent schedules at runtime via env.SPRIGR.schedules.create
Sprigr Git: marketplace apps can now be deployed from git pushes, with the agent worker minting just-in-time push credentials
Workflow validator surfaces unknown_tool_reference warnings, validates outputSchema, and inlines shape hints so LLM authors self-correct in one pass
Agent-visible diagnostics: new query_website_db and get_website_logs MCP tools for inspecting marketplace app state
New onboarding default: workspaces are named "<your name>'s Workspace" instead of a generic "My Workspace"
WhatsApp now processes Meta delivery-status webhooks so silent message drops surface in the activity rail
Team page details panel opens by default and surfaces Add People plus agent invites without an extra click
Integrations
Shopify: shop-wide fulfillment_orders/* webhook subscriptions, fulfillment service callback with HMAC diagnostics + FO discovery, third-party fulfillment-order scopes in the canonical registry
Outlook Mail and Calendar: drop admin-consent scopes, fix from_email InefficientFilter, fix attachment download path
OneDrive: new onedrive_read_shared_file and onedrive_list_shared_with_me tools
Xero: admin-key resolution moved onto the canonical kv_key helper, phantom column dropped
Archibus: cost roll-up and Other Costs mapper bugs fixed
WhatsApp: Meta delivery-status webhooks now ingested
Improved
Build runner: cooperative cancellation kills child processes when the worker gives up, raised bundle limit to 200 MiB with an actionable size error, customer opt-in for peer-dep escape flags via sprigr.installFlags
Multiple portal polish fixes from real-customer shakedowns
v1.33.0
Workflow Design + Versioning, Inline Attachments
New
Workflow design and version control: drafts, version pinning, test runs against drafts, live polling on the canvas, inline workflow cards in chat, per-workflow visibility, and a Test button
Inline chat attachments: gallery, file cards, and lightbox
Persistent unread dots on conversations, agent tabs, and the Chat nav
Generic dialog system across the portal
Auto-emit run_workflow chip in chat plus origin-aware back nav and test prefill
Auto-include user uploads on create_report so cards are no longer empty
Workflow validator surfaces specific field errors to the agent
Team messaging foundation: rooms and membership API, messages with read state, folders, drafts, and real-time per-room WebSocket fan-out
Companion rebrand: remaining Hazel references renamed to Sprigr
Fixed
/dashboard/workflows/executions/<id> redirects to the workflow detail with the right step auto-expanded
Single-image gallery tile collapses to intrinsic size
Platform guides in the Knowledge Drawer — the platform's own docs (MDX seeded from the marketing site) are now discoverable from any agent's knowledge view. Clicking a platform guide opens the full content in the same drawer you'd use for a KB entry, read-only, with agent + version + last-updated metadata
Shared tool-loop runtime — chat and scheduled-task agents now execute through a single shared runtime. The loop that drives tool rounds, tracks messages, fires progress checks, and applies the wrap-up countdown is one code path instead of two drifting copies. Behavioural parity across chat and scheduled-task execution is pinned by an identity test that asserts byte-for-byte identical state through both execution shapes for the same inputs
Smarter context trim budget — trim headroom is now derived from the reasoning model's actual context window and the caller's own system-prompt overhead, instead of a hardcoded ceiling baked into each caller. When a long turn falls back to a larger-window model, the loop uses the full available room; when a turn runs on a smaller-window tier, trim stays within that tier's actual capacity instead of letting the request balloon
Wrap-up policy unified — the "rounds remaining + inject message + disable tools + break" state machine is now one shared policy for both chat and scheduled tasks. When the progress guardian marks an agent DONE or STALLING, the final round disables tools so the model is forced to emit a text reply instead of churning through another tool call that never lands
Typed break reasons surfaced to users — tool loop exits now carry structured reasons (timeout / rate-limit / context overflow / tool error / round limit / early-exit after delegation or decision prompt). The portal renders a distinct user-facing message per reason so "I gave up" no longer looks identical to "I finished"
Force-text retry when the tool loop ends with no text — if an agent exits its tool loop without emitting a visible reply, the handler now re-runs the turn once with tools disabled to extract a summary, so users never see a silent blank turn
Improved
Adaptive progress-check cadence in chat — the lightweight progress guardian fires every 5 rounds up to round 15, then every 2 rounds to the soft cap, then every round past that. Tight enough to cut stalling agents off quickly, relaxed enough to keep productive sessions moving
Dynamic round cap with diagnostic break reasons — chat's tool-loop cap can now extend past its baseline when the progress guardian says the agent is making meaningful progress, instead of chopping productive sessions short. Sessions that do hit the cap log a machine-readable break reason so admin reporting can tell "ran out of budget" apart from "the agent gave up"
Sync workers no longer silently retry a broken OAuth token — when a Gmail / Outlook / Google Calendar / Outlook Calendar integration's refresh token is expired or revoked, the sync stops retrying the same doomed refresh and notifies the owner so they can reconnect, instead of looking alive while quietly doing nothing
Adaptive thinking config hardened — the reasoning-effort parameter is now only sent on providers whose API accepts it, which fixes mid-turn 400 errors on providers that reject it
Per-tool hard-fail circuit breaker — when a write-side tool (send_message, delegate_task, start_workflow, manage_team) fails its budget of retries, the loop short-circuits with a user-visible explanation instead of burning the remaining tool rounds on retries that won't land
Guard-error rebate shared across paths — instructional guard errors (e.g. "call list_indexes first") no longer count toward the per-turn round budget, in both chat and scheduled tasks. Previously a guard round could eat one of the ~25 chat rounds; now it's free
Context-overflow trim retry is window-aware — when the reasoning provider rejects a prompt as too long, the aggressive-trim retry uses the current turn's actual context window with a tighter safety factor instead of halving a hardcoded value, so recovery tracks whichever tier the turn is on
Scheduled-task runtime coverage — the background-task runtime now has its first unit test suite, covering happy path, round-limit exit, context overflow, kill-switch, smart-nudge retry, enforced-delivery marker, and router classification
Fixed
Fixed agents inventing fake "404" chips for background tasks — when delegation results referenced a task that didn't exist, some agents would hallucinate a 404 status card. The break-reason mapping is now centralized and emits a real explanation instead
Fixed empty-text agent turns caused by self-narrating tools — if the only text output this turn came from a tool that narrates its own progress, the empty-text retry no longer fires a duplicate call, and tool_use / tool_result pairs stay aligned through the retry
Fixed sibling-capability discovery errors — the capability runtime now writes durably on first ingest, hooks into sync flows correctly, and returns a helpful error hint instead of a raw exception when a sibling capability lookup fails
Fixed the approvals dropdown collapsing title / current step / justification — each field now renders as its own line in the dropdown instead of being crushed into a single string (follow-up to the v1.31.0 context fix)
Fixed workflow step validation — unassigned steps now default to the caller, 400-series validation errors are marked recoverable so the workflow executor retries sanely, and validation error messages point at the specific field. `self` / `me` are accepted as shorthand for assignedAgentId
Fixed suggest_actions duplicate-slug behaviour — the tool now returns a friendly "slug already used this turn" error instead of a generic failure, and stays a pure additive on top of the agent's text reply
Fixed send_message vs delegate_task being confused by agents — tool descriptions now make the one-way vs round-trip distinction explicit so agents pick the right primitive for fire-and-forget messaging vs awaiting a response
Fixed workflow reminders reading noisy — confirmation summaries on create/update are mandatory, follow-up reminders are optional, and post-mutation reminders reworded to reduce churn
Fixed customer agents being rejected with a 403 when calling `create_report`
Multi-step workflow executor migrated to Cloudflare Workflows — retries preserve the original trigger payload, fork branches are serialised, DO 503-busy is surfaced as retryable, and stranded pre-cutover executions are healed automatically on retry
Typed output schemas for workflow steps — declare an outputSchema on any step and enable strictness to catch type mismatches before they silently corrupt downstream data
gateTiming: 'before' — approval gates can now fire before a workflow step executes, not just after; request sign-off before any resources are touched
Workflows distinguish rejected from failed — a human saying no is now a distinct terminal state from an error; execution history, agent context, and the portal detail page all reflect the difference
Notification deep-links to approvals — clicking a pending-approval notification in the dropdown takes you directly to the full approval card rather than the generic executions list
Search result distillation — search hits that exceed the agent context budget are now condensed by a secondary model pass; get_object retrieves full raw records directly when you need unabridged content
Integrations
Gorgias: live ticket retrieval restored with unified index names, multi-instance support, and priority filtering
simPRO: PascalCase input now accepted on all update_* actions; listCostCentreDefinitions endpoint path corrected
Archibus: spurious work_request.created events suppressed for backfill and terminal-state work requests
Improved
Agent timezone injection — UTC time is injected alongside local time in every agent system prompt so agents stop spending turns on timezone arithmetic
Scheduled tasks use the model's full output capacity — the 2048-token truncation on task-agent turns has been removed
Agent tool-loop stability — repeat tool failures short-circuit cleanly instead of looping; turn_complete fires unconditionally so the chat UI no longer hangs after an error turn
Search pipeline — all content and result caps removed from docs flowing into agent context so agents receive complete search results
Portal sidebar falls back to the first accessible agent when no companion is configured, so new workspaces land in a usable state immediately
Fixed
Fixed workflow retries — retry now rehydrates step state from D1, wipes stale conversation turns on all assigned agents, and shows a visible error UI for executions that were stranded before the Cloudflare Workflows cutover
Fixed the workflow detail page showing incorrect times — D1 datetime strings are now parsed as UTC instead of local time
Fixed Gorgias live-ticket retrieval — index names unified across multi-instance installs and priority filtering restored
Contextful approval cards — every approval surface (portal card, Slack, WhatsApp, in-app toast) now shows a one-line justification, the requesting agent, prior-step summary, relevant context fields, transition hints ("if approved → Notify customer"), urgency badge, and optional expiry — you can decide without hunting through the execution
Approval justification is persisted at gate-block time from a gateConfig template, prior-step summary, or step instruction — late subscribers (Slack retry, post-refresh toast) all render the same wording
Decision gates support per-option descriptions — authors write gateConfig.optionDescriptions so approvers see why each option exists, rendered as subtext on buttons and tooltips on the portal card
Workflow approvals carry optional expiry — gateConfig.expiresInMinutes shows a live countdown on every surface and is available for future auto-reject behaviour
Urgency-aware routing — workflow inputs or prior outputs tagged urgent/high/low bubble up as a coloured badge on the approval card and upgrade the toast to a warning-style notification
Access-control facade — a new @sprigr/team-access-control package owns scope types, request-edge constructors, an access-filter SQL builder with a tenant-tables catalogue, and a tenant-safe mock D1 with WHERE-clause validation used across every regression test
Threads endpoint migrated to the access-control facade — handleThreadsList now runs through the generic scope filter with full multi-tenant fixtures; the same pattern will land on every other list endpoint next week
Integrations
WhatsApp: Flow JSON v7.3 with flat data shape and a terminal SUCCESS screen; NFM_REPLY payloads parsed in the webhook
Slack + WhatsApp: approval and decision messages render the new ApprovalContext (urgency, justification, prior-step summary, per-option descriptions, transition hints, expiry footer). Button value encoding unchanged — in-flight messages and interaction handlers stay compatible
simPRO: sync workflow defers line-item enrichment to the queue consumer
Improved
Per-agent integration scoping — agent-linked integrations (e.g. a personal Outlook mailbox owned by a specific agent) are now strictly scoped to the owning agent; the All-agents inbox view respects those boundaries and only surfaces integrations the viewing user has access to via user_agents assignments
Approvals list in chat (list_pending_approvals via manage_team) now shows the justification + urgency marker per row so agents can reason about pending work without fetching each execution
WhatsApp Flows upgraded to v7.3 with flat data shape and a terminal SUCCESS screen; gateway hostname ordering and secret-before-endpoint resolution fixed so Flow responses land on the right worker
WhatsApp bot number resolved per environment — staging no longer inherits the production Business Phone Number ID; each env reads its own channel config
Dashboard "messages today" metric now counts real human conversations only — background ticks, agent-to-agent chatter, and system events are excluded so the number matches what a human would count
simPRO sync defers line-item enrichment to the queue consumer — the sync workflow emits minimal shell records and the consumer hydrates line items asynchronously, cutting provisioning-path latency and unlocking larger catalogs
Mobile topbar respects iOS safe-area-inset-top — the title no longer clips under the notch on pages that render their own topbar
E2E test reliability — cut CI Playwright workers from 4 to 2 and serialized the companion-shared chat suites; converted 9 previously-skipped tests to hard pass and added a watchdog skip for three known staging DO bugs tracked separately
Fixed
Fixed wide content — tables, code blocks, long URLs, and auto-generated identifiers — escaping the chat bubble and triggering full-thread horizontal drag on mobile; message content is now clipped inside the bubble with per-element horizontal scroll where needed
Fixed the WhatsApp Flow reply parser missing NFM_REPLY payloads — the webhook now parses them and the Flow action went back to "complete" so the client-side terminator fires reliably
Fixed scheduled script tasks failing with "Script not found at workspace path" — the workspace R2 mount no longer double-nests keys (pre-fix files lived at {company}/{agent}/{company}/{agent}/... because both the mount prefix and the workspaceRoot carried the tenant segment). The sandbox now mounts at /workspace with no s3fs prefix, and the scheduler reads {company}/{agent}/{scriptPath} directly. A one-shot migration runs automatically after every deploy to sweep legacy double-nested objects into the canonical layout; idempotent after the first pass
New portal shell — a persistent slim topbar now carries the page title, a centered "Search or ask Sprigr…" palette trigger (⌘K), theme toggle, notifications, and settings on every screen; page titles live in a single registry so adding a new route is a one-line change
Redesigned sidebar — tokenised surfaces, hairline borders, collapsible group headers, an integrated workspace switcher, and a new user block at the bottom that opens a dropdown (Profile / Settings / Sign out)
New Home hero — companion-led briefing that narrates overnight activity with real numbers, attention cards for what actually needs you, an Agent Pulse strip across your fleet, and primary CTAs to chat or jump to approvals
Command palette rewrite — one input that blends Go-to nav, agents, threads, and an "ask Sprigr" mode; matches are grouped with clear sections and keyboard-first controls
Activity Rail in chat — a canonical right-hand rail that shows live tool calls, the agent's context snapshot, and per-turn steps as they happen, replacing the old peek strip
Inline RunCards — live workflow executions appear inline in chat with sub-steps for each tool call, so you can watch a plan run instead of waiting for a wall of text at the end
Adaptive thinking on the top reasoning tier — the top tier now auto-engages extended reasoning for complex turns and surfaces the reasoning trace in the chat UI; toggleable per turn
Inbox action row — Star, Snooze, and Assign live on the thread detail header; rows in the list show live unread / starred / snoozed / assigned badges, including a "Returned from snooze" chip when a thread re-surfaces
Suggested Reply card — a dedicated headline card in the inbox that drafts a reply with the right agent's voice and lets you send, edit, or discard in one click
Unread filter and primary filter chips above the thread list — filter by unread, starred, snoozed, or assigned; per-filter counts update live over WebSocket
Folder sidebar with system pseudo-folders and a Channels group — jump straight to Slack, WhatsApp, Telegram, webchat, Outlook, or Gmail with per-channel deep-links and folder counts
Two-way read-state sync — marking a thread read in Sprigr marks it read in Gmail and Outlook, and vice versa; archive and folder moves also round-trip both directions
Knowledge Base Drawer — open any KB entry to see its full content, author, version, usage count, and revision history side-by-side with the chat
Knowledge sort-by-usage and filter-by-author — find the notes your agents actually rely on, or slice the base by who wrote it
Decision Form (cross-channel) — Slack modal validation, WhatsApp Flows, and a redesigned webchat card; Decision state now persists across a chat reload so a pending question doesn't get lost if the page refreshes
suggest_actions tool — agents can propose inline navigation chips ("Open thread", "View agent", "Run workflow") that take you straight to the right place in the portal
Thread-header search in chat — a dedicated search over the current thread plus backend hits, keyboard-navigable from the header
Pin conversations to the top of the agent rail — pinned chats stay above recent ones per agent, so your active work is always a click away
Identity guardrail — agents refuse to disclose the underlying model, provider, or stack when asked; prompts enforce an on-brand, Sprigr-consistent answer
Companion rebrand from "Hazel" to "Sprigr" — search placeholders, command palette fallback, and home-hero briefing all refer to the companion as Sprigr
Integrations
Gmail + Outlook: two-way read-state sync (read, unread, archive, folder moves round-trip in both directions)
Gmail, Outlook, and Gorgias: folder and archive sync matrix verified green end-to-end
Webchat: Decision card restyled; decision state survives page reloads
Improved
New Agent Card anatomy — each agent now shows status, role, channels, message volume, and a clear primary action in a tokenised card
Inbox thread-list rows redesigned to the handoff spec — clearer sender / subject / preview hierarchy, consistent meta row, hover and active states tuned
MessageBubble primitive unifies chat and inbox — inbound, outbound, and internal-note styling now share one component so every surface stays in sync
Chat composer restyled — cleaner focus states, attach/stop/send sizing aligned, action chips for the DecisionForm match the rest of the UI
Agent rail on mobile shows full rows instead of centred avatars, and rehydrates the Context tab correctly after a refresh
Workflow-step context now streams on tool events — RunCards show sub-steps with per-step status as the workflow progresses
Removed the Tweaks panel (handoff test-only) and the old suggested-prompts row — fewer empty-state distractions on the home screen and one less per-turn model call
Home hero Agent Pulse truncates long agent names cleanly instead of overflowing the strip
Approvals page title now lives in the shared topbar (no duplicate header), and the Approvals folder is linked to threads via a materialised thread_id so routing between approval and conversation is instant
Portal inbox API now forwards every active filter (starred, snoozed, assigned, unread, approvals, channel) to the backend so client-side filter chips stay authoritative
Snooze-clearer broadcasts a thread_updated event over WebSocket so the list updates the moment a snooze expires
Dashboard topbar settings cog now lives in the shared topbar for every route (was missing on most pages before)
Fixed
Fixed the Approvals page showing a duplicate title — the client component was rendering its own h1 on top of the new shared topbar
Fixed the DecisionForm losing its partial answers when the chat reloaded mid-decision
Fixed collapsed sidebar group icons being inert — clicking a collapsed group now expands the sidebar and opens that group
Fixed the snooze label showing "0h" on sub-hour snoozes — now shows minutes
Fixed the "Needs approval" chip copy (renamed for clarity)
Fixed the inbox list lazy-load hook firing after an early return, which occasionally double-triggered pagination
Fixed chat Context tab not rehydrating on refresh when the agents rail was user-expanded
Fixed Knowledge Base revision timestamps being wrong on some edits — revision edited_at now uses an explicit ISO string
Activity Rail filters out legacy agent_log entries for tool and workflow events — the rail shows only canonical tool + workflow events
Fixed workflow_run_step events broadcasting to the wrong scope — they now land on the webchat channel, not the execution scope, so users see them in the right place
Middleware now fails loud (rather than silently falling back) when PLATFORM_URL is unset, catching misconfigured environments at startup
v1.28.0
Mobile Experience Overhaul, Web Push & Graph Reliability
New
Mobile bottom tab bar — Chat, Inbox, Agents, Knowledge, and More replace the top hamburger as the primary navigation on phones, matching standard mobile app conventions
Mobile chat composer redesign — pill-shaped shell, a single "+" attach menu that holds Take Photo and Attach File, a primary button that morphs between mic and send based on input state, and a stop button that only appears when something is actually stoppable
Mobile conversation sheet with full navigation — the chat sidebar opens as a full-screen sheet with "Back to chat" and a "Menu" shortcut so you can always reach Dashboard, Inbox, Agents and the rest without getting stuck
Web Push notifications — opt in from your profile to receive OS-level notifications for escalations and approvals on mobile web, even with the browser closed; delivered via VAPID + aes128gcm directly from the edge
Add to Home Screen support — a PWA manifest and refreshed icon set let you install Sprigr Team on iOS and Android for a full-screen, app-like experience
Camera capture in chat — take a photo directly from the mobile attach menu alongside the existing photo library and file pickers
Voice input on the composer — tap the mic to dictate a message (Web Speech API); while listening the button pulses red and interim transcript previews above the input
Integrations
Microsoft Graph (Outlook Mail, Outlook Calendar, OneDrive, Teams): 202-with-empty-body responses are now treated as success, eliminating spurious retries and duplicate sends
Improved
Dashboard loads faster — the four server-side fetches now run in parallel and an unnecessary companion-provisioning write on every render has been removed
Mobile viewport lock — the notification panel, @mention dropdown, phone country picker and all other overlays now cap their width to the viewport so they can never spill off-screen; a global safety net guards against future regressions
Agent integration interfaces auto-generated — the tool list each agent sees in its system prompt is now derived from the actual registered tools at load time, so adding a new Outlook / Gmail / OneDrive tool never silently hides it from the agent
Chat composer refined on desktop too — the send button has cleaner focus states and the attach/stop buttons share consistent sizing
iOS notch & home indicator respected — all fixed chrome (mobile header, tab bar, chat composer) pads for env(safe-area-inset-top/bottom) so nothing draws under the notch or home bar
Fixed
Fixed duplicate Outlook, Teams, OneDrive, and Calendar sends — Microsoft Graph returns 202 Accepted with an empty body on successful sends, and the Graph client was throwing "Unexpected end of JSON input" on that response; the agent then retried the already-delivered send, sometimes up to 4 times in a single turn
Fixed white-screen after login on mobile — the prior service worker pre-cached an authenticated route and replayed the cached redirect after a successful login; the service worker is now passive (network owns every request) and existing installs self-heal on next visit
Fixed staging users being bounced into production OAuth — redirect URIs are now derived from the request origin instead of an env-var fallback that could miss at runtime
Fixed the mobile notifications popover clipping off the right edge of the screen (it was left-anchored with a fixed 320px width)
Fixed two hamburger menus appearing on mobile — the top-bar hamburger was redundant with the bottom tab bar's More button and has been removed
Fixed the mobile conversation sidebar having no close button or way back to the rest of the app
Fixed the chat popup overflowing on phones narrower than 420px
Fixed the chat tool-result blocks blowing out the layout on mobile — code blocks now scroll inside their message bubble
Inbox category tabs — threads are now sorted into Primary, Promotions, Social, Updates, and Forums, driven by Gmail labels and Outlook's Focused Inbox signal; tabs sit above the thread list with live per-category counts
ask_user_decision tool — agents can pose structured multi-question decisions with titled choices, optional multi-select, and freeform follow-ups; the conversation resumes automatically when the user replies
Rich decision UIs across channels — Slack Block Kit cards, WhatsApp interactive lists, Telegram inline keyboards with toggle-then-submit multi-select, and structured webchat cards, all with smart re-handling of stale decisions and time-based expiry
Companion continuations — a delegated task can now be marked "expect_continuation" so the companion resumes with the specialist's result and presents a consolidated answer to the user
Knowledge first-class search — faster, dedicated search over your notes; new Recent Notes widget on the dashboard shows recently added entries with quick links
Document manipulation tool — agents can create, read, edit, and convert Word (.docx) and Excel (.xlsx) documents using 8 actions: create_document, read_document, fill_template, edit_document, create_spreadsheet, edit_spreadsheet, convert_to_pdf, and merge_documents
Jinja2 template filling — fill Word templates with dynamic data using {{ variable }}, {% for %} loops, {% if %} conditionals, and image insertion
.dotx (Word template) support — upload, read, edit, and convert .dotx files across portal chat, inbox, mobile, Gmail, Outlook, simPRO, and the file proxy
Dual-format output — any document action supports also_pdf=true to generate both .docx and .pdf in a single operation
Workflow approval UI — pending approvals displayed in a dedicated panel with approve/reject actions and optional notes
Decision gates in workflows — steps can require human approval before proceeding, with multi-channel notification support
Approvals polling — the portal checks for pending approvals periodically and displays a badge count
Slack, Telegram, WhatsApp: rich interactive UI for agent decision prompts
Improved
Orchestrator-companion framing — companions now present a consolidated answer after delegating, with the originating channel carried through so responses land back where you asked
System logs scoped per conversation — background processing and MCP activity are routed to their owning conversation
Agent system prompts list only the integrations that agent has access to
Professional PDF output — .docx and .xlsx convert with high-quality typography using liberation and dejavu fonts
Document sandbox image ships with python-docx, docxtpl, openpyxl, Pillow, and LibreOffice pre-installed for instant document operations
Fixed
Portal file uploads are reliable again — fixed intermittent 502/522 errors when uploading attachments from chat
simPRO purchase orders now use the correct vendor-orders endpoint (fixed failures reading and writing POs)
simPRO quote OrderNo is indexed, so work orders can be cross-referenced by quote number from agent search
simPRO quote / job cost-center editing now exposes one-off pricing fields (Description-type items, labour markup, sales tax code)
simPRO file uploads route correctly through the integration proxy
Decisions continuation is robust — per-turn tool flags reset cleanly, and a dedicated decision-result message type routes replies to the correct conversation on webchat
Company owners are no longer blocked by channel access policy when testing restricted channels on their own account
Dashboard knowledge widget now fetches with the correct user/company context (no more empty-widget flicker on load)
Approvals page URL is correctly constructed and cached responses are no longer served stale
MCP staging environment now has its own first-class config with isolated bindings
Fixed .dotx files failing to open because of a template content-type mismatch — the loader now corrects the type before parsing
v1.25.0
Workflow Test Events & Xero Event Pipeline
New
Workflow test events — agents can now emit test events through the full event pipeline to test workflows end-to-end, with sample payloads for all 12 integrations and 35+ event types
Field override testing — override individual fields in test event payloads to test workflow forks and branches (e.g. change priorityLabel to test emergency-only filters)
New manage_team actions: test_event (emit sample event through full pipeline) and list_test_events (discover available test event types)
Improved
Xero webhooks now use the standard event pipeline (emitWorkflowEvent) — Xero events can trigger workflows via event subscriptions, matching all other integrations
emitWorkflowEvent now returns matched subscription count alongside event ID for better test feedback
v1.24.0
Profile Sync, Agent Rename & Archibus Integration
New
Agent rename — owners and admins can now rename any agent (including companion AIs) directly from the agent detail page via an inline edit button
Archibus integration sync — enriched sync with work request history, costs, labour records, and catch-all field mapping for comprehensive facility management data
Self-seed first-party apps — new /seed endpoint replaces external CI script for platform app provisioning
Improved
Profile name now updates the sidebar instantly without requiring a page reload or re-login
Session cookie is refreshed after profile name change so the update persists across page reloads
Fixed
Fixed sidebar showing stale user name after profile update — session cookie now re-signs with updated name
Fixed getSession() returning platform name instead of team context name — now prefers the refreshable team context value
Fixed TypeScript build error — AppManifest cast through unknown for Record<string, unknown> compatibility
v1.23.0
Marketplace OAuth UX & AppRunner Execution Engine
New
Marketplace OAuth connection flow — install an integration app (Shopify, Gorgias, simPRO) and connect OAuth directly from the configure page with provider-specific inputs
AppRunner Durable Object — new per-app execution engine with SQLite-based rate limiting, circuit breaker, bundle caching, and execution logging
Dynamic Worker execution — marketplace tools now execute via LOADER.get() with full provider access (sprigr, http, oauth, config, workspace, messaging, tools) through Workers RPC
Private-scope OAuth guidance — integration apps with per-agent scope show "Each agent connects individually" instead of a company-wide Connect button
Improved
Integration install now redirects to configure page so users can immediately connect OAuth
Removed ~130 lines of legacy KV-based rate limiting and circuit breaker code from marketplace-tool-builder
Fixed
Fixed pip → pip3 in sandbox install_packages for Python package installation
Fixed dev_tools returning "Error: undefined" on sandbox failures — now returns actual error message
Fixed duplicate "Processing" message text in activity log
Fixed DNS-unsafe preview URLs that contained underscores
Fixed sandbox ID exceeding DNS 63-character label limit
v1.22.0
PDF Generation, Purchase Orders, Knowledge Privacy & simPRO Fixes
New
PDF generation tool — agents can create downloadable PDF reports from HTML content
simPRO purchase order CRUD — new actions: update_purchase_order (stage, status, vendor, dates, notes), create_po_line_item, update_po_line_item, delete_po_line_item; enhanced create_purchase_order with all API fields including Description-type POs
Knowledge page privacy — indexes are filtered by user role and agent ownership; users only see their own companion, assigned agents, and shared company indexes
Marketplace Share button — publishers can generate a share link from the app detail page, upgrading visibility from private to shared so other companies can install
System logs pagination — 100 logs per page with Previous/Next navigation, page counter, and total count
System logs agent filter — dropdown to filter logs by specific agent
Integrations
simPRO: 4 new purchase-order actions (update PO, create/update/delete line items) with end-to-end integration tests
simPRO: Labor update now supports all 9 writable fields from the API spec (was only 3)
simPRO: Fixed create_supplier and update_supplier field mapping (CompanyName → Name), added ABN field support
Improved
simPRO update labor now supports all writable fields from the API spec: hours, sell_price_inc_discount, labor_markup, projected_time, sales_tax_code, income_account
Companion agents now handle tasks locally before delegating — agents with integrations like Outlook use them directly instead of delegating to specialists that share the same tools
System logs trace and main views show full summary text with word wrapping instead of truncating to 40 characters
Integration status display is accurate — integrations now correctly show their active/disabled state
Fixed
Fixed companion agent delegating Outlook email tasks to Work Order Manager despite having Outlook itself — delegation guidance rewritten to prefer local tools
Fixed simPRO update_job_cost_center_labor unable to change hours/quantity — quantity field was missing from the update
Fixed code_execute creating artifacts that flood the chat panel — artifact generation is suppressed for code execution results
Fixed simPRO create_supplier returning 422 "Invalid column" — vendors API uses Name not CompanyName; also fixed update_supplier and added ABN field support
Fixed agent tool loop crash when tools returned unsupported image types (tiff, bmp, svg) — now validates and falls back to text description
v1.20.0
Marketplace UX, Onboarding Fix & CI Hardening
New
Marketplace "Manage Listing" button — after publishing an agent, the detail page shows "Manage Listing" instead of allowing duplicate publish
Marketplace self-install prevention — publisher's own apps show a "Your app" label instead of an Install button
Improved
Scheduled task retry — workflow creation retries 3x with backoff; marks execution as failed instead of leaving it stuck as "queued" forever
Fixed
Fixed onboarding phone verification — leading zero in mobile number (e.g. 0412345678) is now stripped before concatenating with country dial code, so OTP delivery works
Atlassian integration — connect your Jira and Confluence account with 15 agent tools: search/create/update issues, transition workflows, log time, link issues, browse boards and sprints, search/create/update Confluence pages, and list spaces
"Publish to Marketplace" button on agent detail page — promote any standalone agent to a shared marketplace template directly from the agent page
7 new manage_team actions — agents can conversationally browse, install, publish, and manage shared agent templates and training data during chat
Improved test resilience and infrastructure reliability
Fixed
Fixed delegation responses routing to wrong channel — now routes to originating channel instead of lastChannel
Fixed WhatsApp sending duplicate messages when user has an active WebSocket connection
Agent activity logs scoped per conversation — logs are delivered only to their originating conversation's listeners
Fixed activity logs and typing/delegation status not clearing when switching conversations
Fixed code sandbox description incorrectly saying TypeScript — now correctly says JavaScript only
v1.18.0
simPRO API Overhaul — 100+ New Actions, Path Fixes & Integration Tests
New
simPRO quote cost center line items — agents can now read and manage catalog items, one-off items, labor, assets, prebuilds, and service fees on quotes (29 new actions)
simPRO job cost center full CRUD — added create/update/delete for all job cost center line item types (catalogs, stock, one-offs, prebuilds, service fees, labor) via a unified dispatcher
simPRO work order create/update — agents can now create and modify work orders on job cost centers
simPRO customer contracts CRUD — get, create, update, delete contracts on customer records
simPRO customer asset sub-resources — service levels and test history now accessible
simPRO job tasks, reports, and catalog CRUD — list/get job tasks, cost-to-complete reports, and full catalog item management
simPRO integration test suite — 310+ tests validating every endpoint through the tool layer against the real simPRO API
Integrations
simPRO: 100+ new actions added (total now ~290), covering quote line items, job cost center CRUD, work orders, contracts, customer assets, catalog management
simPRO: Full write operation test coverage on designated test Job #1330 and Quote #586 with automatic cleanup/restore
Improved
simPRO list_jobs now supports filtering by OrderNo, RequestNo, zone, salesperson, project manager, type, and completed date
simPRO tool description expanded with cost center prerequisite chain and required POST fields for every line item type
simPRO API spec cross-referenced — all 1,422 endpoints audited for coverage gaps
Fixed
Fixed 8 incorrect simPRO API paths — stockItems/ to stock/, oneOffItems/ to oneOffs/, added /files/ to 5 attachment list paths, invoice writes moved from deprecated /customerInvoices/ to /invoices/
Fixed simPRO update_job and update_quote unable to clear notes or OrderNo to empty string — truthy check prevented sending empty values
Fixed simPRO create_quote_cost_center sending wrong body format — CostCenter must be an integer, not {ID: n}
Fixed simPRO list_plant using /plant/ instead of /plants/, list_stock using /stock/ instead of /catalogInventories/
Fixed simPRO get_plant using /plantAndEquipment/ instead of /plants/
v1.17.0
Shared Agent Marketplace, Training Data & Inline Trace Details
New
Shared agent marketplace — install pre-built AI agents with curated training data from the marketplace, or publish your own agents for the community
Agent templates with versioned training data — publishers maintain a working knowledge index; each version publish creates an immutable snapshot so updates never break existing installations
Dual-index knowledge search — marketplace agents transparently search both their private overlay and the publisher's training snapshot, with private entries taking priority
Training data management page — add, search, edit, and bulk-import JSON training data for published agent templates
Publish agent flow — promote any agent to a marketplace template with a sanitised persona, model tier, and optional training data export
Marketplace page unified with Apps/Agents tabs — browse, install, and manage both tools and agent templates from one page
Improved
Agent template dependency system — templates can declare required marketplace app dependencies, checked at install time
Agent install with name customisation — choose a custom name when installing a marketplace agent
Version update endpoint — update installed agents to new versions with persona re-resolution and training data snapshot switching
System logs trace view shows detail inline below clicked row instead of at the bottom of the page
Documentation expanded with Shared Agents and Training Data guides in the marketplace section
Fixed
Fixed manifest validation rejecting agent templates that have no tools or runtime entry — kind=agent templates only require a persona
Fixed app creation requiring a bundle for agent templates — kind=agent apps skip bundle upload
Unread reply indicators — conversations with new agent replies show a notification dot in the sidebar, clearing when you open them
Cross-agent unread dots — agent tabs show an indicator when agents you're not viewing have new replies, with automatic polling every 45 seconds
File sharing via send_message — files uploaded in a conversation are now passed through to other agents when using send_message, not just delegate_task
Improved
Shared file reference utility — file collection and signed URL generation extracted into a reusable module used by both send_message and delegate_task
Agent DO file handling — new prepareInboundFileAttachments helper eliminates duplicated R2 fetch and artifact injection code
E2E test suite expanded to 204 tests — 16 new tests covering unread notifications, file delegation, WebSocket events, and API validation
Fixed
Fixed send_message not including file attachments — files uploaded in companion chat were invisible to specialist agents receiving messages
Fixed simPRO supplier API using wrong endpoint — corrected /suppliers/ to /vendors/ for list, create, update, and purchase order operations
Fixed simPRO vendor attachments using incorrect path — corrected to /attachments/files/ and added list_vendor_attachment_folders action
Fixed image-only WhatsApp messages crashing when text body was empty
v1.15.0
E2E Browser Testing, API Validation & Self-Hosted CI
New
Comprehensive E2E browser test suite covering every portal feature end-to-end
Improved
Agent API validation — creating agents with empty names now returns a proper 400 error instead of silently creating nameless agents
Agent update validation — PATCH requests to non-existent agents now return 404 instead of silent 200
Conversation error recovery — empty conversation turns are handled gracefully with automatic retry using reduced history
Fixed
Fixed provisioning endpoint returning 500 on validation errors — now returns 400 with descriptive error messages
Fixed vitest picking up Playwright spec files — E2E tests are now excluded from unit test runner
App marketplace — create, publish, install, and manage custom apps with a built-in code editor, version management, and one-click deployment
Multi-file app support — apps can contain multiple source files bundled with esbuild for production deployment
App IDE with live testing — edit app code in a Monaco editor with syntax highlighting, deploy versions, and test execution in a V8 sandbox
Tool composition — apps can call other installed tools via tools.call() for building complex multi-tool workflows
MCP server expanded to 41 tools — full platform access including team management, webhooks, workflows, knowledge, and agent configuration
User-level MCP key permissions — MCP API keys are now scoped to the creating user with enforced access controls
Database fallback — agent configuration and company data automatically fall back to the primary database when cache misses, eliminating stale-cache failures
Improved
Apps & Tools merged into single page — unified navigation under "Apps" in the portal sidebar
Marketplace tool discovery — apps tagged by industry and integration type for easier filtering
WhatsApp routing reliability improved — phone routing now uses the primary database as source of truth
Webhook reliability — all webhook processing now uses persistent checkpoints with proper error handling
Code mode — agents can execute code in secure sandboxes with full access to integrations, workspace, and HTTP
Workspace filesystem — persistent file storage with read, write, search, glob, diff, replace, JSON operations, batch edits, and archive support
Credential auto-injection — outbound HTTP requests from code mode automatically receive auth headers based on domain matching. Secrets never enter the sandbox
Integration tool consolidation — 13 integrations (simPRO, AWS, GCP, GitHub, Gorgias, Gmail, Google Calendar/Sheets/Drive/Docs, Outlook, OneDrive) unified under code mode
Single delegation passthrough — specialist responses are delivered directly to users without an extra synthesis API call, saving tokens and latency
Integrations
simPRO — complete code mode action catalog: all 258 actions documented and discoverable
simPRO — attachment folder grouping via display=all parameter on file listings
simPRO code mode interface expanded from 118 to all 258 actions — agents can now discover download_job_attachment, get_job_attachment, and all other actions
Job attachments now display grouped by folder (BEFORE PHOTOS, AFTER PHOTOS, etc.) instead of a flat list
Attachment artifacts include folder prefix in titles for better file identification
Code mode timeout increased from 30s to 120s for large file downloads
Code mode tool results now preserve artifacts and signed download URLs instead of stripping them
Delegate task tool description guides agents to request file downloads when users ask to show/view attachments
Improved AI routing — agents automatically select the best configuration for each message based on task complexity
Fixed
Fixed simPRO list_jobs silently ignoring stage parameter — was never passed to the API query
Fixed code mode dropping artifacts and signed URLs from tool results — download_job_attachment returned only metadata
Fixed deploy failures on backend services
Fixed API errors not being retried — certain upstream errors were treated as non-retryable
Fixed delegation bypass instruction blocking agents from using http_request as fallback
v1.11.0
WhatsApp Media Support, Channel Conversations in Portal & Email Attachments
New
WhatsApp image and media support — send photos, documents, audio, and video via WhatsApp and agents can see, analyze, and act on them. Media is persisted for delegation to specialist agents
Channel conversations in portal — WhatsApp and Telegram conversations now appear in the "My Chats" sidebar with channel icons, and can be viewed in a read-only panel directly from the web portal
Unread badge on Agent Messages — a notification count appears on the Agent Messages tab when new inter-agent messages arrive, clearing when you open the tab
Email attachment pipeline — download attachments from Gmail and Outlook emails and upload them directly to simPRO jobs or other integrations
Integrations
simPRO — full field parity across all entity types: jobs, quotes, leads, cost centres, and schedules now support every documented API field
simPRO — automatic section creation and cost centre route recovery for service jobs
Gmail and Outlook — attachment download and re-upload pipeline for cross-integration file transfer
Improved
WhatsApp credentials centralized — all services resolve credentials from a single shared source
WhatsApp media flows through delegation — images sent via WhatsApp are now persisted to storage and included as file references when delegating tasks to specialist agents
Agent activity logs scoped per channel — WhatsApp and Telegram processing events stay on their own channel rather than webchat
Multi-company phone routing — users with accounts across multiple companies can now /agent switch to any assigned agent regardless of which company is resolved first
System prompt optimization — moved reference documentation to knowledge base, reducing per-request token overhead
Fixed
Fixed WhatsApp replies silently failing — credentials were only resolved when integrations were configured, now resolved unconditionally at agent startup
Fixed WhatsApp reply delivery — gateway credentials are auto-synced to shared storage, and the agent reads fresh credentials at send time instead of using stale cached values
Fixed delegate_task crash when cleaning up undefined values after task completion
Fixed /agent command failing for users in multiple companies — resolve endpoint now checks all user accounts, not just the first one found
Fixed duplicate agent results when multiple user accounts map to the same agent
Fixed simPRO service job section resolution when sections are not returned by default
Fixed simPRO job name updates writing to the wrong API field
Fixed Gorgias messages missing sender attribution
v1.10.0
Universal Data Pipelines, Stop Button & simPRO Field Parity
New
Universal data pipelines — pipe tasks now work with all integrations. Agents can set up zero-token data pipelines from any integration to dashboards, indexes, or other integrations
Stop button in chat — a red stop button replaces the send button while the agent is processing, allowing you to immediately abort. Stop signals cascade to any delegated specialist agents
Per-task cancel — running background tasks can now be stopped individually from the Tasks page without affecting other agents
Website hosting route fix — all paths on hosted sites now load correctly (previously only the root "/" worked)
Integrations
simPRO — added 11 new fields to create/update quote (name, order number, request number, salesperson, project manager, technician, due date, validity days, stage, linked job, variation)
simPRO — added 8 new fields to create/update job (name, request number, due time, salesperson, project manager, technician, response time, completed date)
All integrations — pipe executor now supports raw API proxy with automatic OAuth token refresh for simPRO, Google Workspace, Microsoft 365, Xero, and GitHub
Improved
Delegation guardrails — delegated agents no longer attempt to bypass integration tools via web scraping or custom API clients. They report limitations clearly instead of spiralling through tool rounds
Message handling during delegations — user messages sent while an agent is processing a delegation are now properly deferred and processed after, instead of being absorbed as lost nudges
simPRO job and quote field parity — create/update for jobs and quotes now support all API fields: name, request number, due time, salesperson, project manager, technician, response time, completed date, stage, linked job, and variation flag
Background task controls — agents must now get explicit user approval before launching background tasks, preventing unintended token-burning operations
Fixed
Fixed quote names not persisting when created or updated via the API — the Name field was never being sent
Fixed job names not persisting on update — same missing field mapping
Fixed user webchat messages being silently lost as "nudges" when an agent was processing a delegation
Fixed hosted website /_data and /_errors endpoints returning 522 — route pattern was missing wildcard path
Full quote attachment management — create, rename, move, download, and delete attachments and folders on simPRO quotes, matching the existing job capabilities
Automatic per-message model routing — AI selects the optimal model tier for each message based on complexity
Cross-agent file sharing — delegated specialists can now access files uploaded in the parent conversation via signed download URLs
Delegation context enrichment — file references and recent conversation turns are automatically forwarded to specialists
Specialist artifacts flow back — files and artifacts created by delegated agents are returned to the parent conversation
Integrations
simPRO — 7 new quote actions: download, update (rename/move/visibility), delete attachments; get, create, update, delete attachment folders. "Create a subfolder called Roof inside Before Photos on that quote" and "Move the attachment into the After Photos folder" now work conversationally
Improved
Reusable attachment helpers — shared download and listing logic across jobs and quotes, eliminating code duplication
Quote parameter flexibility — all quote attachment and folder actions now accept both "id" and "quote_id"
simPRO attachment auto-download with signed URLs included in listing results
Delegation instructions improved — specialists receive clearer context about available tools and files
Path-aware message wrapping for agent-to-agent communication
Fixed
Fixed quote attachment folder endpoints using wrong API path (/attachmentFolders/ → /attachments/folders/)