{"id":24697,"date":"2025-09-10T00:11:53","date_gmt":"2025-09-10T07:11:53","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=24697"},"modified":"2025-09-11T07:48:16","modified_gmt":"2025-09-11T14:48:16","slug":"excel-announces-undo-support-for-3rd-party-add-ins","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/excel-announces-undo-support-for-3rd-party-add-ins\/","title":{"rendered":"Excel announces undo support for 3rd-party web add-ins"},"content":{"rendered":"<p>We\u2019re excited to share a major milestone with our partner community: <strong>Excel now supports Undo for 3rd-party web add-ins!<\/strong> This long-awaited capability unlocks a more seamless, professional experience for both developers and end users and addresses one of the top requests from our ISV ecosystem.<\/p>\n<h2>Excel Undo support: Empowering users with confidence and flexibility<\/h2>\n<p>The introduction of Undo support in the Excel Office.js API marks a significant improvement for users and developers alike. Previously, API calls performed by 3P web add-ins would clear the entire undo stack, which meant users could only manually revert to a previous status. With the latest release, <strong>most user action performed by your web add-in can now be undone <\/strong>using the familiar ribbon <strong>Undo<\/strong> button or keyboard shortcut (<strong>Ctrl+Z<\/strong>). The default unit of undo is each context.sync() call, making it easy to align undo behavior with user actions.<\/p>\n<p>This update empowers users to work with greater confidence and creativity. Imagine a finance modeling add-in where professionals can accept automatic formula suggestions without hesitation\u2014knowing that a simple <strong>Ctrl+Z<\/strong> will instantly revert any change.<\/p>\n<h2><strong>Customizable Undo <\/strong><strong>g<\/strong><strong>rouping for <\/strong><strong>d<\/strong><strong>evelopers<\/strong><\/h2>\n<p>We know that flexibility matters. While the default \u201cone action, one undo\u201d model works for most scenarios, some advanced workflows require more control. That\u2019s why we\u2019re introducing <strong>Undo Grouping<\/strong>:<\/p>\n<ul>\n<li><strong>Group multiple actions into a single undo<\/strong>: Developers can use JavaScript closures to group several sync() calls, defining custom undo boundaries that match complex user workflows.<\/li>\n<li><strong>Timeout and force-end mechanisms<\/strong>: To ensure reliability, undo groups have sensible defaults (20 seconds, max 120 seconds) and can be customized for special cases.<\/li>\n<\/ul>\n<p>This approach minimizes developer effort while providing the flexibility needed for sophisticated add-in scenarios.<\/p>\n<h3>Get started today!<\/h3>\n<p>For implementation details, see <strong><a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/excel\/excel-add-ins-undo-capabilities\">Undo support with the Excel JavaScript API on Microsoft Learn.<\/a><\/strong><\/p>\n<p>Have feedback or need a specific API supported? File a request in our <strong><a href=\"https:\/\/github.com\/OfficeDev\/office-js\/issues\">office-js GitHub issues page<\/a>\u2014<\/strong>your input shapes our roadmap!<\/p>\n<p>Thank you for partnering with us to make Excel more powerful and user-friendly for everyone. We can\u2019t wait to see what you build next!<\/p>\n<p><em>\u2014 The Excel Chat and Office Extensibility (ECOE) team<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most user action performed by your Copilot extension or web add-in can now be undone using the familiar ribbon Undo button, keyboard shortcuts (Ctrl+Z), or the Undo button on Copilot response cards.<\/p>\n","protected":false},"author":103343,"featured_media":160,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,11],"tags":[361,18,421,372],"class_list":["post-24697","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-365-developer","category-office-add-ins","tag-declarative-agents","tag-excel","tag-undo","tag-web-add-in"],"acf":[],"blog_post_summary":"<p>Most user action performed by your Copilot extension or web add-in can now be undone using the familiar ribbon Undo button, keyboard shortcuts (Ctrl+Z), or the Undo button on Copilot response cards.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/24697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/103343"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=24697"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/24697\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/160"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=24697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=24697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=24697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}