Integrating your bots and Copilot experiences natively into SharePoint and Viva | BRK144

Microsoft Developer
26 May 202448:29

Summary

TLDRこのビデオスクリプトは、Microsoft SharePointとViva Connectionsへの新しいCo-Pilot機能の統合について紹介しています。CJ Tanをはじめとするチームは、ゼロコードでカスタマイズ可能なCo-Pilotを作成し、SharePointサイトやドキュメントライブラリに応じた機能を提供します。さらに、Co-Pilot Studioを通じてさらに高度なカスタマイズが可能で、Viva Connections経由でモバイルファーストのユーザーにも情報を提供します。また、SharePoint EmbeddedアプリケーションへのカスタムCo-Pilotの統合も紹介されています。これにより、開発者は独自のアプリケーションにAIを組み込み、ユーザーはMicrosoft 365 Co-Pilot内で情報を操作できます。

Takeaways

  • 😀 SharePointとOneDriveに新しいコパイロット機能が追加され、チーム内でのコミュニケーションと情報を共有するのに役立つと期待されています。
  • 👥 CJ Tan、Luca Bandinelli、Mark Windel、Chris Whittenがそれぞれの専門分野から新しいコパイロット機能について紹介しています。
  • 🔧 'Click to CoPilot' 機能を使うと、SharePoint内でコードなしでカスタムコパイロットを作成・拡張することが可能です。
  • 📚 SharePointは組織の知識を保存する場所であり、チームが共同で作成するアセットを含んでいます。
  • 🎯 カスタムコパイロットは特定の目的に合わせてチームを支援するため、Microsoft Chatの力をサイト、ドキュメント、フォルダ、またはライブラリに絞り込むことができます。
  • 🛠️ SharePointの新しいエントリーポイントからコパイロットを操作し、サイトオーナーはデフォルトのコパイロットを設定することができます。
  • 🗣️ Teams内でコパイロットと対話することができるだけでなく、SharePointサイト上でも相互作用が可能です。
  • 🌐 SharePointからカスタムコパイロットを作成し、それをTeamsやメールで共有することが可能です。
  • 🔄 デモでは、SharePointサイトからの組み込みコパイロットの開始点として機能するデモンストレーションが行われています。
  • 📈 また、ファイル選択からカスタムコパイロットを作成し、それをCopilot Studioで拡張するプロセスも紹介されています。

Q & A

  • SharePointとViva Connectionsへのコパイロットの統合とは何ですか?

    -SharePointとViva Connectionsへのコパイロットの統合は、SharePointとViva Connectionsのプラットフォームに新しい機能を追加し、チームで共同作業を行う際にサポートするカスタムコパイロットを作成・拡張するプロセスです。これにより、コードを記述することなく、SharePoint内の特定のサイト、ドキュメント、フォルダ、またはドキュメントライブラリに焦点を当てたカスタムコパイロットを作成できます。

  • Click to CoPilotはどのような機能ですか?

    -Click to CoPilotは、SharePoint内でカスタムコパイロットを作成するプロセスを簡素化する機能です。これにより、組織内の全ユーザーが管理者や開発者でなくても、SharePointからカスタムコパイロットを作成してチームの生産性を向上させることができます。

  • SharePoint Embeddedとは何ですか?

    -SharePoint Embeddedは、開発者がSharePointのストレージ機能をカスタムアプリケーションに埋め込む方法です。これにより、開発者はコンテンツ管理のコア機能、アクセス許可、ファイル管理などを自分でコーディングする必要なしに、カスタムアプリケーションを構築できます。

  • Viva Connectionsにおけるコパイロットのロールは何ですか?

    -Viva Connectionsにおいては、コパイロットがモバイルデバイスを使用している従業員やフロントラインワーカーに対して、企業の情報を直接提供する役割を果たします。これにより、ユーザーはデスクトップではなく、モバイルデバイスを通じて必要な情報を得ることができます。

  • カスタムコパイロットを作成する際に利用できるインターフェースはありますか?

    -はい、カスタムコパイロットを作成する際には、SharePointサイト内からのエントリーポイントと、選択したコンテンツからのエントリーポイントの2つの方法があります。これにより、ユーザーは異なるニーズに応じて最も適した方法を選択できます。

  • SharePoint Embeddedアプリケーションにカスタムコパイロットを追加するにはどうすればよいですか?

    -SharePoint Embeddedアプリケーションにカスタムコパイロットを追加するには、Reactコンポーネントとそれを制御するためのJavaScript APIを使用します。これにより、アプリケーションのユーザーがSharePoint Embeddedに格納されているコンテンツをMicrosoft 365コパイロットでアクセス、理論、要約することができます。

  • Copilot Studioを拡張する際にどのような機能が利用できますか?

    -Copilot Studioを拡張する際には、PowerAppsとVisual Studio Codeを使用して独自のカスタムコネクタを作成し、Microsoft 365、SharePoint、Dynamics 365などのMicrosoftサービスやSalesforce、Adobe、Workdaysなどの非Microsoftサービスに接続できます。さらに、アダプティブカードフレームワークを利用して、視覚的にインタラクティブなカードにレスポンスを変換できます。

  • カスタムコパイロットをViva Connectionsに統合するにはどうすればよいですか?

    -カスタムコパイロットをViva Connectionsに統合するには、Viva Connectionsのダッシュボードでカードデザイナーを使用して、Copilot Studioで作成されたカスタムコパイロットを選択し、ダッシュボードに追加します。その後、カードをカスタマイズしてエンドユーザーが使用できるようにします。

  • SharePoint Embeddedアプリケーションでカスタムコパイロットをカスタマイズするにはどうすればよいですか?

    -SharePoint Embeddedアプリケーションでカスタムコパイロットをカスタマイズするには、Reactコンポーネントに独自のプロンプト、テーマ、ヘッダーなどを設定し、アプリケーションのデザインに合わせることができます。また、ランタイムコンテキストに基づいてプロンプトを動的に変更することも可能です。

  • Microsoft 365 Copilotでのコミュニケーションカードの利点とは何ですか?

    -Microsoft 365 Copilotでは、コミュニケーションカードを通じてユーザーはテキストベースのインタラクションだけでなく、視覚的にインタラクティブなカードを使用して情報を得ることができます。これにより、ユーザーはより直感的で効率的な方法で情報を操作し、必要に応じてアクションを実行できます。

Outlines

00:00

😀 イントロダクションとClick to CoPilotの紹介

ビデオの冒頭では、CJ TanがSharePointとOneDriveに関する新しいCoPilot機能を紹介し、チームの他のメンバーも自己紹介を行いました。CJはClick to CoPilotと呼ばれる新しい機能を説明し、これはSharePoint内でコードなしでカスタマイズされたCoPilotを作成し、チームと協力するためのものだと述べています。この機能は管理者や開発者だけでなく、組織内のすべてのユーザーを対象としており、SharePointが組織の知識を保管している場所であることを理由にしています。

05:02

🔧 SharePointでのCoPilotのカスタマイズと共有

この段落では、SharePointサイトでのCoPilotのカスタマイズ方法と、それをチームと共有する方法について説明しています。サイトオーナーはデフォルトのCoPilotを選択し、特定の機能のために作成されたカスタムCoPilotを紹介できます。また、Teams内でCoPilotをグループチャットや一対一のチャットで共有する方法も紹介されています。さらに、SharePointサイトに組み込まれたCoPilotを作成する方法と、コンテンツから始めてCoPilotを構築する方法の2つの異なるシナリオも説明されています。

10:02

🖥️ SharePoint EmbeddedとCoPilotの統合デモ

デモでは、SharePoint EmbeddedアプリケーションにカスタムCoPilotを追加する方法が紹介されています。まず、SharePointサイトに組み込まれたCoPilotをカスタマイズし、サイトアイコンと名前を使って特定の振る舞いを設定する方法が説明されています。次に、ファイル選択からCoPilotを作成し、編集機能を使ってアイデンティティを設定し、テストして保存する方法も紹介されています。また、CoPilot StudioでCoPilotを拡張し、より強力なアプリを作成できることも触れられています。

15:04

📲 Viva ConnectionsへのCoPilotの統合

