Congratulations!

[Valid Atom 1.0] This is a valid Atom 1.0 feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://feeds.feedburner.com/ChrisObrien?format=xml

  1. <?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4126985520350746834</id><updated>2024-03-21T09:04:27.348+00:00</updated><category term="SharePoint"/><category term="SP2010"/><category term="speaking"/><category term="Development"/><category term="Office 365"/><category term="Power Platform"/><category term="SP2013"/><category term="features"/><category term="MOSS"/><category term="Azure"/><category term="deployment"/><category term="AI"/><category term="AJAX"/><category term="Office365"/><category term="codeplex"/><category term="content deployment"/><category term="customizing"/><category term="Syntex/SharePoint Premium"/><category term="Content Deployment Wizard"/><category term="content migration API"/><category term="workflow"/><category term="Continuous Integration"/><category term="Strategy"/><category term="WCM"/><category term="configuration"/><category term="site definitions"/><category term="VSeWSS"/><category term="feature receiver"/><category term="user group"/><category term="webparts"/><category term="Automation"/><category term="TechEd"/><category term="master pages"/><category term="site columns"/><category term="Azure DevOps"/><category term="Coding"/><category term="SharePoint apps"/><category term="Teams"/><category term="central admin"/><category term="content types"/><category term="ghosting"/><category term="page layouts"/><category term="security"/><category term="CAS policy"/><category term="Content Search web part"/><category term="CustomAction"/><category term="DelegateControl"/><category term="Display Templates"/><category term="InfoPath"/><category term="JSLink"/><category term="Personal"/><category term="Search"/><category term="Virtual Machine Manager"/><category term="Virtual Server"/><category term="content query web part"/><category term="debugging"/><category term="feature-stapling"/><category term="help"/><category term="jQuery"/><category term="lists"/><title type='text'>Chris O&#39;Brien</title><subtitle type='html'>The nuts and bolts of Microsoft 365 and SharePoint</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.sharepointnutsandbolts.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/posts/default?max-results=1&amp;redirect=false'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/posts/default?start-index=2&amp;max-results=1&amp;redirect=false'/><author><name>Chris O&#39;Brien</name><uri>http://www.blogger.com/profile/10022906552670607366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjsosLpfZEWdOIA0pt8KneO6eqheD9EBLBn0Rag2gvTQKvPP04ZbVEvUKzm9DDGZxejTu2BzBAYiJ3nwlfewxUQ-dj9Tx5zxAwuuBWT1X3qrUqYmyUKvknlQkT7gr_2g/s80-r/28f5735.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>322</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>1</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4126985520350746834.post-297767344841526258</id><published>2024-02-20T07:30:00.001+00:00</published><updated>2024-02-20T08:37:14.507+00:00</updated><title type='text'>Getting started with plugin development for Copilot for Microsoft 365</title><content type='html'>&lt;p&gt;In my last post we looked at &lt;a href=&quot;https://cob-sp.com/Copilot-M365-ROI&quot; target=&quot;_blank&quot;&gt;the return on investment for Copilot for Microsoft 365&lt;/a&gt;, specifically in terms of time savings required for the $30/£24.70 per user per month licensing investment to make sense. In this post I want to turn attention to &lt;i&gt;extending &lt;/i&gt;Copilot and getting started in the world of Copilot plugins. Copilot for Microsoft 365 can become even more powerful when integrated with other company systems - I created the slide below recently for a deck I was working on, and the four areas provide ideas on where the value might be and potential scenarios:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXqPT4OhIRGd-NhgQl5IRHAyH3Iau-5c-1WKBDfM5RyqT7wP-QEZzcRyk3Z3Y1cxI9Mejv3RZMF8CKAHI8tThjS9FPTcLyfkCpyPcXiBPjRoWXqdJH7vmurSNOUk9GtNxhtZh0VDpkg-4cVjomf9hWh656zR8ih5CbyMeSolP9GQEdFyI1MpOIrykOT2Gz/s799/Why%20extend%20Copilot%20for%20M365%20slide%20-%20800.png&quot; style=&quot;clear: left; display: inline; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;450&quot; data-original-width=&quot;799&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXqPT4OhIRGd-NhgQl5IRHAyH3Iau-5c-1WKBDfM5RyqT7wP-QEZzcRyk3Z3Y1cxI9Mejv3RZMF8CKAHI8tThjS9FPTcLyfkCpyPcXiBPjRoWXqdJH7vmurSNOUk9GtNxhtZh0VDpkg-4cVjomf9hWh656zR8ih5CbyMeSolP9GQEdFyI1MpOIrykOT2Gz/s16000/Why%20extend%20Copilot%20for%20M365%20slide%20-%20800.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;However, at the current time (February 2024) getting started with plugin development is a bit gnarly - there&#39;s lots of documentation to read and there are some interesting practicalities to consider. I’ve spent some time on this, and the sections below give a quick summary of initial findings which may be helpful for anyone else going down this path.&lt;/p&gt;
  2.  
  3. &lt;h3&gt;Tenants and licensing&lt;/h3&gt;
  4. &lt;div&gt;Much of the initial complexity falls into this bucket. Things to know include:&lt;/div&gt;
  5.  &lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;
  6. Copilot plugin development needs production Copilot licenses, there’s no way around this.&lt;/b&gt; This may mean developing in your production tenant (if you are a licensed user) or buying extra Copilot licenses for other tenants&lt;/li&gt;&lt;li&gt;Microsoft 365 Developer tenants &lt;i&gt;cannot &lt;/i&gt;be used for plugin development&amp;nbsp;&lt;/li&gt;&lt;li&gt;If you’re on the Microsoft 365 Developer TAP (we are at &lt;a href=&quot;https://advania.co.uk&quot; target=&quot;_blank&quot;&gt;Advania&lt;/a&gt;), these tenants &lt;i&gt;can &lt;/i&gt;be used but you still need to buy Copilot licenses in that tenant&lt;/li&gt;&lt;li&gt;In addition to the core Copilot license, the user also needs to be assigned a &quot;Microsoft Copilot for Microsoft 365&lt;b&gt; developer license&lt;/b&gt;&quot;&lt;/li&gt;&lt;li&gt;Copilot for Microsoft 365 licenses effectively grant “Copilot Studio use rights” – importantly, this allows you to create and run M365 Copilot plugins only, &lt;b&gt;not&lt;/b&gt;&amp;nbsp;to run standalone Copilots (see note in the blue box below)&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Since plugin development is still in preview, production tenants need to be enabled for it via a special helpdesk ticket - there&#39;s special wording to use, indicating this is somewhat hand-cranked in the backend for now (see the Copilot extensibility prerequisites article linked at the end for the exact words to use)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
  7. &lt;br /&gt;
  8. &lt;div class=&quot;cob-emphasised blue&quot;&gt;
  9.  &lt;header&gt;Developing standalone Copilots (not plugins)&lt;/header&gt;
  10.  &lt;div&gt;Coming the other way round from the plugin focus of this article, the &lt;b&gt;other &lt;/b&gt;primary use of Copilot Studio is to develop standalone Copilots using a low-code approach. Examples could be a HR chatbot providing answers on policies and internal benefits and hosted in Teams or a SharePoint intranet page, or a customer service chatbot on an external website providing answers from a knowledge base of uploaded documents. In these cases, you don&#39;t need a Copilot for Microsoft 365 license but you will instead be paying the $200/£165 per month &lt;b&gt;run &lt;/b&gt;cost, which gets you 25k messages across all such Copilots (with additional capacity charged extra). There&#39;s a bit of nuance in what constitutes a message - a typical interaction counts as one message but invoking gen AI counts as two - but in short you are calculating based on expected usage.&lt;br /&gt;&lt;br /&gt;
  11.  The image at the bottom of this article more directly compares the two flavours.
  12.  &lt;/div&gt;
  13. &lt;/div&gt;
  14. &lt;br /&gt;
  15. &lt;h3 style=&quot;text-align: left;&quot;&gt;Building Copilot plugins using the Power Platform (low-code)&lt;/h3&gt;&lt;div&gt;The prospect of using low-code for plugin development is very appealing. In this space, note the following:&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Power Platform connectors can be turned into Copilot plugins by converting them to be a “Connector AI plugin” – whether custom or pre-built connectors (e.g. ServiceNow, Zendesk etc.)&amp;nbsp;&lt;/li&gt;&lt;li&gt;However, today connectors need to be &lt;b&gt;certified &lt;/b&gt;– meaning custom connectors cannot easily be used for plugins, since certification is a complex process for major ISVs (i.e. not internal teams or partners simply trying to create solutions for a single organisation)&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Additionally, only read-only actions are supported for now&amp;nbsp;&lt;/li&gt;&lt;li&gt;Other Power Platform approaches are possible – using Power Automate Flows, the new AI prompts capability etc. in Copilot plugins. However, again this does not seem to be possible at the time of writing unfortunately&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;
  16.  
  17. &lt;h3 style=&quot;text-align: left;&quot;&gt;Building Copilot plugins using Teams message extensions (pro-code)&amp;nbsp;&lt;/h3&gt;&lt;div&gt;The alternative architecture for Copilot for Microsoft 365 plugins is based on Teams development, specifically Teams message extensions. This makes sense, and before the dawn of GPT we&#39;ve used this approach at Advania UK to build other conversational bots in Teams. Some details to be aware of here:&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span&gt;The advantage of Teams message extensions is that plugins with more advanced UI can be used&amp;nbsp;&lt;/span&gt;(e.g. adaptive cards in AI responses)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Conceivably, the solution you build as Copilot plugin could also be a regular Teams message extension in Teams chat and be surfaced in Outlook - enabling you to provide your experience in different ways within Microsoft 365&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Teams message extensions are the right approach if you&#39;re working at scale (with large volumes of data or user load)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Permissions - if you are developing your plugin using Teams message extensions, you’ll need the ability to side-load apps into the tenant&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;So that summarises some of the initial considerations in getting started with plugin development. It&#39;s also worth noting that Microsoft are pushing to create an entire ecosystem around plugins with marketplace approaches, meaning plugins can be sourced from internal developers, partners, specialist vendors and so on.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
  18.  
  19. &lt;div class=&quot;cob-emphasised blue&quot;&gt;
  20.  &lt;header&gt;Also remember, Copilot extensibility is not just about plugins&lt;/header&gt;
  21.  &lt;div&gt;All of the options and considerations above relate to plugin development, but this sits alongside the alternate path of bringing data into Copilot for Microsoft 365 using Graph Connectors. In that approach, the data you integrate is indexed (stored in the semantic index which sits behind Copilot) rather than simply being available via a read/write call-out of some kind. Graph Connectors bring other advantages such as making the data available in Microsoft 365 search, Viva Topics, Context IQ and even being used for content recommendations in Microsoft 365, but if you&#39;re working with data at scale you&#39;ll to purchase additional Graph Connectors index quota (you get 500 items for free per E5 or Copilot license). Microsoft&#39;s article &lt;a href=&quot;https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/decision-guide&quot; target=&quot;_blank&quot;&gt;Choose your extensibility path&lt;/a&gt; expands on these considerations.
  22.  &lt;/div&gt;
  23. &lt;/div&gt;
  24.  
  25. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Zooming out from plugin development in a different way, it&#39;s worth considering Copilot Studio as a whole since it&#39;s not just about Copilot for M365 plugins.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
  26.  
  27. &lt;h3 style=&quot;text-align: left;&quot;&gt;Copilot Studio - varying audiences, varying outputs&lt;/h3&gt;
  28. &lt;div&gt;Copilot Studio can be slightly confusing in the Microsoft AI space because it&#39;s used to create different solutions and experiences - essentially including Copilot for Microsoft 365 plugins and standalone Copilots built with low-code. Many people recognise it as &quot;what used to be Power Virtual Agents&quot;, but between licensing variations and what can be created there&#39;s a bit more to it than that. I posted the following on LinkedIn which summarises the two major usages of Copilot Studio:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
  29. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCCv2byoCw-Xv8URnDMMlLh3oZrStpmZ7G9CWLw8_0lLwKxMM49tafzj5JR6JiIF3nEG2SavpblOb1YFyxdBVPub7dfBUJKKkLdxi6e3WaJPkgqI9DJpaOpOxgfLides9lwqn-pptwjNvNbtqROgVSi_2cAk9_3B0gzitj6Ce-yhAlDW7557Hdpzq_tKLr/s862/Copilot%20Studio%20-%20two%20approaches.png&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;391&quot; data-original-width=&quot;862&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCCv2byoCw-Xv8URnDMMlLh3oZrStpmZ7G9CWLw8_0lLwKxMM49tafzj5JR6JiIF3nEG2SavpblOb1YFyxdBVPub7dfBUJKKkLdxi6e3WaJPkgqI9DJpaOpOxgfLides9lwqn-pptwjNvNbtqROgVSi_2cAk9_3B0gzitj6Ce-yhAlDW7557Hdpzq_tKLr/s16000/Copilot%20Studio%20-%20two%20approaches.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  30. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;That hopefully gives a sense of things from a Copilot Studio lens. Some of this is made clear from this table in the Power Platform licensing guide - see the image below, and note specifically that the output formats and available channels are different between the two paths, and that Copilot plugins using Power Platform approaches can use Standard, Premium and Custom connectors:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
  31.  
  32. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1tnSgsEuWSA2jxAV9oKQEKLFXjuAighFQK1BkqeKjq-o1e3hXQEXJejTX0rfwR17q5YvGEDxyA1leOJAS3UG86dJqwJL18f7mE0KodiPMiv1bMV1SIqlq3Wxx3_uXGI_JJ3AHY8wDrTCS8vz_GFkwMuxeCANuJCz4Jxk5YTUCHLrAhEJs8lTw98F1t0Dn/s1009/Copilot%20Studio%20-%20licensing%20and%20use%20rights.png&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-left: 1em;&quot;&gt;
  33.  
  34.  &lt;img border=&quot;0&quot; data-original-height=&quot;743&quot; data-original-width=&quot;1009&quot; height=&quot;589&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1tnSgsEuWSA2jxAV9oKQEKLFXjuAighFQK1BkqeKjq-o1e3hXQEXJejTX0rfwR17q5YvGEDxyA1leOJAS3UG86dJqwJL18f7mE0KodiPMiv1bMV1SIqlq3Wxx3_uXGI_JJ3AHY8wDrTCS8vz_GFkwMuxeCANuJCz4Jxk5YTUCHLrAhEJs8lTw98F1t0Dn/w640-h471/Copilot%20Studio%20-%20licensing%20and%20use%20rights.png&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  35. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;
  36. &lt;h3&gt;Summary&lt;/h3&gt;
  37. &lt;div&gt;Extending Copilot for Microsoft 365 with plugins can be a great way to derive additional value by integrating systems, and opens the door to the possiblilty of Copilot becoming a universal interface for all of the apps and platforms an employee works with. The next few years could see significant changes to the employee experience in this regard, at least for organisations making the investment in Copilot for Microsoft 365. Other forms of Copilot can also be created - standalone Copilots (as Microsoft refer to them) are often focused on a particular business domain or use case, and can reach a broader audience because they surface in different places and don&#39;t rely on Copilot for Microsoft 365 licenses. Both experiences are created by makers/developers in Copilot Studio, but there are licensing and reach differences - and today, some things aren&#39;t quite in place (early 2024) because we&#39;re still in a preview phase for plugin development. No doubt the path will get smoothed out as we go through 2024. &lt;/div&gt;
  38.  
  39. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;
  40. &lt;h4 style=&quot;text-align: left;&quot;&gt;References&lt;/h4&gt;
  41. &lt;div&gt;
  42.  &lt;ul style=&quot;text-align: left;&quot;&gt;
  43.    &lt;li&gt;&lt;p lang=&quot;x-none&quot;&gt;Copilot extensibility prerequisites -&amp;nbsp;&lt;a href=&quot;https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/prerequisites&quot;&gt;https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/prerequisites&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p lang=&quot;x-none&quot;&gt;Extensibility options for Microsoft Copilot for Microsoft 365 - &lt;a href=&quot;https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/decision-guide&quot;&gt;https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/decision-guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
  44.  &lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointnutsandbolts.com/feeds/297767344841526258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4126985520350746834&amp;postID=297767344841526258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/posts/default/297767344841526258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4126985520350746834/posts/default/297767344841526258'/><link rel='alternate' type='text/html' href='http://www.sharepointnutsandbolts.com/2024/02/Microsoft-365-Copilot-plugins.html' title='Getting started with plugin development for Copilot for Microsoft 365'/><author><name>Chris O&#39;Brien</name><uri>http://www.blogger.com/profile/10022906552670607366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjsosLpfZEWdOIA0pt8KneO6eqheD9EBLBn0Rag2gvTQKvPP04ZbVEvUKzm9DDGZxejTu2BzBAYiJ3nwlfewxUQ-dj9Tx5zxAwuuBWT1X3qrUqYmyUKvknlQkT7gr_2g/s80-r/28f5735.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXqPT4OhIRGd-NhgQl5IRHAyH3Iau-5c-1WKBDfM5RyqT7wP-QEZzcRyk3Z3Y1cxI9Mejv3RZMF8CKAHI8tThjS9FPTcLyfkCpyPcXiBPjRoWXqdJH7vmurSNOUk9GtNxhtZh0VDpkg-4cVjomf9hWh656zR8ih5CbyMeSolP9GQEdFyI1MpOIrykOT2Gz/s72-c/Why%20extend%20Copilot%20for%20M365%20slide%20-%20800.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid Atom 1.0" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//feeds.feedburner.com/ChrisObrien%3Fformat%3Dxml

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda