Releases
What's new in AgentOS
What changed in the AgentOS platform and its TypeScript and Python SDKs, newest first. RSS

Clearer messages when a run fails
- When a run fails for a known reason, such as a refused API key, the Assistant now says which, instead of only that it failed.
- GPT-6.1 Sol is no longer offered for agents: it cannot use tools, so an agent could not run on it.
The Assistant does everything your Studio products do
- The Assistant can now do anything a Studio product's page lets you do: Notify, Outreach, Support, Social posts and campaigns, SEO, Security, Intelligence and Calendar, all from the chat.
- One Assistant for the whole workspace, with its own name and model, replaces the separate per-product assistants.
- Approval cards in the chat are more compact, and previews show up as cards in the conversation.
- Replies that came back empty are fixed, and the Assistant answers faster.
The booking page's source question in your language
- The booking page's "Where did you find us?" question and its choices now appear in Portuguese, Spanish and Italian, matching the language of the rest of the page.
A simpler Outreach and a tidier footer
- Outreach now opens on Prospects, with the Playbook before Needs you, and Results is part of Overview.
- Outreach no longer sends default emails: you write your own, and segment variants are opt-in.
- The footer's For developers column is split in two, so it reads more easily.
- The sitemap index now loads without clashing with the main sitemap.
Voice and topics stays open while you type
- The Voice and topics section in Social Settings no longer closes while you type.
Approve all works when each post waits for an OK
- Approve all now works when each post waits for an OK. It asks you to confirm, then schedules every post that can be sent, with your OK recorded. Posts that cannot be sent stay as drafts, and the message tells you how many.
- The change request in the post dialog is clearer: it no longer repeats the title, and the helper text says what to write.
- The Top posts table in Results keeps its numbers visible when a post has long text.
A tidier Social product
- The Drafts grid is denser, and text posts keep clear of the status label.
- In the post dialog, the change request is folded away until you need it.
- The preview opens in its own dialog instead of repeating the picture on the page.
- Settings are grouped into sections you can open and close.
- Posts for X are counted the way X counts them. Workspaces get this in the publisher when they are updated.
- You are asked to confirm before a post is discarded.
- The setup steps fit on a phone, and an oversized file now gets a clear message.
Social gets review views, more post formats and a link page
- Review your posts as a List or a Grid, with each preview shown at the shape of its platform, and approve or change several posts at once.
- New post formats, such as Stories, video and Reels, polls and threads, first comments and alt text. They arrive when a workspace is updated.
- A link-in-bio page for your brand, with its settings in Social.
- Recycle a post you already sent, and see suggested best times to publish.
- Link tagging on posts, with campaign results to see how they did.
- Resources accept larger files, including MP4 video, up to 50 MB each, with 1 GB in all.
The SEO page gets a Needs you tab
- The Search Engine Optimizer now has a Needs you tab of its own, with the number of drafts waiting for you shown on it.
- The Plan tab is now called Next steps, and the Plan now button is called Find now. Your existing links keep working.
The SEO product finds what your site is not yet found for
- The Search Engine Optimizer is now five tabs: Pages, Searches, Overview, Plan and Settings, with a Site tab that says whether your sitemap was read whole and why not.
- Add the searches you want to be found for and see their weekly position, and the plan flags searches no page answers yet.
- It advises which thin pages nobody sees are worth pruning, and you can mark each as done.
- It follows up on links and checks the home page's structured data, its target and the language versions of your pages, including local-search signals.
- Requests that tools make to outside services are now checked more strictly, so they can only reach the public address they claim to.
- Actions show one clear activity indicator while they run, and loading states are easier to see.
- Cards on the site and on the product pages now carry icons.
One way to send and read mail across products
- Outreach, Support, Security, Search Engine Optimizer, Notify and Intel now send and read email through one shared connection, so a mailbox connected once works the same in every product.
- Support and Outreach reply in the original thread and file messages into folders.
- Calendar works with Google Calendar through the same kind of shared connection, with clearer errors when a time zone or a page of results is wrong.
- The Social campaign dialog and settings are split into sections, with a week of day cards.
Social campaigns that fit a real month
- A Social campaign can set the times for each day, a closing line for each platform, a timezone and a theme for each week, and it writes up to 120 posts over 13 weeks.
- Long campaigns are planned in batches, and the writer keeps the format note, the pages and the themes you typed.
- Posts that carry a link are flagged, and posts that could not fit in the plan are listed on the draft.
- A campaign takes its pictures from Resources: pick them in a numbered grid, with a JPEG copy made for each and a carousel card.
- A written campaign has its own page, linked from the calendar. Edit its posts, extend it or import posts into it while it is not running.
- The Calendar counts confirmed bookings by where the client found you, and warns when the question is missing.
- Five new blog posts for the December campaign.
A clearer pricing page and tidier layouts
- The pricing page now opens on how it works: a call, a solution, a plan, with the booking button in the first step.
- Plans are listed from Solo up, and the set-up label is gone from the Operations and Evolution cards.
- The booking page's weekday labels no longer run together in Portuguese.
- On the site, a service card's label is now a clear pill on its picture, and the card ends right under its text.
- On the platform Overview, a short card no longer leaves a gap beside a tall one.
Book a call on our own booking page
- The booking page replaces the embedded calendar and is available in four languages.
- Every booking asks for a phone number.
- Clients get an email when they book or move a booking, with a link to change or cancel it, and a reminder the day before.
- Each meeting type shows its name, description and questions in the client's language.
- Required and optional fields are marked on the booking form.
Safer workspace access and clearer data wording
- A file in your Brain now opens on Preview first, then Write, so you read it before you edit it.
- Leaving a workspace now removes your folder and team access too, and the member is really removed.
- Removing a member reports it when any of their access could not be cleared, instead of passing silently.
- The Usage page is for owners and admins only, matching its tab, and sends a member away.
- The owner can no longer delete a workspace that is on a paid plan, as staff cannot.
- The privacy policy, the DPA and the Security page say that data is kept in Ireland (EU), and no longer promise run-log retention windows.
Products that learn from your results
- Social and Support now show what they have learned from your results, with the evidence behind each finding.
- Support compares drafts with and without its learning, and suggests help-file sections that are missing as questions in your Brain.
- Support shows how many drafts settled the question, and Outreach shows likely ranges for its tests.
- The Search Engine Optimizer adds a Request indexing link on a page Google has not indexed, opening its Search Console inspection.
- The Solo plan card no longer shows an annual line, and the footer tagline matches the landing page.
Outreach you control, and services in your language
- Filter Prospects by Sent, and see when a reply already has a solution.
- Follow-ups can have a variant for each segment, and can be held for your approval before they go out.
- Choose the days sending runs and add an opt-out line. Sending pauses by itself when something goes wrong, with a Resume button.
- Start follow-ups on prospects already sent, and move a missed follow-up to a new day.
- Files can now be filed into a folder when created through MCP.
- The site now separates Services from Products, with new Digital security and Competitors pages, and all of it is in Portuguese, Spanish and Italian.
The Brain moves into Studio, and files can be deleted
- The Brain now opens inside Studio, with Studio's sidebar, at its own address.
- Delete a file from the Brain: anyone who may edit it can remove it from its page.
- Delete a section once it is empty (owners and admins).
The site in your language, and a Brain for your products
- The public site is now available in Portuguese, Spanish and Italian, with a language switcher in the header and footer.
- The home page speaks to service businesses: one clear way to book a call, the offer in sight, and five services.
- Folders in Resources can be pinned to an agent, so it reads the files you choose.
- Support, Outreach and Social can take their answers, ideal customer and voice from files you keep in one place.
- Agents can ask you a question when a file is missing, and your answer is saved for next time.
Smoother product setup
- A step that starts with a sensible default, such as Outreach's sending limits or Calendar's hours, counts as done only once you have gone through it. Products already set up are not asked again.
- Steps that wait on something outside your hands, like a DNS record for Security, no longer lock the rest: carry on meanwhile and the status says what it is waiting for.
- Connecting a service again with another account keeps the new one, and a connect step offers "Use another account". The setup steps scroll sideways at every width.
- The "Finish setting up" banner leads with the next step, and the step footer shows when your changes are saved.
- Support takes a dropped help file and offers a starter to fill in. Notify can add you as a recipient in one click and AgentOS as a source. Security shows its DNS record as separate, copyable rows.
- Calendar shows its booking settings and recent bookings without Google Calendar connected.
Every product sets up step by step
- Outreach, Competitor intel, Support, Social, Security, Notify, Calendar and the Virtual Assistant now open on a guided setup, one step a screen, like the Search Engine Optimizer. Each step says why it is asked and what it unlocks, saves as you type, and ends with what happens next.
- Products whose agents use a model start with the AI key step, naming the provider each agent runs on. A connection step tells you which other products share it.
- Every product page has one box for its agents: each agent's state, Pause and Resume, and the steps of a running agent from the click to the result.
- A product you have not finished shows a "Finish setting up" banner that picks up where you left off. The old getting-started checklists are gone.
- Security's brief is now optional, and the setup steps scroll sideways on a phone.
A guided setup and live progress
- Search Engine Optimizer now opens on a guided setup: one step a screen, from connecting Search Console to choosing where approved changes go, then what happens next. Finish later and a banner on the page picks up where you left off.
- Check now and Plan now show each step as it runs, from the click to the result.
- GitHub and Gmail sit beside Search Console in the page's Connections, each connected and disconnected there.
- A slow action now shows a small "Working…" notice that turns into its result.
Search Engine Optimizer
- A new product, Search Engine Optimizer, gets your site found on Google. Connect Search Console and it checks every page each day and says what to fix on each one.
- Each week it plans up to five things worth doing, such as a page that almost ranks or a question your market asks that no page answers, and drafts the change for you.
- Nothing goes live until you approve it: an approved article or title arrives as a pull request on your site's repository, or as text to copy in.
- A weekly brief, by email if you like, compares your clicks, searches and position with the week before.
- It also suggests places worth a mention and drafts the message; you send it yourself.
- The blog now has a Portuguese section, starting with a guide to answering customer emails automatically.
Every action tells you it worked
- Saving settings, adding a meeting, approving an email, removing a competitor and every other action in your products now confirms itself with a short message, so you always know it went through.
- Pause and Resume say what changed: nothing runs while a product is paused, and it picks up its schedule again when resumed.
Bookings in person, by phone or on any video link
- Each meeting type says where it happens: in person at your address, a phone call either way, Google Meet, or your own Zoom or Teams link. With more than one, your client chooses.
- Ask up to five questions when clients book. Their answers show on the booking and in the calendar event.
- Already on Calendly or Cal.com? Turn on "Use my own booking tool" and your booking link sends clients there, while your agenda and the Assistant keep working.
An Overview for every product
- Competitor intel, Outreach, Calendar & bookings and Security each have an Overview with what matters for that product: cards that open what they count, and bars for feeds, the outreach funnel, the week's booked hours and the security grade.
- Product pages open on the work itself: briefs, prospects, your agenda, findings. The row of figures is no longer in the way.
- Security opens on Findings, and a report your team forwarded shows above the tabs, wherever you are.
Your language on every device
- The voice assistant remembers the language you speak on your account, so a new phone or browser hears and answers you in it from your first word.
- The platform Overview shows workspace activity beside what needs attention, so the page reads at a glance.
Email previews you can read
- Outreach emails and other email approvals are previewed on a light page, exactly as your client will see them, so the text is readable in the dark theme too.
Answered in your language from hello
- The voice assistant answers in the language you have been speaking, even a one-word "Olá" at the start of a new conversation.
- Short follow-ups like "E no X?" or "Obrigado" are recognised as Portuguese.
- A spoken sentence that stalls is retried sooner, so answers flow without long pauses.
Your language from the first word
- The voice assistant remembers the language you speak: a new conversation is heard and answered in it from your first word, and "one moment" comes in it too.
- A short word it mishears never switches the conversation to another language.
- Competitor answers keep to the period you asked about, and name every competitor they count.
- Each step the assistant takes shows in its progress, every time.
Ask the assistant about any period
- Ask the Virtual Assistant about any period: "LinkedIn posts next week", "what competitors did last week", "emails sent and customers last month". It counts by platform, day, competitor or segment.
- Outreach answers include replies, booked calls, customers and the conversion rate.
- By voice, it follows the language you speak: your words are transcribed in that language, and "one moment" and the answer come in it too.
- It never reads out a change you already approved or rejected, and it copies email addresses exactly as you say them.
A quicker voice, and an instant calendar
- The voice assistant starts working the moment you stop talking, answers greetings at once and most questions in one step.
- A short "yes" or "hello" is heard, and if it misses something it says so.
- Tables in the assistant's answers show as tables.
- Meetings you add, move or cancel, and the Take bookings switch, change on the page at once.
- Your booking page shows a smaller AgentOS mark beside your brand.
Add meetings from your calendar, and a booking page with your brand
- Add a meeting straight from your calendar: pick a free time or a day, and it goes into your Google Calendar with a Meet link. Open one to move or cancel it.
- Agenda and Calendar are tabs in your schedule, and the rest of the page stays where it is.
- Your booking page shows your logo or your business name next to ours, and when you are not taking bookings it says so instead of showing an error.
- Booking settings are tidier: your working hours read clearly, with a button to change them.
- The voice assistant answers much sooner: it acknowledges you at once, reads all your products together, and starts speaking as soon as it has its first words.
Approve by voice, on any screen
- In voice mode, Approve and Reject are always in view when a change waits for you, on a phone too.
- A new answer never shows the last answer's link or card while it is spoken.
- Once you approve or reject a change, its card no longer offers to do it again.
- Spoken answers wait longer for a slow sentence, so none is skipped, and lines of links are not read aloud.
Clearer answers, and a smoother voice
- The Virtual Assistant's answers show their formatting: bold, lists and links, in every chat. On WhatsApp they use WhatsApp's own formatting.
- In voice mode, the link an answer mentions shows on screen, and Approve and Reject appear as soon as a change waits for you.
- Spoken answers no longer go quiet on a slow sentence, and labels and tool names are not read aloud.
- Times of past runs are told in your timezone as it was on that day.
- The Platform Engine chat shows the links it mentions.
- A conversation's settings close at once.
A stronger model for the Virtual Assistant
- The Virtual Assistant runs on a stronger model, so it follows a request through and reports only what actually happened.
- Ask about any day ("what's on Thursday?") and it reads that day, and it finds a meeting by its name when you ask to move or cancel it.
- It answers with a short summary of what it read, and "my week" covers all your products.
- Failed runs are counted in full and named.
- On a phone, stepping to the next month on your booking page shows that month's first free day.
- A renamed conversation shows its new name at once.
A Virtual Assistant you can trust with your calendar
- The Virtual Assistant knows today's date and your timezone, so "tomorrow at 3" lands at 3 in your time, even across a clock change.
- It reads each product's own figures (Security findings, competitor news, outreach, posts) instead of guessing, and only says a change is done once it is.
- Cards, links and the meetings it books now show in the chat, and links in its replies open with a click.
- A decided approval says what it was, and a skipped step stays in the progress list.
- Clients on a phone can book any day in your booking window, and a time someone else just took is no longer offered.
- Your calendar's free times now leave the same buffer after a meeting as your booking page does.
The app fits the screen
- Signed-in pages fit the screen exactly: a notice at the top no longer makes the whole page scroll, and Chat's message box stays in view.
- The sidebar keeps your workspace at the top and your account at the bottom in view on a short screen; only the menu between them scrolls.
Small fixes after the Virtual Assistant release
- The "Book a call" notice for a workspace without a plan now sits above the page instead of over it, so it never covers a button.
- The platform Overview greets you by name, or without a name, and never by your email address.
- Each Workspace page (People, Usage, Billing, API keys, Settings and the rest) has its own title in the browser tab.
The Virtual Assistant, and Calendar & bookings
- The Virtual Assistant is a new product: talk to it or type to it, and it reads your products, your calendar and your clients, then does the work you approve. It has a hands-free voice mode with captions, and you can attach files to any message.
- It keeps conversations about the products and agents you choose, with a morning, an evening and a weekly brief in each. Briefs can reach you on WhatsApp, where you can write to it, send voice notes and approve with a tap.
- Anything it would change waits for your OK: an email, a meeting, a post. Its Tasks page lists what it is doing and what waits for you.
- Give it a name, a voice, a language (English or Portuguese) and an orb colour, and choose whether admins can use it or only owners.
- Calendar & bookings is a new product: see your day and week as an agenda or a calendar, and share a booking page where clients pick a free time. Each booking gets an invitation, a calendar file and a link to move or cancel it.
- Also: the Run activity panel now sits in the sidebar instead of over the page, and several pages read and line up better on a phone.
Product versions, and Outreach first emails that read as a person wrote them
- Each product's page now shows the version your workspace runs and a What's new list of what each update changed.
- Outreach 1.1.0 writes first emails that read as a person wrote them, using what it saw on the prospect's own site.
- The Outreach Playbook lets you write a variant for each segment, so each kind of prospect gets its own wording.
- The fit score is no longer written into the email, and the email type is cleaner. Support gets the same email type.
- The Outreach preview shows the email as it will be sent, with the segment's variant picked.
- A multi-select closes with Escape and keeps the choices you made.
Clearer events, with who, what and where to look
- Every event Notify sends now says who it concerns, what went wrong in words and where to look, with a link straight to the run, prospect, mail or brief.
- A failed run says why it failed, which pipeline step it was, and when it fails again in a row.
- Security now sends events: a critical or high finding, a lookalike domain, a domain proven and a report waiting.
- Notify has new ready-made rules for Support, Intel and Security, and clearer default texts for run failures, alerts, replies and booked calls.
- Updating Notify gives an existing source the new ready-made rules once, and leaves rules you changed or removed alone.
- When a domain you added is still waiting for proof, the first Security setup step now shows its TXT record instead of offering Add a domain again.
Certificate checks read the host directly
- Agents can now read the certificate a website serves: who issued it, when it expires and which names it covers.
- Security's certificate check reads the certificate from your host first, and falls back to public certificate logs only when the host cannot be reached.
Security product and pick-up emails
- Security, a new Studio product: checks of your email and website setup, the findings it raises, and a place to report phishing.
- Outreach now drafts a pick-up email for a conversation that went quiet a week after your last email, written from the thread and waiting for your approval in Needs you.
- You can also pick up a conversation by hand from Prospects.
- A custom tool that holds a secret can now only be pointed at a different address by an owner or an admin.
AgentOS news on your phone
- Notify can now send AgentOS's own news to your phone: an approval waiting, with a link to approve or reject it; a run that failed; a connection that needs reconnecting; and spend at 80% and over a monthly budget.
- Each has a ready-made rule on the AgentOS source.
Telegram Find picks the chat for you
- When Find returns a single Telegram chat, it is picked and its name fills in, so Add is ready.
- The step now says who it found, for example "Found Ana Lima. Add saves them."
Notify is easier to set up, and Outreach sends now
- Notify separates sources from channels and shows a setup timeline, so you can see what is done and what is next.
- Telegram is found in steps, with a clear message when Telegram turns the bot token down.
- Rules read as When, Send, To, and a four-step editor builds them. Ready-made rules and a send test help you start.
- Outreach can send queued emails now: one, or a batch you choose.
- The Workspace activity chart on the Platform overview now fills its width.
A steadier Outreach company finder
- The Outreach finder now saves each search as it returns, so a long search keeps what it found.
- It searches for companies rather than email addresses.
- A save that fails is reported, and the next result is still saved.
Webhook triggers and Notify
- Webhooks: each workspace gets an inbound webhook URL, and an agent or script can be started by an event sent to it.
- A new Webhooks page lists the events received, with what each one started.
- Agents and scripts can send their own events to the workspace's webhook, and fired alerts are sent as events.
- Notify, a new product: turn events from your apps or from AgentOS into messages by email, Slack, Telegram, SMS or a webhook.
- Notify has rules, recipients and a Send test button, so a rule can be checked before it matters.
The Outreach Playbook, redesigned
- Segments and places are chips: press Enter or a comma to add one, and a duplicate is not added twice.
- Beside Who to find, "What the finder will do" shows the next two runs' segments, how many a run brings, what it skips and the last run.
- The email sequence sits on a rail: the first email with its A/B/C variants, each follow-up with its days, Add a step, and the Revive email under "When they never reply".
- The chosen email is edited beside the rail with its preview next to it, and a follow-up can be removed.
- Sending has two columns, with the calendar's state under the booking link, and "A day of sending" shows the next send, what is left today and how the day's number is shared.
Outreach can write to a prospect and start a quiet one again
- Write to them: write a message to a prospect from their panel or the conversation, with your booking link to insert, approve it, and it goes out in the same email thread.
- A new No reply stage lists prospects who never answered and have been quiet for 14 days or more, with how long and how often they were started again.
- Start again sends a prospect a Revive email, which you write per language in the Playbook.
- The whole thread is kept and shown, every reply and every email sent, in order.
- A missing first name no longer leaves "there" in other languages: "Olá," rather than "Olá there,".
- Prospects shows 50 rows at a time, and Results shows failed finder runs and a Started again card.
Outreach tests three emails and sends three follow-ups
- A language's first email can now have up to three variants, A, B and C, and the template test compares all three.
- A sequence can have up to three follow-ups after the first email.
- The Emails preview is filled for a prospect of the language you are editing, so the opening matches that language.
Outreach finds companies reliably and keeps replies short
- The daily company search finishes in time instead of timing out.
- A follow-up checks the prospect's email thread for a reply before it goes, and waits if there is one.
- Replies are kept and shown without the quoted email.
- Times in Outreach are short and shown in your workspace timezone.
- The Prospects table keeps each row to one line.
Outreach follows up, books calls and shows what works
- Outreach sends follow-ups in the same email thread and stops when a prospect replies, is not a fit or has booked.
- Calls booked on your Google Calendar are marked on the prospect automatically, and you can mark one by hand.
- A Needs you queue gathers the replies and drafts waiting for a decision.
- Prospects is a working table with stages, bulk actions and a side panel with the full timeline for each prospect.
- Playbook sets who to find, the emails (with A/B versions per language) and the sending rules. Results shows what each version earns.
- Every product (Outreach, Social, Support, Intel) now shows its connections at the top, offers a connect panel while a needed connection is missing, and walks you through a Get running setup until its first work.
One Social Writer, campaigns and a new post editor
- One Social Writer now writes for every platform, replacing the separate Instagram and X writers.
- Plan a campaign and write each post yourself or let the AI writer do it. Nothing is written by AI on a schedule unless you choose it.
- New post opens the editor, which shows the post as it will appear. A Build with AI menu offers help with the text and the picture, and earlier versions are one click away.
- Make a picture with AI from any post. Pictures are billed on your workspace's own key.
- Google is now a provider of its own, with Gemini models and pictures.
- Agents on a model that is being retired are told ahead and can be switched. Each key you add now has its own name, and an agent can use a specific one.
- Product pages use the full width, and the Schedules page header no longer squeezes its title.
Custom automation on the landing page
- The landing page now offers custom automation: tell us any process your team repeats, and we build it for your exact needs.
A simpler site and booking on our own page
- The site leads with one ask: book a call. Booking now happens on our own page, agentos-ai.dev/book.
- The landing page is shorter and says what AgentOS does: automate company processes with scripts or AI agents.
- New public pages for pricing, developers and our agents. Pricing shows the plans as a guide, each booked on a call.
- Studio's Home and Products pages show each product as a picture card, with Open on every way into a product.
- The Products page opens with an ask for a new product or a custom integration.
- The welcome email and Studio's setup now say "Book a call" and link to the booking page.
Sign in with a password or Google
- Sign-up and sign-in now use a password or Google. The email magic link is retired.
- The setup tracker counts what is done, for example "1 of 3 set up", and shows a progress bar.
Confirm and pay your plan from Studio
- After the call, you confirm and pay your plan from Studio.
- The setup tracker shows each product and integration as it is switched on, and you open your workspace when it is ready.
- Operations now holds up to 6 agents and Evolution up to 12.
- A confirmation link opened on another device now says your email is confirmed.
A simpler start
- Signing up is one screen: your name, your company, your email and a password or a magic link, plus an optional goal.
- Your workspace is created from your company the first time you confirm your email, so there is no separate setup step.
- After sign-up you book a call and we set the workspace up with you. Studio shows a setup tracker until your plan is in place.
- Signing in never creates an account by accident.
Outreach emails with a subject and example per company
- The outreach finder now writes a subject line and a short example for each company it finds, so every email opens with something specific to that company.
- Loading placeholders now match the page they stand in for, with the same header, icon and actions, so pages no longer jump when they appear.
- An activity bar shows while any action is in progress, including starting a pipeline from its drawer, so you can tell your click registered.
Long runs end with a reason
- An agent run that reaches its time limit now ends as failed, with a message that says what to change, instead of showing as running for hours.
Platform colours on the Social calendar
- Each platform has its own colour on the Social publishing calendar and list: LinkedIn blue, Instagram pink, X teal.
- Calendar cards are shorter: a post's picture shows as a strip along the top.
- X now reads X (Twitter), so it is never mistaken for a close button.
- A connected Instagram or X account shows its handle and who connected it.
Social publishing on Instagram and X
- Social publishing now posts on Instagram and X as well as LinkedIn. Each post is for one platform, and the calendar shows which.
- A Platforms button in the page's head lists every account, with a way to connect or manage each one.
- Each platform's limits are checked as you write: Instagram needs a JPEG picture, and an X post is at most 280 characters.
- Publish now, in a post's editor, sends a saved post straight away, after you confirm.
- Instagram and X each have their own writer for drafts, off until you turn it on.
Notifications and alerts in the Inbox
- The Inbox has two new tabs: Notifications and Alerts. Alerts lists each alert that fired, and opens its run when it has one.
- Each tab shows how many are unread, and the Inbox count in the sidebar includes them.
- Mark all read on a tab marks only that tab's items.
- Notifications are no longer in the account menu, and its red dot is gone.
A clearer top of the sidebar
- The top of the sidebar is your workspace: its name, with its plan under it.
- The app's version is now at the foot of the workspace menu.
- Workspace initials are rounded squares everywhere.
- The account menu is shorter: your account settings are under Settings in the sidebar.
A faster Support inbox and the version back in the sidebar
- Switching view in the Support inbox (Needs you, Answered, Closed, Promotions, Other) is faster: only that view's list is loaded instead of the whole page.
- If a list fails to load, the inbox now offers Try again.
- The AgentOS version is back at the top of the sidebar, beside the workspace switcher, and on the top bar on a phone.
Each Outreach email can open with a line about the company
- When Outreach finds a company, it now writes a sentence or two about it in the language of its site: something its site says, and the repetitive work that suggests for its team.
- Put
{opening}in your email template and that line goes in for each prospect. A prospect without one gets the email without that line. - You see the opening in each email under To review, and can edit it before you approve.
Support inbox answers can carry a signature card
- In the Support inbox, the signature can now be the HTML of a signature card, with a logo and links. Paste it in Settings, under Answers, and the preview shows the answer as it will be sent.
- With such a signature, an answer goes out as HTML: your text keeps its paragraphs and web addresses become links.
- Messages sent through your site's contact form are now read, and answered to the person who wrote.
- A message that arrives as HTML only is read as text, without its markup.
Outreach answers interested replies with a way to book a call
- In Outreach, Settings has a new Booking link under Sending. When a prospect replies with interest, the drafted answer now thanks them, answers their question, and offers a call with your booking link on its own line.
- Without a booking link, the answer asks which day suits them. Either way it still waits for your approval in Replies.
- In Social publishing, the Scheduled tab has an Approve all button for the posts that wait for your OK.
- Pictures show a shimmer while they load, so an empty frame is no longer read as a missing picture.
- The workspace's timezone is chosen from a list instead of typed.
Outreach emails can carry a signature card
- In Outreach, a signature can now be the HTML of a signature card, with a logo and links. Paste it in Settings, under Email, and the preview shows it as it will be sent.
- With such a signature, an email goes out as HTML: your text keeps its paragraphs and web addresses become links.
- A signature written as plain text works as before.
Studio: one home for your workspace and its products
- Signing in now lands in Studio: a home with your workspace's products, an Inbox for what waits for you, Activity for what happened, and Resources. Platform Engine, where agents and scripts are built, is one click away in the sidebar.
- Four products run on your workspace's agents and scripts: Social publishing, Outreach, Competitor intel and Support inbox. Each has a page that explains it, and you can ask us to add one from the Products page.
- An approval can be approved or rejected straight from its row in the Inbox.
- Records: a workspace's own structured data, with a page in Platform Engine and API methods to read and write it.
- A schedule can run on dates you choose.
- A new look across the site and the app, with better text contrast and keyboard access.
The Map joins scripts that share a file
- On the Map, scripts that share a file in Resources are now joined into one workflow, with the file drawn between them in the order they run.
- The Map's side panel has a new files section that lists the files a runnable reads and writes.
- The Map's side panel now shows a runnable's whole description instead of a shortened one.
- A long schedule label on the Map wraps to a second line instead of being cut off.
Monthly schedules, and the newest models
- Schedules: an agent or a script can now run monthly, on a day of the month from 1 to 28, at the time and in the time zone you choose.
- Agents run on OpenAI's GPT-5.6 and GPT-6 models when they use tools. Before, those runs failed. On these models an agent that uses tools runs without the model's extended reasoning for now.
- Agents run on Claude Sonnet 5.5 and Claude Opus 5.5. Before, every run on them failed. These models do not take a temperature, so that setting is ignored for them.
OpenAI GPT-6 models
- Agents can run on OpenAI's GPT-6 models. Before, an agent set to one failed on every run.
Hourly schedules
- Schedules: an agent or a script can now run hourly, on the hour, as well as daily or weekly. An hourly agent runs 24 times a day, so check what that means for your model spend.
- A schedule no longer starts a run while the previous run of the same agent or script is still going; it skips that slot.
- A scheduled run is no longer left for the next hour when the trigger arrives a moment early.
- Resources: a file an agent or a script overwrites now reads back as the new content straight away. Before, a read could return the old version for up to an hour.
Signed requests with a nonce for custom tools
- Custom tools: Signed request (HMAC) has a third algorithm, HMAC-SHA512 with nonce. It adds a rising nonce to each request and signs it, which is what APIs such as Kraken's REST API require.
- The signing key stays encrypted at rest, as for the other algorithms.
Scripts for every workspace
- Scripts are now available in every workspace: short JavaScript that calls the same tools your agents use, with no model in the loop. The same steps every time, no tokens spent, with the same approvals, schedules and run history as an agent.
- Find them under Build, next to Agents. Your plan sets how many you can have: 10 on Solo, 20 on Operations, 50 on Evolution.
- Scripts can also be created and run through MCP and the SDK with the
scripts_*tools. - Sign up: using an email that already has an account now says so, instead of asking you to check your inbox for a link that never arrives.
Map, your workflows on one page
- New Map page under Analyze: the agents and scripts that call each other, drawn as workflows, with what starts each one and where a person approves.
- Each workflow shows its status for the period you pick. Choose one to see it alone, or filter by status, kind, how it is started, or name.
- Read the map by health, volume, tokens or approvals, and select any step for its numbers, what starts it and what it calls, with buttons to open it or see its runs.
- The same picture is available to MCP and the SDK through the new
orchestration_gettool. - Runs: who triggered a run now appears on the run itself, and the runs table is one column lighter.
A welcome that starts the conversation
- The welcome email now arrives as soon as you confirm your email address, before you set up a workspace.
- It asks one thing: reply with the process you want to automate, the tools involved and how often it happens. We read every reply and contact you with the next steps.
- The dashboard is still one link away in the same email if you prefer to explore on your own.
One look for every email
- Emails from AgentOS now share one design. Alerts, report and export notices, workspace invitations and suspension notices arrive in the same card as the account emails, with the logo and a clear button, instead of plain text.
- Every automated email is signed by The AgentOS Team.
Read a resource's content from MCP and the SDKs
- A file in Resources can now be read from MCP (
resources_get) and from both SDKs (resources.get), not only listed. Text files return their content, up to the first 256 KB; images return their details only. - Resource files are bound more tightly to their workspace: the database now refuses a resource record that points at a file outside its own workspace.
- A file in Resources can now be read from MCP (
Approving a batch of long emails no longer ends on an error
- Approving or rejecting a batch of long emails no longer ends on an error screen. Your decisions were always recorded; the page now updates to show them.
- Live updates to a row on a page now keep every column of that row.
Bottom sheets on a phone, alert rules you can edit, and a clearer light theme
- On a phone, folders and filters open as a sheet from the bottom instead of taking up the page, and menus and pickers now flip to stay on screen near its edges.
- Alert rules can be edited and deleted from a menu on each row, and a webhook's signing secret can be rotated from the same menu. Built-in rules can be edited and paused.
- Pending invites can be revoked from the team panel, and inviting an address that is already invited or already a member says so plainly.
- Light mode is easier to read: status colours and badges are darker and meet accessibility contrast, and the smallest labels are a size larger in both themes.
- Agent, script and pipeline cards show their full name, links and small buttons are easier to tap, and Escape closes one menu, dialog or drawer at a time.
Safer webhooks, read-only built-ins and approvals that cover the whole turn
- Alert webhooks must use a public https address, and every redirect is checked too. A webhook rule's signing secret is shown once when you create it, can be rotated from the alerts table, and the webhooks docs explain how to verify a signature.
- Built-in agents are managed by AgentOS: their settings are read-only in the dashboard and over MCP. You can still run and pause them.
- A run's page shows the initials of the agent, script or pipeline that ran it, as its own page does.
- When an agent asks for approval, every tool call it made in that step now waits for your decision, so what you approve is exactly what runs.
- A run that resumes after an approval or an answer keeps the prompt variables it started with, the "Agent has no activity" alert fires once per silence instead of every 30 minutes, and the export-ready email now arrives.
- A deleted workspace stops running agents and accepting data straight away, and if the database is slow to respond, signed-in pages show a clear "try again" page instead of a timeout.
Plans in onboarding, script pipelines and a calmer light theme
- Onboarding now offers a plan before your first agent. Subscribe there or skip and look around first; after checkout, the app waits for your plan to activate instead of showing the plans again, on the Billing page too. The Get started checklist on Overview gains a plan step, and shows the next step with what it is for.
- A plan switched in the billing portal now updates your workspace straight away, and the no-plan messages say plainly that you need to subscribe to a plan.
- Pipelines can be run by a script as well as by an AI orchestrator, scripts can carry tags, archived pipelines are hidden from the list with an Archived link to restore them, and Schedules shows whether each entry is an agent, a script or a pipeline.
- For agents connected through the SDK, an answer to a question they ask now arrives as the person's own words, and answering it no longer shows an error.
- Approvals History and Coverage are redesigned: decision health at a glance, one row per decision that opens its run, and a clearer view of which tools need approval. Agents, scripts and pipelines show their initials everywhere, and light mode is calmer and easier to read.
- Alert emails link to your own AgentOS address, tool calls through integrations no longer send usage analytics to Composio, and on self-hosted installs the public pages load again.
New site images
- New images for the Careers page, the templates banner and Cost & budgets.
Careers page and shorter labels
- A new Careers page, linked from the Company menu, with an application form.
- How we run AgentOS on AgentOS now sits in the Resources menu, with the other guides.
- Section labels across the site are back to their original look, and every one is now three words or fewer.
Tidier schedules and section labels
- The Schedules page leaves out the schedules of archived agents and scripts, which never run. Restoring one brings its schedule back.
- Section labels across the site are simpler, in the same style as the labels in the product.
Archive from the agent page
- An agent's page has an Archive button beside the on/off switch. It asks first, turns the agent's schedule off and hides it from the list, and Restore brings it back.
- The home page's light trails now run across the whole first section.
Sub-agent tokens and a tidier agent list
- A run that calls other agents now shows the tokens those agents used, in the run header and on each call in the Trace tab, instead of only its own.
- The run details from the API and MCP include the tokens a run's sub-agents used.
- Archived agents no longer crowd the Agents list. An "Archived" link at the bottom shows them, and an archived agent's page has a Restore button that brings it back paused.
- A refreshed home page, with clearer images and an overview of the approvals screen.
Solutions, templates and clearer approvals
- New Solutions and Templates pages: guides for support, sales outreach, social posts and operations, and all 45 agent templates, each with the tools and setup it needs.
- The Runs page has a Kind column and filter, and every run shows the same avatar as the agent it belongs to.
- A pipeline carries on when a reviewer declines a step: the step reports that it was declined, and the run says so instead of looking failed.
- Approvals for agents built over MCP or the API now notify your workspace's owners and admins, so they no longer wait unseen.
- Reports run on your workspace's own model when you have not picked one, and the generation settings show which model that is.
- Security fixes to workspace access checks and to how the database refuses calls it should not answer.
Agents get today's date right, in their own timezone
- Agents that ask for the current time now get today's date in their own timezone as a plain field, so a daily agent can no longer pick the wrong day's task.
- The LinkedIn campaign's product images are now drawn illustrations rather than screenshots.
Bulk actions for Resources
- Select several files at once in Resources to move them to a folder or delete them together, with drag-to-folder for a whole selection and Cmd+A to select all.
- The folder selector on file cards no longer overlaps the delete button.
Upload many files at once, and file them into folders
- Resources takes many files at a time, from the Upload button or by dragging them in, and shows progress as they go.
- Drop files onto a folder to upload them straight into it, or drag a file onto a folder to move it there.
- LinkedIn posts published by agents keep their links and hashtags intact.
A public site for the product
- New pages at /product walk through every capability, backed by a blog of guides and case studies and a Company section with About and Security pages.
- Press / or Ctrl+K anywhere on the site to search docs, guides, product pages and release notes from one place.
- The MCP server has its own docs page, with setup steps for Claude Code, Cursor and Claude Desktop.
- Agents can post images to LinkedIn straight from workspace Resources, and HTML email previews now match the look of the plain-text ones in both themes.
- Alert rules created through the API or an agent now fire reliably, including their webhooks.
- Web requests made by agents now recheck every redirect they follow, not just the first address, closing a gap that could reach internal network addresses.
A new look across the product
- The product shares the website's visual language: clear labels, mono figures and quieter surfaces.
- Approvals read as one request: "Outbound Outreach wants to send 3 emails", the first call previewed, then Approve all, Review one by one or Reject all.
- The run page reads like a record. The transcript is a log with tool calls and their input and output inline, and an agent's markdown renders, tables included.
- Agent pages load faster: model lists and integration schemas are cached instead of fetched on every visit.
Every action shows its progress
- Pausing or activating an agent shows its progress and no longer freezes the page.
- Every button, switch and control that saves something shows that it is working, and you can keep navigating while it does.
- When something goes wrong, the message no longer exposes internal details. It ends with a short reference you can quote to support.
Previews for social posts
- Twitter and LinkedIn posts waiting for approval show the text, visibility, any attached link and the character count against the network's limit.
- Email previews look closer to how a mail client shows them.
- The approvals list stays in place while a decision is in flight, and its buttons show their progress.
See the action before you approve it
- Approvals preview what a call will do: an email with its recipients, subject and body, a file with its contents. Arguments a preview does not show are still listed beneath it.
- Email bodies render in a sandbox, so opening an approval never loads a tracking pixel.
- Every run gets a Summary tab: generate a short account of what happened, plus the list of actions it took, rejected ones marked.
- A paused turn shows all of its calls together, with Approve all and Reject all. Reject the exception on its row, then approve the rest.
Accurate 7-day health cards
- The 7-day run and success cards on Runs are counted live, so they never show stale figures.
- Reasoning models get enough output budget to finish: their maximum completion tokens never drop below 16,384, so long replies are no longer cut off.
Approvals are decided call by call
- When an agent pauses several gated calls in one turn, approving one of them runs only that call. Each call needs its own decision.
- Select or clear every call of a turn at once from its chip.
- A decision stays on screen, with a loading indicator, until it is recorded.
- Conversations, evals and folder changes respect each member's folder access again.
Security fixes for the control plane
- A member's personal key can only reach the agents and folders that member has access to, including when moving an agent between folders.
- Workspace keys can no longer invite or remove members, and control-plane changes are recorded in the audit log like dashboard changes.
- A rate-limited control-plane call answers
429withRetry-After, so clients can back off. - TypeScript SDK 0.4.1 keeps the API key out of logged or serialised runs, tasks and spans. Upgrade, and rotate any key that may have been logged.
The control plane over HTTP
- Every workspace operation the MCP server offers is now also an HTTP endpoint:
POST /api/v1/rpc/<method>, with the same keys, workspace resolution and role checks. - 56 operations across 18 areas: agents, runs, approvals, evals, schedules, resources, alerts, reports, tools and more.
- The TypeScript and Python SDKs expose them as typed methods from version 0.4.0.
- A new control plane reference documents every method.
- Every workspace operation the MCP server offers is now also an HTTP endpoint:
Security
- The API key no longer appears when a run, task or span is serialised with
JSON.stringifyor printed withutil.inspect. In 0.3.0 and 0.4.0, logging or returning one of these objects exposed the key. Upgrade, and rotate any key that may have been logged. - Redirects are no longer followed. A redirect fails with an
AgentOSErrorcodedREDIRECT; setbaseUrlto the final address. - A
baseUrlthat uses plainhttp://for anything other than localhost logs a warning, since the key would travel unencrypted.
- The API key no longer appears when a run, task or span is serialised with
Added
- Control plane. Every workspace operation as a typed method:
aos.agents,aos.runs,aos.approvals,aos.evals,aos.schedules,aos.resources,aos.alerts,aos.reports,aos.tools,aos.folders,aos.conversations,aos.members,aos.apiKeys,aos.notifications,aos.integrations,aos.marketplace,aos.fleetandaos.workspaces(56 methods). Generated from the server's schemas; see the reference. workspaceoption andAGENTOS_WORKSPACE, for control-plane calls with a personal key.
Changed
- The README is rewritten as a complete guide.
- Control plane. Every workspace operation as a typed method:
Breaking
invoke()returns{ runId, status, output, durationMs, sessionId, approval, inputRequest }.statusis"completed","awaiting_approval"or"awaiting_input"; a paused run used to look like a success with an empty output.outputisnullwhile paused, and typed with a generic (invoke<T>()).emitLLMResponse()takes token usage in camelCase:{ inputTokens, outputTokens }.- The LangChain handler records a span tree instead of tasks and events.
- Node 20 or later.
Added
- Configuration from the environment:
AGENTOS_API_KEY,AGENTOS_AGENT_ID,AGENTOS_BASE_URL,AGENTOS_DISABLED.agentIdis optional and can be passed per call, for workspace keys. invokeStream(),reply(), and the full invoke API:sessionId,startSession,history,externalUserId,parentRunId,test.withRun(), which completes or fails a run around a function.run.cancel(),run.complete({ usage })for token counts, andspan.fail().client.flush()andclient.shutdown(). In Node, queued events are also sent automatically before exit.- Retries with backoff for transient failures; a 429's
Retry-Afteris honoured. Invokes are only retried on 429, since the agent may already be running. AgentOSTransientError,AgentOSConfigError,statuson every error, andretryAfteronAgentOSRateLimitError.- Options:
maxQueueSize,maxRetries,timeoutMs,onError,fetch. startRun({ parentRunId }).
Fixed
- A failed background flush could crash the Node process with an unhandled rejection.
- Events were lost silently when a send failed. Transient failures now stay queued and retry; rejected batches are dropped and counted in
run.droppedEvents. - The event queue is bounded. When it fills, debug and info events are dropped before warnings and errors.
- The LangChain handler reported every model as
"llm"and every tool as"tool", and made a network call on each chain step. - The package declares
"type": "module"and separate type declarations forimportandrequire. Its ES module build was being loaded as CommonJS, which can breakimporton older Node versions.
Added
- Control plane. Every workspace operation as a typed method with keyword arguments:
aos.agents,aos.runs,aos.approvals,aos.evals,aos.schedules,aos.resources,aos.alerts,aos.reports,aos.tools,aos.folders,aos.conversations,aos.members,aos.api_keys,aos.notifications,aos.integrations,aos.marketplace,aos.fleetandaos.workspaces(56 methods). Generated from the server's schemas; see the reference. workspaceargument andAGENTOS_WORKSPACE, for control-plane calls with a personal key.
Changed
- The README is rewritten as a complete guide.
- Control plane. Every workspace operation as a typed method with keyword arguments:
Breaking
invoke()returns anInvokeResult(run_id,status,output,duration_ms,session_id,approval_id,input_request) instead of a dict.statusis"completed","awaiting_approval"or"awaiting_input"; a paused run used to look like a success with an empty output.emit_llm_response()takes token counts asusage=(wastoken_usage=).- The LangChain handler records a span tree instead of tasks and events.
- Licence is MIT (was Apache-2.0), matching the TypeScript SDK.
Added
- Configuration from the environment:
AGENTOS_API_KEY,AGENTOS_AGENT_ID,AGENTOS_BASE_URL,AGENTOS_DISABLED.agent_idis optional and can be passed per call, for workspace keys. invoke_stream(),reply(), and the full invoke API:session_id,start_session,history,external_user_id,parent_run_id,test.Runis a context manager: completed when the block ends, failed with the traceback if it raises.run.cancel(),run.complete(usage=...)for token counts, andspan.fail().client.flush()andclient.shutdown(). Queued events are also sent automatically at interpreter exit.- Retries with backoff for transient failures; a 429's
Retry-Afteris honoured. Invokes are only retried on 429, since the agent may already be running. AgentOSTransientError,AgentOSConfigError,statuson every error, andretry_afteronAgentOSRateLimitError.- Options:
max_queue_size,max_retries,on_error,http_client. start_run(parent_run_id=...).invoke_stream()yields typed events (InvokeStreamEvent) and skips event types it doesn't know.- Ships
py.typed, so type-checkers use the SDK's type hints.
Fixed
invoke()timed out after 10 s, while hosted runs can take 300 s.emit()could send a batch synchronously on the caller's thread. Sending now always happens in the background.- Events were lost silently when a send failed. Transient failures now stay queued and retry; rejected batches are dropped and counted in
run.dropped_events. - The event queue is bounded. When it fills, debug and info events are dropped before warnings and errors.
- Payloads with values JSON can't encode (datetimes, SDK objects) are sent as text instead of failing.
- A span with no parent or no kind sent those fields as
null, which the server rejects, so the whole batch of events was lost. They are now left out. - The LangChain handler reported every model as
"llm"and every tool as"tool", and made a network call on each chain step.
SDK 0.3.0 support, and run cancellation
- The platform side of SDK 0.3.0 for TypeScript and Python: typed
invoke()results, streaming, sessions and retries. See the SDK entries for the full list. - New
POST /api/ingest/v1/run/cancelcancels a run and any human-input request it is waiting on. Calling it twice is safe. - An agent-scoped key can only complete, fail, add tasks to or pause its own agent's runs, never another agent's in the same workspace.
- The SDK documentation pages have their own descriptions and working tracing examples.
- The platform side of SDK 0.3.0 for TypeScript and Python: typed
Resources show when they last changed
- Every resource records when it was last modified, whichever way it was written: dashboard, API, MCP or an agent.
- The resource viewer shows that date, opens as a modal on desktop and no longer overflows its box.
- Help, alert and prompt-variable copy now describes the product as it is, and the user guide has been rewritten.
The Operator can read what it supervises
- The Operator now reads a run's full event timeline, so asking why a run failed gets the actual tool calls and errors, not just the error message.
- It also reads fleet health, the real list of built-in and integration tools, alerts, the approval queue and members. Fleet health is available to MCP clients as the
fleet_healthtool. - Evals run to a verdict in one call: pass, fail, or error with the reason. The Operator can run them to check that a change helped.
- Modals stand out from the page behind them, and Run agent, Run pipeline and the folder picker open as modals.
- Prompt variables and parent run ids on
invoke().
- Prompt variables and parent run ids on
- Prompt variables and parent run ids on
invoke().
- Prompt variables and parent run ids on