この段落では、Viva ConnectionsアプリケーションにMicrosoft CoPilot Studioで作成されたカスタムCoPilotを統合する方法について説明されています。Viva Connectionsはモバイルデバイスを使用するフロントラインワーカーに情報を提供するアプリケーションです。オペレーターはダッシュボードを作成し、特定のユーザーグループにターゲットを設定できます。CoPilot Studioで作成されたCoPilotをCard Designerカードに追加し、Viva Connectionsに展開して使用する方法が紹介されています。

20:05

🛠️ SharePoint EmbeddedへのPコードCoPilotの追加

最後の段落では、SharePoint EmbeddedアプリケーションにPコードを使用してカスタムCoPilotを追加する方法が紹介されています。SharePoint EmbeddedはカスタムアプリケーションにSharePointのストレージ機能を埋め込む方法を提供するAPIです。アプリケーション開発者は、SharePointのコアコンテンツ管理機能をコードせずに利用でき、テナントの管理者はアプリのコンテンツがテナント内に保管されるためのセキュリティとコンプライアンスの機能を利用できます。SharePoint Embeddedの一般提供と、新しいプライベートプレビュープログラムへの登録方法も説明されています。

Mindmap

Keywords

💡SharePoint

SharePointは、マイクロソフトが提供するウェブベースのコラボレーションプラットフォームとドキュメント管理システムです。ビデオではSharePointが組織の知識を蓄積する場所として提唱されており、新しい機能として「Click to CoPilot」が紹介されています。これはSharePoint上で協力して作成されたアセットを管理し、チームに特定の目的でサポートするカスタムCoPilotを作成することを可能にする機能です。

💡CoPilot

CoPilotは、ビデオの主題であり、マイクロソフトが提供する新しい機能です。これはユーザーの作業を支援し、特にSharePoint上でドキュメントを作成し、管理するプロセスを効率化することを目的としています。ビデオではCoPilotを通じてゼロコードでカスタムツールを作成し、チームと協力して情報を管理できるようになるというアイデアが強調されています。

💡OneDrive

OneDriveは、マイクロソフトが提供するクラウドストレージサービスです。ビデオではOneDriveとSharePointチームの一員であるLuca Bandinelliが紹介されており、OneDriveとSharePointの統合が開発者や感度の高いユーザーにとって重要な要素となっています。

💡Viva Connections

Viva Connectionsは、組織内のユーザーに情報を提供するアプリケーションです。ビデオではViva ConnectionsとMicrosoft CoPilot Studioを使用してカスタムCoPilotsを作成し、モバイルやデスクトップの両方のエクスペリエンスで使用できるようにする機能が紹介されています。

💡Copilot Studio

Copilot Studioは、マイクロソフトが提供する開発環境であり、ビデオではカスタムCoPilotsの作成とカスタマイズに使用されています。ビデオではCopilot Studioを使用してSharePointやViva Connectionsと統合された強力なアプリケーションを作成することができると強調されています。

💡Zero Code

ゼロコードは、ビデオで強調されている概念で、プログラミングの知識や技術を持たないユーザーでもシステムやアプリケーションを構築できることを意味します。ビデオではSharePoint上でCoPilotを作成するプロセスがゼロコードで行えると示しており、これは技術的なスキルを必要としないユーザーにもアクセス可能であることを意味します。

💡Dataverse

Dataverseは、マイクロソフトが提供するデータプラットフォームであり、ビデオでは外部データソースとして機能します。ビデオではDataverseから情報を取得し、CoPilot Studioを使用してカスタムCoPilotsに統合する方法が紹介されています。

💡Adaptive Card

アダプティブカードは、ビデオで説明されている視覚的にインタラクティブなカードです。Copilot Studioを通じて応答をアダプティブカードに変換し、強力で視覚的にインタラクティブなカードを作成することができます。ビデオではアダプティブカードフレームワークを使用して、Viva ConnectionsのダッシュボードにカスタムCoPilotsを表示する方法が紹介されています。

💡SharePoint Embedded

SharePoint Embeddedは、ビデオで説明されている機能で、カスタムアプリケーションにSharePointのストレージ機能を埋め込むことができます。ビデオではSharePoint EmbeddedアプリケーションにカスタムCoPilotを追加し、ユーザーがアプリケーション内でコンテンツを操作できるようにする方法が紹介されています。

💡Microsoft 365

Microsoft 365は、マイクロソフトが提供するオンラインサービスとデスクトップアプリケーションのパッケージです。ビデオではMicrosoft 365 Copilotが強調されており、これはMicrosoft 365サービスと統合されたCoPilotであり、組織のテナント内での情報にアクセスし、ユーザーがモバイルデバイスから情報を取得できるようにする機能です。

Highlights

CJ Tan介绍了将副驾驶集成到SharePoint和Viva Connections的新功能,称为Click to Copilot,允许用户在SharePoint中创建和扩展副驾驶,无需编码。

Luca Bandinelli强调了OneDrive和SharePoint团队专注于开发者和可感知性的工作。

Mark Windel讨论了他在Microsoft的OneDrive和SharePoint组织中作为产品经理的工作,专注于SharePoint Embedded。

Chris Whitten作为Microsoft Copilot Studio的工程总监,介绍了他们的工作。

CJ Tan展示了如何通过Click to Copilot在SharePoint中创建自定义副驾驶,目标是所有用户而不仅仅是管理员或开发人员。

介绍了副驾驶在SharePoint站点上的新入口点,允许用户选择为该站点创建的副驾驶。

CJ Tan演示了如何在Teams中与副驾驶交互,包括在群聊或一对一聊天中共享副驾驶。

讨论了从SharePoint站点创建内置副驾驶的场景,以及如何从内容选择开始构建副驾驶。

CJ Tan展示了如何在SharePoint站点中编辑和自定义内置副驾驶的行为。

演示了如何从文件选择创建副驾驶,并展示了编辑功能,如重命名和选择图标。

介绍了如何将SharePoint中创建的自定义副驾驶扩展到Copilot Studio以创建更强大的应用程序。

展示了如何将Copilot Studio中的副驾驶集成到Viva Connections中,以及如何使用卡片设计器卡。

Luca Bandinelli讨论了如何将使用Microsoft Copilot Studio创建的副驾驶带入Viva Connections。

Chris Whitten演示了如何在Copilot Studio中创建基于卡片的副驾驶,并解释了如何使用自适应卡片框架。

Mark Windel介绍了SharePoint Embedded的概念,以及如何将其与自定义副驾驶集成。

讨论了SharePoint Embedded的好处,包括核心内容管理功能和与Office的集成。

Mark Windel演示了如何在Visual Studio Code中将自定义副驾驶添加到SharePoint Embedded应用程序。

展示了如何自定义副驾驶的外观和行为,以匹配应用程序的主题和上下文。

强调了SharePoint Embedded内容的安全性和合规性,以及它如何与Microsoft 365副驾驶集成。

鼓励参与者注册两个私人预览计划,以尝试SharePoint Embedded和自定义副驾驶的新功能。

Transcripts

play00:09

CJ TAN: Welcome to

play00:10

Integrating Co pilot into

play00:12

SharePoint and Viva Connections. I'm CJ Tan.

play00:15

I'm a group product manager working on SharePoint

play00:17

and OneDrive and introducing new copilot experiences.

play00:20

And I'm here with Luca, Mark, Chris.

play00:23

LUCA BANDINELLI: Hi everybody.

play00:24

Name is Luca Bandinelli.

play00:25

I'm a PM in the OneDrive and SharePoint team

play00:28

that takes care of developer and sensibility.

play00:30

MARK WINDEL: Hey everyone. Mark Windel.

play00:32

Also a product manager working at Microsoft in

play00:34

the OneDrive and SharePoint Organization

play00:36

working on SharePoint Embedded.

play00:39

CHRIS WHITTEN: My name is Chris Whitten.

play00:41

I'm a director of Engineering for Microsoft Copt Studio.

play00:44

CJ TAN: All right.

play00:46

We've got lots of

play00:47

great content and demos to share with you today.

play00:49

So we're going to get going

play00:51

and trying to get through everything.

play00:52

If there's time for questions,

play00:53

we'll try and take some at the end,

play00:55

but let's get started.

play00:56

First, with copilots and SharePoint.

play00:59

So I'm going to introduce a set of

play01:00

new capabilities I like to call Click to copilot.

play01:03

This is because we're trying to make it

play01:05

really easy for you to create and

play01:07

extend copilots that help

play01:10

you and your team write within SharePoint.

play01:12

With zero code, you'll be able

play01:14

to soon create these custom copilots from SharePoint.

play01:19

This is a capability that we're targeting all users

play01:22

in your organization and not

play01:24

just administrators or developers.

play01:26

So why SharePoint?

play01:28

SharePoint is where we know that you're

play01:30

storing your organizational knowledge,

play01:32

not just things that are recent and current that you want

play01:34

authoritative authority on when you share them,

play01:38

but also things that you collaborate with your team on.

play01:40

These are the assets that you create together.

play01:43

With this, we want to

play01:45

be able to introduce custom copilots

play01:47

here so that you can help yourself

play01:49

and your team with a specific purpose.

play01:51

Basically, take Microsoft chat all of that power,

play01:54

scope it down to a site,

play01:56

or a set of documents,

play01:57

or a folder, or your document library,

play01:59

and create something that you can use

play02:01

over and over again to help your team.

play02:03

This, we want to do without

play02:05

any specialized skills or technical skills,

play02:09

because really, you know what the content is,

play02:12

you know who you're working with, and you know

play02:13

what you need to get done to do that.

play02:15

So this is called Click to copilot to

play02:17

try and express how easy it's going to be.

play02:20

It's going to be easy to create.

play02:22

It's going to be simple to use,

play02:23

and it's going to save you

play02:24

time because you're going to get

play02:25

the right help that you need from

play02:27

this copilot that you create.

play02:29

But of course, if you're creating something,

play02:32

is it actually something that's helpful?

play02:34

Is it going to get used?

play02:36

That's really the important thing.

play02:37

We're introducing a couple of ways that

play02:39

you can actually interact with these custom copilots.

play02:42

First, it's around interacting with them on SharePoint.

play02:45

What you see on the left here is

play02:47

a new entry point for copilot on a SharePoint site.

play02:50

When you open that, it's got this switcher that lets you

play02:53

pick the copilots that have been created for that site.

play02:56

Now, this is all site owner controlled,

play02:58

so you can pick a default copilot.

play03:01

So something that you would like people to

play03:02

interact with when they come to your site?

play03:04

Then you can introduce

play03:05

all these other custom copilots that you've created

play03:07

for purpose built functionality

play03:10

for the people that come to visit.

play03:12

This will also be a place where we think that

play03:14

when you're creating your own copilots,

play03:16

we'll show it here.

play03:17

So this is something that we're introducing now,

play03:19

but there's lots of time for feedback.

play03:21

We're going to be inviting lots of

play03:24

customer feedback as we introduce this product as well.

play03:27

What you see on the right hand side

play03:29

is how you would interact with this in Teams.

play03:31

We're going to give you an easy way

play03:33

to share this copilot that you

play03:34

created within a group chat

play03:36

or within a one-on-one chat as well.

play03:39

Let's get to the two main scenarios here

play03:42

that will introduce custom copilots from SharePoint.

play03:44

The first one is around having this

play03:47

built in copilot for every SharePoint site that you have,

play03:51

one that we'll introduce on your existing sites and

play03:54

also allow you to add whenever you create a new site.

play03:57

Then the other entry point is

play03:59

really about starting from the content,

play04:01

selecting the content that you want to ground

play04:03

your copilot and then

play04:04

building the customizations out from then.

play04:06

They've got two different starting points,

play04:08

but they really have the same functionality.

play04:11

Both of these, as I'll show you, can be customized.

play04:14

You'll be able to share this copilot with

play04:16

others through Teams and e mail,

play04:19

and the copilot itself is going to

play04:21

respond back with the permissions

play04:23

of the person who's asking.

play04:24

So that's going to be using

play04:27

your permissions in the same way

play04:28

that Microsoft Chat does.

play04:29

The one thing that's different

play04:31

here is that the scenario where we've got

play04:33

the default copilot or that built

play04:35

in copilot on your SharePoint site,

play04:37

you're going to have some site owner

play04:38

controls around that as well.

play04:40

Let's move on to the demo.

play04:42

We're going to start first with looking at the built in

play04:44

copilot site as a starting point

play04:46

for these customizations.

play04:48

Within a SharePoint site,

play04:50

you're going to see that panel

play04:51

come out with a copilot button,

play04:53

and there's going to be a menu that allows you to edit.

play04:57

We'll jump to the demo here.

play05:01

When you see that built in copilot,

play05:03

it's going to start with the name of the site and

play05:05

also the site icon as far as its identity goes.

play05:09

By default, it's going to take

play05:11

in the entire scope of the site.

play05:13

What that means is it's going to have your site pages,

play05:16

it's going to have your document libraries

play05:17

, everything's included there.

play05:18

The picker does allow you to

play05:20

select sources as well from here.

play05:23

Then the part of the customization that is

play05:25

probably interesting is how

play05:27

do you want people to interact with it?

play05:29

You get to start figuring out and

play05:31

entering what behavior you want for this copilot.

play05:34

This is a fairly important part of the process here.

play05:37

If you're trying to convey basically how

play05:39

you expect people to use

play05:40

it when information that they want.

play05:42

What's interesting here is that

play05:44

on the right hand side of this,

play05:45

you can test this copilot before you actually save

play05:48

it and make these changes appear

play05:50

for everybody that's coming to use the site.

play05:52

The space here allows you to have

play05:55

a look at some test queries that you could put in,

play05:58

as well as different

play06:00

different ways to introduce that copilot.

play06:03

But that's it. Once it's done,

play06:05

I save it and close it,

play06:06

and that will immediately show me

play06:08

how it's going to appear within the SharePoint site.

play06:20

One of the things that makes this

play06:22

built in copilot different from just creating

play06:24

a custom copilot is there's going to be

play06:26

some site settings that we

play06:28

want you to be able to set as a site owner.

play06:31

For one, like I mentioned,

play06:33

there's going to be one that we give you by default.

play06:34

There's going to be one that you can

play06:36

tell people when they come to the site,

play06:37

this is the one you should use.

play06:39

We want to give you a setting that lets you choose that.

play06:41

We will build you one automatically as part of the site.

play06:45

But you could pick

play06:46

any other custom co pilot that you've created for

play06:48

that site to choose

play06:52

for when people come to visit that site.

play06:54

The second thing that you can do is basically choose

play06:57

the copilots that appear for the users on that site.

play07:00

If you remember in that switcher,

play07:01

we had a list of copilots that

play07:02

were created from that site.

play07:04

So the site owner can actually choose

play07:06

the ones that they think are going to be the

play07:08

most useful for the users

play07:10

and the audience that they're trying to target.

play07:12

Now, let's look at the second demo.

play07:14

This one is going to be looking at creating

play07:19

a copilot from a selection of files.

play07:29

I'm here in my Comms folder,

play07:32

and I'm going to create a custom copilot around some

play07:34

of the delivery drone press releases on the site.

play07:37

Simply select a few files and create copilot.

play07:41

This starting screen is really meant

play07:43

to give you a sense of what you're going to be creating.

play07:46

You can see right away you can click try it.

play07:48

What they'll do is create that copilot

play07:50

and you can use it right away on that site panel.

play07:52

But I'm going to show you some of

play07:53

that edit functionality that we have.

play07:57

In this case, because it's something that's customized,

play08:01

I think that folder name that's put in

play08:03

there by default isn't going to be expressive enough,

play08:05

so I'm going to give it a different name.

play08:07

You can give it an identity.

play08:09

Here I'm going to choose

play08:11

a new icon to say that this is about the delivery drone.

play08:14

Then we can go to the sources.

play08:17

I had shown you previously that default to site.

play08:19

Here we've got that pre-selected three files

play08:22

that I had originally selected to start the copilot.

play08:26

Just so that I can

play08:27

show you what this browsing looks like,

play08:29

I'm going to select another file

play08:30

and add that to the list as well.

play08:32

And in the same way that we saw in the previous demo,

play08:35

part of this, I'm showing a little bit repetitive,

play08:38

just to give you a sense that it's

play08:40

the same flow regardless of

play08:42

which entry point that you're actually coming from.

play08:45

Whoops. Let's put

play08:54

another different text here.

play08:58

Then in the same way that I had shown you earlier,

play09:01

you can also test it out

play09:03

here before you save

play09:06

it and make all of your different changes that way.

play09:08

Once that's done, again,

play09:10

I'm going to hit "Save" and

play09:12

have that show up again in the window so that you

play09:15

can see what the end user is going to

play09:18

end up seeing when they start using this copilot as well.

play09:22

Once we hit Save, we can close it,

play09:25

and that'll pull up the window there,

play09:26

so it's ready for people to

play09:29

use with the customizations that you made.

play09:37

So one of the things

play09:39

that the builder does is

play09:40

actually give you a starting point

play09:41

for your custom Copilots.

play09:43

The next set of things that

play09:44

you can do is that you can actually

play09:45

extend this custom Copilot that you made,

play09:48

that's really just grounded in

play09:49

that SharePoint data into Copilot Studio.

play09:52

And we let you do that

play09:53

because there's so much more that you can get

play09:55

from Copilot Studio as well

play09:57

that isn't that simple click thing.

play09:59

So the target audience here is

play10:00

not necessarily just the every user,

play10:02

but it's somebody that's comfortable

play10:03

using Copilot Studio.

play10:05

We want them to be able to

play10:06

create this much more robust app.

play10:08

So you're going to be able to add knowledge that's not in

play10:10

OneDrive in SharePoint through Copilot Studio.

play10:13

You can customize actions,

play10:15

and you can also publish and deploy

play10:16

this app to all the places

play10:18

that are supported in Copilot Studio.

play10:20

So for this one, I'm just going to roll

play10:23

a video to show how this is going to work.

play10:27

SPEAKER 1: This Microsoft Copilot

play10:29

that can be extended with Copilot Studio.

play10:31

Let's look at another example of how you

play10:33

can extend a Copilot within SharePoint.

play10:35

This SharePoint site has

play10:37

all the event details for a major event, ReleCon 2024.

play10:41

The attendees can quickly get

play10:43

information from the Copilot.

play10:44

However, employees looking for

play10:46

food vendor information couldn't get

play10:48

answers from the Copilot due to

play10:50

the information not being available on SharePoint.

play10:53

To fix it, the Copilot can easily be customized

play10:56

via Copilot Studio to connect to external sources.

play10:59

With a simple click, the user is

play11:01

now able to continue editing

play11:03

their Copilot in Copilot

play11:04

Studios full authoring experience.

play11:07

ReleCon's catering vendor information is

play11:09

available as records in Dataverse.

play11:11

From Copilot Studio, it can easily

play11:13

be added as additional knowledge sources.

play11:16

And to give attendees even more menu details,

play11:19

they can also add the catering vendors public website

play11:21

as another knowledge source.

play11:23

This way, the Copilot can answer

play11:25

any additional meal questions from the attendees.

play11:28

Providing information is great,

play11:30

but the Copilot can take it further by allowing

play11:32

attendees to submit

play11:33

their meal choices ahead of the event.

play11:35

This can be easily done by adding

play11:37

an action in Copilot Studio.

play11:39

In this case, the action updates employees meal

play11:42

choice as part of the attendee records in Dataverse.

play11:45

There you have it. Now the Copilot will take the action

play11:48

automatically without needing additional configuration.

play11:52

When they're satisfied with

play11:53

the Copilot's additional capabilities,

play11:55

they can easily publish their changes to become

play11:57

available on the ReleCon 2024 SharePoint site.

play12:06

C J TAN: So now, the last part

play12:08

of this demo that I wanted to

play12:10

show you is what you do after you've created these.

play12:12

So now I've shown you that you can create them from

play12:14

SharePoint as just a file selection.

play12:17

We've got this built-in one that we're creating.

play12:19

You can extend it to Copilot Studio,

play12:21

and we'll look at how we can share it.

play12:25

So there's the delivery drone site

play12:28

that I had created earlier,

play12:30

and it's as simple as grabbing

play12:32

a link to this Copilot to share.

play12:35

So you'll see that this is

play12:36

a familiar dialogue around sharing.

play12:38

You've probably seen this if you've ever shared a file.

play12:41

You copy that link.

play12:42

And when we drop it into Teams,

play12:44

this is the step that you take to just say,

play12:46

hey, I'm working with Mona here.

play12:50

I'm going to give her this Copilot

play12:51

so that we can add it to our chat,

play12:53

and we can start conversing with it and

play12:54

start learning and using

play12:56

the information we get from

play12:57

this delivery drone custom Copilot in our flow.

play13:04

So this is all coming into preview this summer.

play13:07

I've got a registration here that you

play13:09

can nominate you and your company

play13:11

to join our private preview and

play13:13

try out these great features,

play13:15

and also, hopefully, give

play13:16

us a lot of feedback as you're using it as well,

play13:18

so we can make this really awesome.

play13:21

I'm going to hand it over to Luca for the next section.

play13:24

LUCA BANDINELLI: Thank you, CJ.

play13:25

Wow, this is cool stuff.

play13:27

Hard for us to keep the bar high.

play13:28

You didn't make easy that for us.

play13:30

Okay, let's switch gears now a little bit,

play13:33

and let's focus on how do we bring Copilots that can be

play13:37

created using Microsoft Copilot Studio

play13:39

in another application that is powered by SharePoint,

play13:42

which is Viva Connections.

play13:45

Where are we? Okay. When we start that,

play13:48

we start in Copilot Studio,

play13:49

and in Copilot Studio,

play13:50

we go and create our custom Copilots.

play13:53

We can either use the rich set of

play13:55

controls and capabilities that Copilot Studio provides to

play13:58

you or we can use

play14:00

the conversational Copilot experience

play14:03

that Copilot Studio brings to

play14:04

us and basically ask help for the Copilot

play14:08

itself to help us building new custom Copilots.

play14:12

While we're building the custom Copilots,

play14:14

we can leverage the 1,500 and plus connectors

play14:18

that Microsoft Copilot Studio

play14:20

gives the ability for us to use.

play14:22

Those are connectors for Microsoft services,

play14:25

just like Microsoft 365 or SharePoint Dynamics 365,

play14:29

as well as non Microsoft services;

play14:31

Salesforce, Adobe, Workdays, etc.

play14:34

And for customer services,

play14:36

developers can basically build

play14:37

their own custom connectors by using

play14:40

the power of PowerApps and Visual Studio code

play14:43

or your favorite IDE.

play14:44

And then when you are building the custom Copilot,

play14:47

you're focusing on prompts

play14:49

and you're focusing on the outputs.

play14:51

And in Copilot Studio,

play14:52

one of the things you can do,

play14:54

and you will see that in a second,

play14:55

is that you can leverage the power of

play14:57

adaptive card framework in order to

play14:59

transform the responses in

play15:01

powerful visually interactive cards.

play15:04

So once you've done your Copilot

play15:06

and you're publishing your Copilot,

play15:07

it's now time for use that in Viva Connections.

play15:10

And we will look at Viva Connection in a second.

play15:13

But basically, Viva Connection is

play15:14

an application that you can use in order to

play15:17

bring the information and the content of your company

play15:20

directly to the users of your organizations,

play15:25

especially in situations where

play15:26

those users are not in front of a desktop,

play15:29

but they are mobile and they are front line workers,

play15:32

and they need to work with mobile devices.

play15:34

So really, Viva Connection is the tool you use

play15:37

in order to bring this information

play15:39

directly to the user so they can do the job

play15:41

done without wrangling around

play15:44

and trying to find the right information.

play15:45

From there, you have the operator

play15:47

that is the persona that

play15:48

is in charge of building the dashboard,

play15:52

and these persona can use

play15:54

a lot of cards to build the experience.

play15:57

One of these cards is called the card designer,

play15:59

and the card designer basically

play16:00

provides the ability to select

play16:02

custom Copilots that has been

play16:03

built by using Copilot Studio.

play16:05

From there, the operator can create the dashboard,

play16:09

can target the dashboard

play16:10

in the cards to a specific set of users.

play16:12

You can also have multiple dashboards if

play16:14

your organization is a

play16:15

conglomerate of multiple companies.

play16:17

And then when you're ready,

play16:19

you are able to use the custom Copilot in Teams desktop,

play16:22

mobile, or a tablet experience.

play16:25

Okay, let's see how it works.

play16:27

Let me switch to my damn machine,

play16:31

and let's be sure that I did

play16:32

my prayers to the demo god

play16:34

in the right way this morning. I think I did good.

play16:36

Let's see how it goes. So this

play16:38

is the dashboard in Viva Connections.

play16:39

And you can see that you have a lot of cards here.

play16:41

You can see that I have first party cards,

play16:43

so cards provided by Microsoft,

play16:45

like the tasks card,

play16:47

Viva Learning, Praise.

play16:49

Cards have these capabilities to

play16:51

connect to external application like the Praise one.

play16:55

Cards have also capability to provide an

play16:57

in-dashboard experience with the card view,

play17:00

and then you click on the card itself,

play17:02

and you have this concept of quick view from where

play17:05

you can fill up information and context.

play17:07

All of these cards, both cards

play17:09

provided by Microsoft and cards built by

play17:11

third party developers can be done by using

play17:14

the SharePoint framework which is

play17:15

a powerful development tool that is

play17:18

based on TypeScript and JavaScript that

play17:20

is able to create cards and is able

play17:22

to connect your data and bring this kind of

play17:25

functionalities on multiple of Microsoft 365 canvases,

play17:28

including in this case,

play17:30

Viva Connections through what are

play17:32

called cards or adaptive card extensions.

play17:34

So from there, let's see that I am an operator,

play17:38

and now I want to add the new card.

play17:39

I click. I go to the edit,

play17:41

I edit my dashboard.

play17:42

From here, I can add a card, and as I can see,

play17:45

I have this card designer card,

play17:46

and I have a lot of other cards here.

play17:48

I have cards from third party developers as

play17:50

well as card provided by Microsoft directly.

play17:52

From here, I click to the "Card Designer". I added that.

play17:55

And from the card designer itself, immediately,

play17:58

what I can see is that I have a Copilot Studio option.

play18:01

When I select in the Copilot Studio option,

play18:03

I will be able to bring

play18:05

my Copilots here and use that in the card designer.

play18:09

Right now, I don't have any of

play18:10

these Copilots available, but conveniently,

play18:13

I can click here on this "Create a

play18:14

Copilot" and Microsoft Copilot Studio opens for me.

play18:17

Now, let's see how I can

play18:19

build a Copilot using Copilot Studio,

play18:21

and this is where Chris is going to

play18:23

help me with that. Four, please.

play18:24

CHRISTOPHER WHITTEN: Yes. Okay. Let's build

play18:29

a Copilot a card based Copilot using Copilot Studio.

play18:33

So here I am in the home page of the product.

play18:36

Normally, if I were creating a new Copilot,

play18:38

I would use the conversational creation experience or

play18:40

perhaps select from one of the

play18:41

templates that we have available.

play18:43

I'm limited on time though,

play18:45

so I've already got an existing Copilot

play18:47

that's called Stock Assist

play18:48

that I'm going to use and extend

play18:50

and describe how it all works.

play18:52

The scenario or the Copilot that we're going to build

play18:54

is one around taking

play18:57

stock availability for internal employees

play19:00

who maybe want to request

play19:02

new hardware, maybe it's a laptop.

play19:04

You can drill down into details of

play19:06

that particular laptop or computer,

play19:07

and you can request to

play19:08

maybe your IT department a new machine to be sent to you.

play19:12

So let's go ahead and build that functionality.

play19:14

I'm going to drop into

play19:16

the Stock Assist Copilot that I have set up.

play19:19

And I see here that I've set up some things.

play19:22

I've set up these things that are called

play19:24

topics and these things that are called actions.

play19:26

There are actually a couple of ways to send

play19:28

adaptive cards via Copilot Studio.

play19:30

Actions, in this case,

play19:33

are essentially just wrapped rest APIs.

play19:36

Well, it is a deployed web endpoint

play19:39

that serves my stock data.

play19:41

And the second API that I have is one that will send

play19:44

a new request with some stock that

play19:46

I'd like to present to a new employee.

play19:48

When you call an action,

play19:50

you can actually bind its response to be a message.

play19:54

And that message itself could be an adaptive card.

play19:57

So right there, you can bind

play19:58

a card-based rich media view in response to an action.

play20:02

It could be a call to an internal database.

play20:05

It could be Dataverse, it could be

play20:06

Salesforce, and so on.

play20:08

I'm not going to do that for this demo, though.

play20:10

I'm actually going to use topics because I want to

play20:12

demonstrate how Copilot Studio

play20:15

is really driven off of triggers and events.

play20:18

And what invokes this topic,

play20:21

and a topic is basically

play20:22

structured and controlled dialogue,

play20:24

it's fully programmable,

play20:26

this event that I've configured is

play20:28

basically in response to a card submission,

play20:31

a user clicking a button or perhaps a form submission.

play20:34

When that is triggered, it invokes this flow.

play20:37

And I have a card set up here already.

play20:39

It's welcome to Stock Assist.

play20:40

That's the name of the Copilot that we're building.

play20:42

And the other topics that we have around fulfillment,

play20:45

where you want to create a request or drill

play20:48

down or show the products in a list for the user.

play20:51

Let's go and implement the topic

play20:53

for servicing the list of products.

play20:55

I've got my event configured.

play20:58

What I'm going to do is I'm going to add one of

play21:00

those actions that I showed

play21:01

earlier through this little action wizard here.

play21:04

I'll search Stock Assist.

play21:07

The get products endpoint.

play21:14

Bind a connection to it.

play21:22

MARK WINDEL: I'm going to change the authentication mechanism

play21:24

to be Copilot author based,

play21:26

so the maker credential

play21:28

will be used to actually invoke this API,

play21:30

but it can be configured for

play21:31

end user authentication as well.

play21:33

Like I said, it's going to be calling an API

play21:35

and returning in this case, a JSON payload.

play21:38

I want to store that somewhere.

play21:39

I'm going to store that in

play21:40

a variable that the Copilot can

play21:41

reference later on in the flow of the conversation.

play21:46

I've saved my variable.

play21:48

The last thing I need to do,

play21:49

is I need to send the card that has the data

play21:52

from the API back interpreted in it.

play21:58

I select adaptive card.

play22:02

This is where you could go to

play22:04

the adaptive card designer or

play22:05

perhaps another card designer tool that

play22:06

might support the adaptive card schema.

play22:08

In this case, I have this payload in

play22:10

my clipboard that I can paste here.

play22:12

It's declarative and that should be it.

play22:16

All I need to do at this point is save.

play22:19

I I implemented my products topic

play22:22

that sends the product list card.

play22:24

I can test it right here.

play22:26

When I start a conversation with the Copilot,

play22:29

here's my welcome view.

play22:32

I will click "Request New Order."

play22:39

There's the list of products that I just configured,

play22:43

and you'll see that it actually navigated

play22:45

to the products topic.

play22:46

I'm going to click on one of these.

play22:49

That navigated me to the product drill down topic.

play22:52

It's going to present a new card

play22:54

hitting the other action API that I described.

play22:57

I can muck with

play22:59

the quantity and then click requests when I'm satisfied.

play23:02

Then we'll navigate me to the fulfillment requests

play23:05

submitted view that we'll

play23:08

be experienced in VIVA. I'm happy with that.

play23:10

To get this back to VIVA.

play23:11

What we need to do is publish it.

play23:16

Hopefully, this only takes a few seconds.

play23:35

SPEAKER 1: Go to the jokes

play23:37

in the mid time.

play23:38

There we go. Here we go.

play23:40

MARK WINDEL: This is the development.

play23:42

All right.

play23:43

It's published and then once a Copilot is published,

play23:46

you can actually enable your Copilot

play23:48

to work on many different things that we call channels.

play23:50

The Channel could be Microsoft Teams

play23:52

or Slack or Facebook messenger.

play23:55

In this case, we've added

play23:56

VIVA Connections is a new channel type.

play23:58

All you need to do at this point is to go to

play24:00

the Viva Connections Channel tile and

play24:02

click "Turn on Viva Connections."

play24:04

When this completes, it'll be discoverable back on

play24:07

Luca's machine where you can then add

play24:08

it into his dashboard.

play24:10

SPEAKER 1: And guess what? Here it is.

play24:12

You can see that now in the car designer I have

play24:14

the Circasist Copilot that was

play24:16

built by Chris using Microsoft Copilot Studio.

play24:20

Now here, I can see that I have a couple of options as

play24:23

the author of my dashboard.

play24:25

The first thing that I see is that, Oh, look at that.

play24:28

I have exactly the same adaptive card

play24:30

powered by Copilot that Chris

play24:32

was showing Copilot Studio

play24:33

available here in my dashboard.

play24:36

Now, the only thing that I have to do is to

play24:38

craft my card experience so that

play24:40

the end user can use that in

play24:41

the dashboard and interact

play24:43

with the Copilot from Viva connection.

play24:45

The first thing I'm doing,

play24:46

I'm going to come here and move

play24:47

my size to card size too large.

play24:50

I have a little bit more real estate if I need that.

play24:52

I go here and I change the title

play24:55

and use that as a order management.

play24:57

Then the other thing that I can do as an operator,

play25:00

I can either leave the card it is.

play25:02

So then when I click on the card,

play25:03

I will start interacting with the Copilot

play25:06

indirectly and bring

play25:07

the adaptive card experience from Copilot.

play25:10

Or another thing that I can do,

play25:11

I can elevate some of the prompts that Chris designed and

play25:15

in the custom In-copilot studio

play25:18

before and bring them directly.

play25:21

In the card view. In this way,

play25:23

I can basically have

play25:25

the opportunity to promote and elevate some of

play25:28

the critical functionalities that they

play25:30

want the user to interact

play25:32

with directly in the card

play25:33

without having to go and dig deeper in the quick view.

play25:36

From now on, let's keep that in this way.

play25:38

I go back, I go back to the description.

play25:40

I take a look at the description text.

play25:43

I probably do something different,

play25:45

just like this one.

play25:47

I feel good about this.

play25:49

Now I can see a preview how the card looks like,

play25:52

how the quick view looks like,

play25:53

and I'm going to republish that to my dashboard.

play25:56

I go back to my dashboard,

play25:58

refresh to be sure that my changes are here.

play26:01

And then I show more and guess what

play26:03

this is my card that is available right now.

play26:06

If I now, let's say that I am an operator,

play26:09

I am an end user, I am on the floor.

play26:11

I am in front of my machine.

play26:12

I click here, and immediately,

play26:15

I can see that the Copilot replies back to me.

play26:18

But instead of giving me

play26:19

a textual experience or

play26:21

an interactive experience via text,

play26:23

it gives me that interactive experience.

play26:25

We adaptive card, I click on a "Request

play26:28

order," and then the next card comes up.

play26:30

In the same way that Chris was

play26:32

testing his copilot in Copilot Studio.

play26:35

I can click to an information.

play26:37

I can select the quantity.

play26:39

I can make a request,

play26:40

and I am done.

play26:42

I've been able to do everything from here

play26:44

directly and interacting with

play26:45

Copilot in a graphical information.

play26:47

That's pretty cool. Do you like it? Come on.

play26:51

Thank you. The other thing that I want to show is that,

play26:55

as a developer, you are building these cards,

play26:57

and this card are fantastic in VIVA connections.

play27:00

We just discussed all the benefits

play27:02

and how end users can use them.

play27:04

But we are in the era of Copilot.

play27:06

And really, we believe that Copy backers of

play27:08

365 Copilot can bring a lot of value on you.

play27:12

One of the things that we are also working

play27:13

on is the ability to try to bring

play27:16

the investments that you have made in

play27:20

building your cards above

play27:21

and beyond just VIVA connection.

play27:24

For example, let's say that I

play27:26

am an employee at Real Cloud.

play27:28

I've worked on this delivery drone launch

play27:30

for a long time.

play27:31

I'm super busy.

play27:32

I'm super stressed out.

play27:34

I need to have some days off because I have borne out.

play27:38

What I could do I could go to

play27:40

the HR web and I could take

play27:41

a look at the information of a DR.

play27:43

But one of the things that I can do,

play27:45

I can also ask this question to Copilot to

play27:47

Microsoft 365 Copilot and

play27:49

try to get that information back.

play27:51

What I'm expecting because my content

play27:53

is grounded inside of my tenancy,

play27:55

I am expecting to get

play27:56

the information just like a policy document from HR web.

play28:00

Instead, what I got is a powerful card.

play28:03

The same card we've seen in the dashboard before,

play28:05

directly in Microsoft 365 Copilot.

play28:08

Not only that, when I am in Microsoft 365 Copilot,

play28:11

I can interact directly from

play28:14

the card within the Microsoft 365 Copilot.

play28:17

I can select some information.

play28:19

I can put mental health day.

play28:22

I can basically fill up all of

play28:24

my information and do everything from

play28:26

here without getting distracted from a different focus.

play28:30

This work for several amount of cards.

play28:33

I can work with this one.

play28:34

I can have another prompt

play28:38

or question just like asking for my pay day.

play28:41

Basically, the dashboard is part of our tenancy,

play28:44

and all the content inside of the dashboard

play28:46

is grounded and Copilot,

play28:48

Microsoft 365 Copilot understands about that.

play28:51

It's able to see if there is a card that

play28:55

is able to fulfill

play28:56

the requirements that you have and show that to you.

play28:59

From here, I can go there and do everything else.

play29:02

This is basically what it is.

play29:04

Very quick recap.

play29:05

What we have seen here, basically,

play29:08

from the Microsoft Copilot

play29:10

and Viva Connection integration,

play29:12

you can see that in Copilot Studio,

play29:14

you are able to create

play29:16

a Cipilot available in the card designer.

play29:19

You can select them. You can basically get the prompts,

play29:21

make the prompts available in

play29:23

the card to have even a more precise experience.

play29:27

Once you're there, the card information is provided to

play29:30

you by the power of

play29:31

adaptive card and Microsoft Copt Studio.

play29:33

Then those cards can also surface

play29:36

in your Microsoft 365 Copilot directly.

play29:40

The copilot understand the card intention

play29:42

because it's grounded in your tenancy,

play29:44

and if there is a card that fulfill a specific need,

play29:46

the car will surface.

play29:48

You do not have to change your cards.

play29:50

If you already have invested in your cards

play29:52

by using SharePoint framework

play29:54

and building your custom cards,

play29:55

these cards will be already available.

play29:57

The Copilot will understand the debt and we bring

play30:00

that information based on

play30:02

the content that is already there,

play30:04

text description, and stuff like that.

play30:06

Moving forward, we will also give

play30:08

the opportunity for developers to even

play30:10

better specify the intent of the card by

play30:12

making some changes in the manifest in order to do that.

play30:15

I think we are far off from

play30:18

the fast from the half of the presentation,

play30:21

and we didn't do any code.

play30:22

I feel bad about that.

play30:23

Can you bring some coding here, Mark please.

play30:25

Fantastic. Thanks so much.

play30:28

All right. Thanks, Luca.

play30:29

Hey, everybody. My name is Mark Windel,

play30:32

product manager at Microsoft

play30:34

that we've already talked about.

play30:35

Yeah, so we saw how you can add

play30:37

custom copilot using low code,

play30:40

no code to share point experiences.

play30:43

Today, I'm going to share with you how you can add

play30:46

P code custom copilot

play30:49

to your SharePoint embedded application.

play30:51

So we're going to go through a few slides,

play30:52

cover some context and theory.

play30:54

And then we're going to do some

play30:56

hacking together and visual studio code,

play30:57

and take a look at what that looks like

play30:58

and kind of build it together.

play31:00

Before I get into making

play31:02

custom co pilots for SharePoint embedded,

play31:04

I want to give a quick primer on what

play31:06

SharePoint embedded is if you haven't come across it.

play31:09

At a high level, SharePoint

play31:12

embedded is a way for you to embed

play31:14

SharePoint storage capabilities into

play31:18

your custom application, okay?

play31:20

It is a headless set of pay as you

play31:23

go APIs that allows you to

play31:26

create and manage a partition of

play31:28

content in an M 365 tenant.

play31:32

Basically, you can build custom applications

play31:34

on SharePoint embedded and that

play31:36

lets you create a custom content partition

play31:38

in an M through 65 tenant.

play31:39

As an app developer,

play31:41

when you build your app on SharePoint Embedded,

play31:44

you get a whole bunch of capabilities right out of

play31:47

the platform that you don't need to code yourself.

play31:49

Core content management capabilities

play31:52

like permission management files,

play31:54

and all that stuff that you'd expect from SharePoint.

play31:56

That's already kind of built in.

play31:58

You can just use the graph APIs

play32:00

and you get that stuff and in fact,

play32:01

interacting with content uses

play32:04

the same drive and drive item APIs

play32:06

that you might be used to.

play32:07

You also have the ability to embed office web and

play32:11

desktop experiences right from your application

play32:14

so you can have an app that has office documents in it.

play32:18

Users of your application can actually collaborate,

play32:20

co author at mention,

play32:22

and do all of that stuff that they've come to expect with

play32:24

the office experiences directly

play32:26

in your custom application.

play32:28

It also gives you the ability to

play32:30

have security trim search.

play32:31

Right from you in your app,

play32:33

all of the contents automatically

play32:34

indexed when it's stored in SharePoint embedded,

play32:37

and so you can do,

play32:39

full security aware searching,

play32:40

either in your app experiences, or if you enable it,

play32:43

users can discover your app's content

play32:46

from other M 65 experiences like one driving share point.

play32:49

So there's a whole bunch

play32:51

of capabilities that you kind of just

play32:52

get as part of the platform when you

play32:53

develop on SharePoint embedded.

play32:55

Now, if I am a tenant admin and somebody is installing

play32:59

an app on my tenant that

play33:01

is built on top of SharePoint embedded.

play33:04

I get a whole bunch of benefits as well.

play33:06

Because when we use that app as my organization,

play33:10

that apps content is actually going to

play33:11

be stored inside my tenant.

play33:13

It's stored inside my tenant.

play33:15

I have a custom app that's

play33:16

actually storing content inside

play33:18

my tenant in a dedicated partition for that app.

play33:21

I don't need to give permissions to

play33:23

that app to access SharePoint or one Drive.

play33:25

It can just access that content.

play33:28

More importantly, because it's located in my tenant,

play33:31

I get all of the built in

play33:33

through 65 security compliance,

play33:36

and business continuity promises

play33:38

for free from the platform.

play33:40

The app developer doesn't need to build them,

play33:41

and I can feel confident because

play33:43

the apps built on SharePoint embedded that

play33:45

I can get those capabilities and have

play33:47

the security and compliance promises

play33:49

of my organization honored,

play33:50

like discovery, audit, DLP,

play33:53

all on that custom data.

play33:56

Share Point embeded just went into

play33:58

general availability this week.

play33:59

We just announced it a couple of days ago.

play34:01

If you want to check it out, you can go to that

play34:03

AK NMS start SPE link.

play34:05

That's for SharePoint mbedded.

play34:07

The thing I want to talk about today, though,

play34:08

is how SharePoint embedded content

play34:10

is not just search ready,

play34:12

but it's also copilot

play34:13

ready and that's the thing that we're

play34:15

announcing private preview as well this week.

play34:18

I talked about how all content and SharePoint embedded.

play34:21

If you put a file in

play34:22

a custom app and it's stored in SharePoint embedded,

play34:24

it actually gets fed into

play34:26

the lexical search index that M 365 uses.

play34:29

But those files also get put into the Semantic index,

play34:32

the same one that Microsoft 3605 co pilot uses and so

play34:36

content is automatically added

play34:38

in there and vector embeddings are generated.

play34:41

It's not just making that content AI ready,

play34:44

super important part, but you know,

play34:46

if you're using a different store,

play34:48

you could probably find a way to

play34:49

do that yourself, you know,

play34:51

generate vector embeddings on that content,

play34:53

and without too much difficulty.

play34:54

But the real value proposition by using

play34:57

the same semantic index that's built in Microsoft

play35:00

3605 is that all of

play35:02

the security descriptors and all of

play35:04

the security requirements of

play35:06

your organization continue to be honored,

play35:08

so if you have information barriers,

play35:10

permissions are honored and stuff like,

play35:11

so all of that stuff just works by default.

play35:15

The two key things, the two key takeaways here.

play35:18

If you have a custom app that's

play35:19

written on SharePoint Embedded,

play35:20

stores content in there.

play35:23

You can access that content

play35:25

through Microsoft 3605 copilot.

play35:27

Now, that can be turned on and

play35:28

off based on your app settings.

play35:29

But if you turn it on, users of your app can

play35:32

actually access, reason over,

play35:34

summarize the content that is in

play35:36

your custom application in Microsoft 3605 copilot and,

play35:41

the thing that we're announcing

play35:42

today is that you can have

play35:43

a pro Dv custom copilot

play35:45

dropped into your sharepoint embedded application.

play35:49

That's what it looks like.

play35:51

This is a kind of a mock up screen of

play35:54

a SharePoint embedded sample application

play35:58

with a custom copilot.

play35:59

And so here we're calling it the HR Smart,

play36:02

so it's an HR recruiting app and it's

play36:04

a good fit for

play36:06

an app that should be built on Share Point embedded.

play36:08

There's a lot of files and content in

play36:09

here so you might have job descriptions,

play36:11

resumes that are uploaded by candidates,

play36:14

interview feedback, offer letters and more, right?

play36:17

There's a lot of files and content associated with that.

play36:20

Makes it a good fit for SharePoint Embedded.

play36:22

But the thing that we're going to talk about today is

play36:24

this custom copilot that is on the right hand side.

play36:28

What we're going into private preview

play36:30

with and what we're announcing is the ability

play36:33

to drop that custom co pilot into your application and is

play36:37

either a react component and

play36:39

an underlying JavaScript API that you

play36:42

can actually control the experiences of.

play36:45

This is super powerful.

play36:47

If we think about a custom application like this.

play36:51

You get to manage the experience of that copilot

play36:55

dynamically based on the user

play36:58

that's visiting that site or page,

play37:01

what page they're on,

play37:02

what items they've selected,

play37:04

what the actual identity of

play37:07

your particular custom copilot should be.

play37:09

Using the rich set of APIs,

play37:11

you can control all of

play37:12

that stuff and that's what we're going to look at,

play37:14

and that's what we're going to build together here.

play37:16

Before I get hands on,

play37:18

just a quick plug for this.

play37:20

If that all sounds interesting to you,

play37:22

I recommend either take a picture or visit that link ACMS

play37:26

SPE copilot to sign

play37:28

up your organization for our private preview.

play37:31

Now I'm going to try and switch over to my demo machine.

play37:33

Cool. All right.

play37:35

That same screenshot that we were looking at,

play37:37

this is kind of like a live version of

play37:40

that demo application running

play37:41

on my local developer machine here,

play37:44

and this is all live so,

play37:45

you know, cross your fingers.

play37:46

Hopefully, the demo guns are in my favor as well.

play37:48

But yeah, so we're looking at an HR recruiting app,

play37:52

and I'm on the jobs page, right?

play37:54

And so, we're looking at

play37:55

a few different job descriptions in here.

play37:58

Now, each one of those,

play37:59

if you're familiar with SharePoint embedded already,

play38:01

in kind of the object model

play38:02

or information architecture there,

play38:04

SharePoint embedded has these things this concept called

play38:06

file storage containers that

play38:08

you can create inside of a tenant,

play38:10

so each of these job descriptions

play38:11

is a file storage container within

play38:13

my tenant and that's a good place

play38:15

to store like this job posting document,

play38:18

for example, or the resumes of

play38:20

candidates that apply or I

play38:21

can set out offer letters or what have you.

play38:23

I just clicked on one of those job posting documents,

play38:25

and just to show you how

play38:27

office experiences are built

play38:29

right into SharePoint embedded,

play38:30

so nothing to do with copilot yet,

play38:32

but you can access an open Word documents,

play38:35

either in online or in web and collaborate

play38:38

co author at mention

play38:39

directly from the SharePoint embedded application.

play38:43

As this user, I don't need to even have

play38:46

a license for SharePoint or Muh

play38:48

65 or any of this because it

play38:51

is a set of pay as you go APIs that are underlying this.

play38:54

That's what this app is.

play38:56

There's a giant open,

play38:57

empty space on the right.

play38:58

That's where we want to drop our custom copilot in.

play39:00

I'm going to open up visual studio code,

play39:02

and right now I've got an empty react component.

play39:05

If you're not familiar with react, not a big deal.

play39:07

It's just a nice way of building web experiences.

play39:11

I've already got it imported.

play39:13

Now I'm going to add my chat embedded

play39:16

widget or react components the proper name for it,

play39:19

so I've included that.

play39:21

Now, the compiler is complaining at me, Chat embedded.

play39:24

I'm missing an off provider.

play39:26

I have to provide an off provider

play39:27

property to this component.

play39:29

I'm going to go make one of those.

play39:31

The ath provider itself is not complicated.

play39:34

All it does is it has a method called get Token,

play39:38

and that lets me get a token for

play39:40

my particular share point embedded

play39:41

application for the current user.

play39:43

It's a delegated token.

play39:45

Okay. Now I'm going to actually use this ath provider.

play39:49

I have to instantiate it,

play39:50

and then I'm going to set it in my react state.

play39:52

Okay. Cool. We have

play39:54

an ath provider and now I'm going to pass it as

play39:55

a property to this react component.

play40:02

There's one more thing.

play40:04

For the keenly visible stuff out there,

play40:08

you can see that health provider could be undefined.

play40:11

I just have to be careful here and say,

play40:13

make sure that it is defined before

play40:15

I actually load my component.

play40:17

Okay, cool. No more errors.

play40:20

We have dropped the component in

play40:22

roughly a minute or so I'm going to go back and we

play40:25

now have a custom Copilot

play40:28

embedded in our SharePoint Embedded application.

play40:32

This thing is already

play40:35

grounded on the content

play40:36

in my SharePoint Embedded application.

play40:39

If for example, here,

play40:41

I have these job postings I can say,

play40:45

show me recent job postings, and fingers crossed.

play40:49

Hopefully, this works.

play40:51

What that's going to do is show me

play40:54

the job postings that are in

play40:55

this particular SharePoint Embedded application.

play40:58

It's streaming those answers back,

play41:02

by default, it's going to show

play41:04

me all three that are in there.

play41:06

Of course, we're getting this familiar Copilot experience

play41:09

that you've come to expect so I have

play41:10

references there for those documents that

play41:12

you can see on the left. That's awesome.

play41:15

We also have the ability

play41:16

to interact with the working set.

play41:18

If you're familiar with that, I can have the slash here,

play41:21

and that'll show me some of

play41:22

the working set of

play41:23

the people that I've been working with.

play41:24

I can also use that to reference

play41:26

a particular file that is in

play41:28

my custom application stored in

play41:30

SharePoint Embedded and ask it to summarize that file.

play41:33

Really powerful stuff.

play41:35

We have the ability just in

play41:37

less than a minute drop a custom Copilot into our app.

play41:41

But it's not very custom yet.

play41:43

It is operating on my apps data,

play41:45

but I want to change some things with it.

play41:46

Number one, the red in

play41:48

there is not really fitting with my theme.

play41:50

The header or the title of

play41:52

this custom Copilot doesn't match my Contoso HR app.

play41:56

I want to be able to add some custom prompts

play41:58

and things like that to it.

play41:59

I'm going to go back individual study code,

play42:02

and I am going to add some properties here. Chat config.

play42:09

I will give it a header,

play42:11

which is just I'm loading these

play42:15

from a prepopulated singleton object

play42:18

that I've got in the background.

play42:20

It has nothing to do with what we're going

play42:21

to show in private preview,

play42:23

for example, a header says you can see it there,

play42:26

and then tell us Contoso HR chat

play42:28

and then a theme just has a bunch of

play42:29

colors to try to make it

play42:31

look a little bit more fitting for my application.

play42:33

I have to pass that chat configuration

play42:36

as a property to my react component.

play42:39

There we go. Once I do that, hot reload.

play42:43

Looking better. We got some blue here,

play42:45

and I can say the same types of things that I have,

play42:49

but now I want to actually add

play42:52

zero query prompts and suggested prompts.

play42:57

I'm actually going to have a little bit of fun and

play42:59

show a pirate prompt.

play43:04

The point here, once I save

play43:07

this and go back, it's going to reload.

play43:10

You'll be able to see there

play43:12

are these zero query prompts. I can click on them.

play43:14

I can customize how they show up.

play43:17

I've got these suggested prompts as well.

play43:21

I've also told this thing to respond like a pirate.

play43:26

Now, you probably don't want to do

play43:27

that in your actual application,

play43:29

but I'm doing it just to illustrate

play43:31

the fact that you have full control of the metaprompt

play43:33

here and you can really

play43:35

give this custom Copilot an identity.

play43:39

It says, ahoy Mark.

play43:40

Here be the summaries of the, and so on.

play43:43

You really get to tune the experience of it.

play43:46

This does not have to be statically defined.

play43:48

You can go through and update

play43:51

these experiences, these suggested prompts,

play43:53

zero query prompts, and

play43:55

the metaprompt as you go through your application,

play43:58

depending on the context of it.

play44:00

If your user's looking at a particular job or

play44:04

maybe looking at hiring

play44:05

policies or things like that or even just managing users,

play44:08

you can set this context

play44:09

dynamically as the user goes through your application.

play44:14

We probably don't want that pirate metaprompt for real.

play44:17

I will actually just set it to

play44:18

an actual metaprompt and then in there,

play44:21

this is just further showing.

play44:24

I'm I'm telling it that is

play44:25

a digital assistant for

play44:27

a human resources hiring application.

play44:29

I'm giving an identity.

play44:30

I'm educating that virtual assistant

play44:33

on our hiring values.

play44:35

Now, when I go back and that refreshes

play44:38

if I use one of these zero query prompts and say,

play44:42

what are our hiring values?

play44:44

That's going to come back and

play44:46

use the metaprompt that I gave

play44:48

it to give it effectively

play44:50

the instruction of what our values are,

play44:52

and it's able to relay that back to me.

play44:54

Now, you can also add all kinds of contexts,

play44:57

like what the user's role is in here,

play45:00

maybe who their particular

play45:01

hiring manager is or anything like that.

play45:03

There's a whole bunch of stuff you can do to

play45:06

customize that runtime in the context of your app,

play45:09

what the experience is. There's one more thing.

play45:13

I'll say, if I want to look at

play45:16

a particular say job posting. I've clicked on this.

play45:21

If I look right now and say,

play45:24

show me recent job postings.

play45:25

What I wish it would do is actually

play45:28

honor the fact that in the context of this app,

play45:31

I have selected a particular job posting,

play45:34

and maybe I was viewing it

play45:35

and looking on a different page.

play45:37

But what I wanted to do is

play45:38

dynamically alter the data source scope

play45:42

that I have in my application to

play45:45

that custom Copilot and

play45:46

that's exactly what I can do here.

play45:48

I clicked on it. It's showing me

play45:49

all of the job descriptions.

play45:51

But what I'm able to do actually is

play45:54

to build a custom handler here,

play46:02

that's really just going to give me a handle to

play46:04

the underlying custom co pilot API,

play46:08

and then I can get the data sources

play46:10

that are selected elsewhere on

play46:11

my app and set that data source on the API.

play46:15

I just need to do one more thing to make sure it's

play46:18

all plumbed up. I'll save that.

play46:20

I do think I need to refresh the page because

play46:22

it won't reload because it's not updating react state.

play46:26

But once that's done, now,

play46:29

when I go in and click

play46:31

a particular software engineering position,

play46:34

I can say list and summarize recent job postings,

play46:37

and it is going to scope the response back

play46:41

to that particular job posting that I clicked.

play46:44

Underneath the hood is a file storage container,

play46:47

and it's going to only look in

play46:49

that file storage container

play46:50

because that's what I told it to scope.

play46:53

Pretty powerful stuff.

play46:55

You can really customize

play46:57

your Copilot experiences in

play46:59

your SharePoint Embedded apps with that capability.

play47:02

That's it for that demo.

play47:04

In fact, I think that's it for our talk.

play47:06

We are a few seconds over.

play47:07

One final plug here.

play47:09

If any of this stuff is interesting to you,

play47:11

you can go to those links to sign up for

play47:14

the two private preview programs

play47:15

that we talked about today.

play47:17

Thank you very much for coming.

play47:18

I really appreciate it. Thank you, folks.

play47:21

SPEAKER 2: Thank you.

Rate This

5.0 / 5 (0 votes)

Related Tags
SharePointVivaConnectionsコパイロットビジネスツールマイクロソフト統合コラボレーション開発者プロダクトマネージャーエンタープライズ
Do you need a summary in English?