►
From YouTube: Community Demo - Building business applications to Microsoft Teams using Microsoft Graph and SPFx
Description
This community call demo is taken from the SharePoint Developer April 2019 monthly community call on the 9th of April 2019. In this video, Andrew Connell (Voitanos) how to build business applications to Microsoft Teams using Microsoft Graph and SharePoint Framework.
Presenter - Andrew Connell (Voitanos) - @andrewconnell
Full details on the community call from https://developer.microsoft.com/en-us/sharepoint/blogs/sharepoint-dev-community-pnp-april-2019-monthly-community-call-recording/
More training materials related to the covered topics available from http://aka.ms/spfx-training.
More details on the SharePoint dev community calls from http://aka.ms/sppnp.
A
And
just
a
real
quick,
my
name's
Andrew
Connell
got
my
contact
information
there,
the
SharePoint
or
an
office
apps
and
services
MVP,
which
is
funny
that
kind
of
means
that
they've
classified
me
as
an
IT
Pro.
Anybody
knows
me
knows
that
is
way
off
base
and
I'm
more
of
a
developer
and
then
some
other
information
that
you
can
see
there
about
me
before
we
get
started,
though
I
do
want
to
have
one
special
call-out
I
know.
A
We
all
have
this
joke
here
about
how
you
know
you
want
to
get
in
touch
with
us
or
you
want
to
get
something
done.
He
with
the
joke
is
to
send
him
an
email
that
just
starting
with
dear
VESA
I,
can
tell
you
that
from
this
past
week
and
it
actually
works
because
I
went
to
a
IndyCar
race
over
the
weekend
and
I
printed
out,
something
that
said
dear
Vesta
and
I
got
one
of
the
drivers
to
hold
it
up.
This
is
Takuma
Sato.
A
Guess
who
got
position
one
for
the
pole
position
in
qualifying
and
won
the
race,
so
Takuma
Sato
is
a
fan
of
VESA
all
right.
Let's
back
off
the
slides
and
let's
actually
see
some
real
stuff
here,
so
what
I
want
to
cover
is
if
you,
what
I
want
to
cover
today
is
talking
a
little
bit
about
working
with
the
SharePoint
framework
and
with
Microsoft
teams,
and
so
you
would
use
Microsoft.
A
You
would
use
the
SharePoint
framework
to
customize
order
to
extend
teams
by
creating
custom
tabs
now
I've
already
got
something
that
is
already
created
here
and
I'm.
Gonna
show
it
to
you.
That's
already
working
we're
not
gonna,
go
through
the
process
of
building
it
up
and
deploying
it,
but
I
want
to
call
out
a
couple
things
about
this.
A
First
there's
a
little
bit
of
an
issue
with
how
things
look
right
now,
if
you
might
have
seen
some
of
the
docs
or,
if
you
have
tried
different
things,
you've
seen
in
the
UI
I
want
to
make
sure
that
you're
aware
of
the
fact
that
some
things
are
not
fully
deployed
everywhere.
So
I
want
to
show
you
the
other
option.
A
One
of
the
nice
things
about
working
with
a
SharePoint
framework
that,
as
I
was
talking
about
earlier,
is
that
instead
of
you
know
having
to
go,
do
a
bunch
of
extra
work
to
try
and
connect
to
Microsoft
crap
or
to
Azure
ad
secured
services.
When
you
use
the
SharePoint
framework,
when
you're
sending
Microsoft
teams,
you
get
to
leverage
all
the
stuff
that
the
SharePoint
framework
has
right
inside
of
it
out
of
the
box
and
then
includes
some
of
the
support
we
have
for
the
Microsoft
crown.
A
So
in
this
project
we
had
here
what
I've
done
is
I
got
two
special
things
in
here.
One
of
them
is
going
to
show
the
different
context
between
the
working
inside
SharePoint
and
working
inside
teams,
but
then
I'm
also
going
to
show
you
how
we
can
leverage
the
Microsoft
graph
in
both
solutions.
Now
all
I
did
was
I
just
created
a
brand
new
project
using
the
1.8
version
of
the
SharePoint
frameworks.
You
can
see
all
these
1.8
references
and
then
inside
the
manifest
file
for
my
project.
A
All
I
did
was
come
in
and
add
in
this
extra
bit
that
you
see
that
I
have
highlighted
here,
which
says
for
the
supported
hosts.
This
can
run
both
inside
SharePoint
as
a
SharePoint
web
part,
so
that
was
already
there
and
then
the
part
that
I've
highlighted
as
I
added
in
teams
tab.
So
what
this
is
telling
Microsoft
are
telling
Office
365
is
that
this
customization
can
be
loaded
as
a
custom
tab
inside
of
a
Microsoft
team's
team.
A
So
I
added
this
little
reference
in
here
and
then
inside
my
code,
I
went
in
and
I
just
went
ahead
and
coded
up
my
web
part.
Now.
The
only
thing
that's
kind
of
interesting
about
this
guy
is
that
if
I
come
up
here,
let's
go
to
the
top
here.
You
can
see
right
here
where
I've
added
any
reference
to
the
Microsoft
team's
JavaScript
SDK
a
little
bit
farther
down
inside
of
my
inside
my
web
part
itself.
A
I
have
a
private
member
that
I
defined
called
team's
context
as
well
as
I
have
overloaded
the
on
init
method,
and
what
on
doing
in
the
on
illinit
method,
isn't
checking
to
see?
Is
there
a
is
the
Microsoft
team's
object
present
on
the
context,
and
if
it
is,
what
that
is
saying
is
that
that
we
are
in
Microsoft
teams
and
so
I
then
trying
to
get
the
context
from
Microsoft
teams
and
assign
it
to
that
private
member
that
you
see
above
the
numbers,
all
the
promise.
A
A
Now
one
of
the
other
things
that
I've
done
that's
kind
of
interesting
here.
Is
you
see
that
I'm
using
the
Microsoft
graph
support
for
that
we
have
inside
the
SharePoint
framework,
so
I
haven't
had
to
do
anything
special
to
get
this
working.
Just
a
standard
old,
Microsoft
graph
support
that
we've
done,
which
just
involves
two
things.
A
One
is
leveraging
the
Microsoft
graph
inside
of
my
component
and
then
the
other
thing
is
leveraging
the
granting
a
permission
or
scope
to
my
ten
we'll
see
that
in
just
a
minute,
but
you
can
see
here
that
I'm
getting
a
reference
to
the
client
to
the
Microsoft
graph.
I'm
then
going
to
the
endpoint
to
see
my
information
or
my
profile
information
and
when
I
get
that
back.
I'm
gonna
have
a
user
object
that
comes
back
and
I'm.
A
Just
gonna
write
out
some
information
about
me,
so
you
can
see
what
my
display
name
is
and
my
mail
is
and
of
course
you
can
do
all
kinds
of
stuff
at
the
Microsoft
graph,
but
in
this
case
I
just
wanted
to
show
that
they
look.
How
easy
it
is.
It's
just
like
working
with
the
SharePoint
framework.
Now
what
do
we
end
up
doing?
We
then
build
this
up.
We
package
it,
we
bundle
it.
We
package
it
and
I've
got
my
SPF
X
teams,
espy
pkg
file.
A
That's
all
that's
been
generated,
so
I
went
over
here
to
my
apps
for
SharePoint
over
to
my
my
site,
my
app
catalog
for
my
tenant
and
I
uploaded
this
solution
right
here
and
everything's
good
to
go
now
when
I
did
this
I
specified
that
this
was
tenant
deployed
now
this
is
just
a
an
easy
way
to
do
it.
Maybe
this
is
what
you
want
in
your
environment.
Maybe
you
don't
it's
up
to
you,
but
I
just
went
with
the
easy
approach.
A
So
when
I
created
the
project,
I
said
it
said:
do
you
want
to,
you
know,
do
feet
enable
feature
deployment
and
what
I
did
is
I
said
skip
feature.
Deployment
is
set
to
true,
which
basically
is
saying.
Yes,
you
can
deploy
this
webpart
to
automatically
have
it
installed
to
all
site
collections
throughout
your
your
tenant.
So
that's
gonna
make
it
easy
I'll.
Let
any
Microsoft
team
inside
of
my
my
tenant
have
access
to
use
this.
A
The
reason
why
is
because
every
Microsoft
team,
the
backing
of
it,
is
a
SharePoint
site
collection,
and
so
if
this
is
already
installed
into
all
the
site
collections,
including
the
ones
that
are
that
are
the
backing
to
a
Microsoft
team,
then
that
means
when
I
want
to
install
this.
It's
still
gonna
run
on
that
team.
A
Now
we'll
see,
I'll
show
a
little
bit
more
the
details
of
how
this
works
when
we
actually
get
the
team's
part
in
just
a
minute
now,
once
I
uploaded
that
this
is
the
part
where
I
want
to
give
you
a
little
bit
of
a
caveat
and
give
you
a
little
bit
heads
up
on
how
things
are
gonna
work.
If
I
select
this
item
and
I
go
over
here
to
the
files
ribbon
on
the
files
tab
in
the
ribbon,
you'll
see
this
button
here
that
says
sync:
two
teams.
A
A
What
it
would
do
is
it
would
use
the
information
from
my
team
I'm
sorry
from
my
SharePoint
project,
and
it
would
dynamically
generate
the
manifest
file
needed
for
a
Microsoft
team's
team
for
Microsoft
teams,
app
package
for
to
be
able
to
define
custom
application,
and
then
it
would
generate
the
zip
file
that
contained
the
two
images
which
you
see
by
default
inside
of
a
inside
of
a
SharePoint
framework
project.
Now,
when
you
use
1.8,
so
you
get
these
two
pictures.
A
It'll
dynamically
generate
the
manifest
they'll
build
it'll,
create
a
zip
file
containing
the
two
images
and
the
manifest
file
it
generated,
and
it
will
automatically
deploy
that
to
your
Microsoft
team's,
tenant,
catalog
or
the
store.
Now
that's
the
way
it's
going
to
work
eventually,
today,
there's
been
working
with
Microsoft
off
and
on
to
the
last
week
or
so,
and
we've
identified
that
it
doesn't
always
work
like
that
right
now,
so
my
two
cents
is:
don't
use
this
sync,
the
team's
feature
right
now,
because
it's
not
terribly
reliable,
it
will
be,
even
if
you
click
it.
A
It'll
get
this
little
message
over
here.
That
will
say
successfully
synchronize
the
team's
and
that's
great,
but
then
you
go
to
teams,
that's
not
there!
So
I'll
show
you
another
way
to
do
it
in
just
a
minute,
but
before
we
do
that,
let's
take
a
look
and
see
this
webpart
actually
running
so
I
have
a
SharePoint
site
collection
running
inside
of
this
tenant
and
I'm
gonna
I've
already
added
this
web
part
to
a
page.
So
we
can
see
this
Web
part
running.
A
So
if
I
go
over
here
to
my
pages,
I've
got
a
page
called
testbed,
so
I'm
gonna
jump
to
my
testbed
go,
take
a
little
nap
nope
not
yet
render
too
fast.
So
I
can't
do
that.
Just
yet
and
if
I
scroll
down,
we
can
see
that
we're
in
SharePoint
the
current
context
is
M
inside
of
a
site
collection
named
V
demo,
so
one
this
is
just
some
text
from
my
web
part
and
then
check
out
that
this
is
the
details
from
the
Microsoft
graph.
A
So
I
can
see
that
I'm
logged
in
using
a
demo
tenant
that
I
have
called
the
mo.
The
user
name
is
mo
D
administrator
and
then
that's
the
actual
account
I'm
logged
in
as
okay.
That's
all
great
finding
good,
that's
SharePoint,
but
what
about
my
proteins
so
I'm
gonna
come
over
here
to
teams,
go
team's
up,
Microsoft
comm
and
it's
getting
Magnus
a
don't.
You
want
to
use
the
client
now
I'm
going
to
say
no
I
want
to
use
the
browser.
A
A
A
Here's
the
part
that
you're
gonna
get
gets
a
little
screwy
here
now,
I've
already
deployed
this,
so
I'm
gonna
see
the
experience
that
I
would
expect,
which
is
I,
would
come
over
here
and
say:
I
want
to
add
a
tab,
so
I
clicked
on
that
plus
and
if
I
scroll
somewhere
in
here
I
should
see
my
custom
tab
that
I've
defined
now.
Here's
the
part,
that's
interesting
in
the
future,
when
that
sync,
the
tabs
button
is
actually
operational.
A
This
is
what
you
would
see,
we'd
be
all
in
good
shape,
but
today
it
is
like
I
said
it's
a
little
temperamental
and
so
what
I,
what
I
did
and
what
I
would
recommend
you
do.
At
least
until
you
see
us
update
the
docs,
for
this
is
that
inside
of
my
sharepoint
inside
of
my
inside
of
my
project
here,
my
sharepoint
framework
project
I've
created
a
app
manifest
for
the
Microsoft
teams
team
for
them.
Actual
teams
at
manifests.
A
I
created
this
myself
and
if
you
go
look
at
the
documentation
on
the
SharePoint
framework
site,
there
is
a
there's,
a
sample
that
you
can
pull
down
and
the
link
that
I'll
publish
a
post
in
just
a
minute
to
the
training
module
that
besa
I
mentioned
earlier,
and
that
McCaleb
mentioned
earlier.
I
will
there's
a
lab
that
actually
walks
you
through
and
gives
you
a
reference
to
this
file.
A
But
the
fact
that
they
all
you're
going
to
all
you
have
to
do
is
create
this
file
copy
paste,
the
one
that
you
got
in
that
you
that
was
provided
to
you.
There
are
a
lot
of
little
placeholders
of
things
that
you
can
go
replace
like
the
name
of
the
project
and
the
description
as
well
as
the
icons.
The
important
part
here
is
that
make
sure
that
the
pictures,
the
icons
here-
map
the
pictures
that
are
inside
of
the
team's
folder.
A
So
if
you
grab
this
gooood,
what
I
did
is
I
went
over
to
my
manifest
and
I
simply
just
made
sure
that
that
was
the
ID
right
here.
As
you
see,
that's
the
link
to
those
two
images
and
we
go
were
drop
here.
You
will
find
another
place
where
there'll
be
a
component
ID
and
it's
referencing
a
gulet
as
well.
So
if
you
look
at
the
lab
that
we
have
in
there,
it
actually
has
some
placeholders
of
things.
A
A
So
what
I
could
do
is
come
over
here
to
my
apps
and
if
I
scroll
down
to
the
bottom
here,
you'll
see
upload
a
custom
app
where
you
could
then
choose
do
I
want
to
upload
it
just
for
me
or
do
I
want
to
just
for
my
teams
or
for
my
entire
tenant.
I
could
select
this
and
then
pick
the
zip
file
that
we
just
generated
now.
I've
already
done
that
so
I
don't
have
to
worry
about
this,
but
once
you
do
that
you'll
then
see
your
own
little.
A
All
your
own
little
apps
show
up
like
I
have
here
that
are
showing
up
and
available
for
use,
so
that
then,
the
next
time
you
go
into
one
of
your
teams,
like
my
second
team
and
I
click
on
the
little
plus
and
if
I
scroll
down
I,
should
find
this
tab
here.
So
remember
that
manual
process
is
called
side
loading
and
there's
some
other
stuff
that
you
made
up
having
to
do
with
your
tenant.
A
If
you
haven't
set
it
up
again,
if
you
refer
to
the
documentation
that
we
have
it
walks,
you
through
everything
you
need
to
do.
The
documentation
is
up
on
the
s
on
the
SharePoint
documentation
site,
specifically
SharePoint
framework
Docs
and
I'll
grab
links
to
those
at
the
very
end
here.
If
somebody
else
hasn't
done
that
already
by
the
time
we
switch
back
to
the
presentation,
but
so
what
this.
B
A
If
you
follow
myself
or
vessel,
you
will
probably
have
your
say
not
that
or
something
like.
Finally,
so
what
one
of
the
two
we
both
thought
it
was
working
last
week
and
we
started
playing
with
it
is
like
it
looks
like
it's
working,
but
it's
not
working.
So
there's,
there's
just
some
weird
kind
of
stuff
going
on
that
that
Microsoft's
engineering
is
just
is
trying
to
track
down
a
pharaoh.
What's
going
on,
so
it's
a
think
of
that
feature
is
in
dev
preview.
A
That's
me
saying
that
it's
not
Microsoft,
but
it's
it
think
of
it
as
being
in
dev
preview
right
now,
so
it
I
don't
think
it's
reliable,
I,
wouldn't
I
wouldn't
rely
on
it
for
now,
but
yeah
it's
coming
soon,
so
you
eat
one
of
two
ways:
either
you're
this
process
that
I
just
showed
you
is
called
side
loading.
Eventually,
you
won't
have
to
do
that
and
eventually
you
will
be
able
to
just
use
the
sync
to
teams
and
so
that
it'll
work.
A
The
other
nice
thing,
though,
is
that
if
you
want
to
override
the
values
of
the
manifest.json
that
Microsoft
is
generating
dynamically,
you
can
still
use
that
same
process.
I
showed
you
of
creating
the
manifest
file
and
when
you
click
sync,
the
team's
sharepoint
sharepoint
online,
when
you
click
sync,
the
team's,
it
will
see
that
you
have
a
manifest
file
and
say:
oh,
I'm
gonna
use
the
one
that
you
created
not
dynamically,
create
once
you
have
more
control
over.
So
all
right,
we're
gonna
go
shape,
so
how
we
going
to
add
a
tabs.
A
A
Why
isn't
it
doing
it
install
it
please
area.
So
the
experience
is
a
little
bit
different,
because
I
would
have
some
customization
configuration
options
that
I
wanted
to
find
on
this
specific
web
part,
but
in
way
it
would
normally
be
shown
here,
but
because
it's
sharepoint
instead,
it's
gonna
show
it
to
me
more
the
sharepoint
style.
A
So
when
the
tableaus
you're
gonna
see
the
property
pane
on
the
right
hand,
side
open
up
with
these
two
settings
that
I
have
defined
here
and
I'll
go
ahead
and
close
this
out
and
check
it
out
is
the
same
web
part
well
hold
on
it's
loading
it
there
we
go
it's
the
same
webparts,
oh
there
we
go
now
we're
running
in
the
context
of
Microsoft
teams.
It
knows
the
team
that
we're
currently
in
and
I'm
getting
the
same
information
for
the
Mike
crap,
because
I'm
already
logged
in
using
my
same
account.
Everything
just
works
now.
A
One
other
cool
thing
that
is
neat
about
this
is
that
notice
here
that
my
Settings
button
is
gone
from
this
tab
that
you
see
here,
and
the
reason
why
the
Settings
button
is
gone
is
because
in
the
code,
if
I
look
at
the
manifest
file
right
here
in
the
manifest
file,
I
said
can
update
configuration
is
equal
to
false
if
I
had.
By
setting
this
to
false,
you
saw
the
configuration
open
up
the
first
time
when
I
added
the
webpart
or
when
I
added
the
tab
to
the
team.
That's
the
that's
gonna,
be
the
behavior.
A
You
always
see.
You're
always
gonna,
see
that
when
you
install
a
new
tab
or
add
a
tab,
you're
always
going
to
see
the
configuration
tab
pop
up
and
what
that's
doing
is
it's
giving
people
who
have
permission
to
add
tabs
to
a
team,
it's
giving
them
the
ability
to
customize
it,
but
by
setting
this
value
to
false,
that's
blocking
users
from
being
able
to
modify
those
configuration
settings
after
the
fact
after
I've
installed
it
in
a
team.
A
So
if
I
had
set
this
to
true,
then
when
I
come
back
over
here,
a
browser
this
would
have
said
setting
the
settings
link
would
have
shown
up
here
as
a
third
option
here
and
then
clicking
on
that
would
have
opened
up
the
property
pane.
But
this
is
just
giving
us
away
about
the
the
experience
in
teams
is
a
little
bit
different
from
the
experience
in
SharePoint,
where
in
SharePoint
you
have
the
you
can
put
the
entire
page
in
edit
mode,
and
you
have
to
have
permissions
to
be
able
to
do
that
in
teams.
A
There's
no
like
put
it
in
edit
mode
kind
of
context,
and
so
instead
you
have
permission
to
do
something
or
not,
and
so
that
settings
link
is
gonna,
show
up
or
not.
This
is
how
Microsoft
chose
to
deal
with
it,
and
so
that's
really
all
I
have
to
show
I
mean
it's
really
straightforward
and
really
easy.
A
If
you
want
to
again,
if
you
want
to
see
how
to
do
this,
if
you
go
to
and
again
VESA
said
that
you'd
be
updating
that
SPF
AKA
ems
slash,
SPF
x,
training
link,
he
will
have
that
updated
with
you'll,
see
much
of
social
sharing
stuff
that
goes
out
shortly.
But
for
the
meantime,
if
you
go
to,
if
you
just
go
to
get
up
here,
here's
the
way
I
go
to
it.
A
If
you
go
to
sharepoint
or
get
him
back
home,
slash
sharepoint
and
then
on
the
repositories
list,
if
you
do
a
search
for
training
and
scroll
right
today,
if
you
scroll
to
the
bottom
right
here
to
this
team's
dev
that
you
go
to
this,
this
is
what's
going
to
be
linked
from
that
page.
That
Meza
has
and
you'll
find
things
like
about
a
screencast
walking
through
stuff
there's
an
entire
lab
manual.
A
There
are,
if
you
go
to
the
lab
manual,
and
you
want
to
see
that
that
that
one
thing
I
referenced
earlier,
where
is
walk
you
through,
and
it
says
all
this
stuff
here
we
go
so
here's
one
little
thing
you
may
notice.
This
is
the
part
that
we
just
add
is
a
call-out
to
say
you
know,
heads
up
that
this
thing,
two
teams
thing
doesn't
exactly
work
today
and
then
here's
the
part
where
you
can
go
grab
this
manifest
file
that
has
all
these
different
things.
A
These
replacement
strings,
that
you
can
go
replace
and
what
you're
looking
for
in
the
component
file
so
like,
for
example,
in
this
lab.
That's
where
you'll
find
it.
So
it's
made
it
as
simple
as
we
could
possibly
make
it
for
you
to
go
through
an
update
this
and
to
see
this
working.
The
demo
that
I
just
showed
you
is
the
exact
same
thing:
that's
inside
of
this
lab,
except
I
added
in
this
stuff
for
Microsoft
teams
or
sorry
for
the
graph
stuff
that
you
see
here
with
the
user
mail.
A
That
information
is
also
inside
of
another
training
thing
that
we
have
another
training
module
that
that
vest
is
linked
to
that
he's
already
got
listed
up
on
that.
What
does
it?
The
AKMs,
SPF
x,
training
and
that's
here
inside
this
third
party
API-
is
module
where
there's
a
lab
on
working
with
the
Microsoft
grant.
I
just
copied
some
of
the
code
from
that
module
to
make
it
work.
Alright,.
B
So
you've
been
playing
with
this
for
I
know
for
the
last
week
or
a
couple
of
weeks.
So
are
there
any
special
things
you
really
need
to
pay
attention
to
when
you
start
doing
stuff
either
to
have
it
hosted
both
in
teams
and
SharePoint
besides
the
manifest
part
or
or
are
than
the
weird
stuff
you
need
to
look
at
for
the
graph
stuff
to
work.
No.
A
I
mean
the
nice
thing
about
it's
a
great
question:
Miguel
the
nice
thing
about
this
is
that
it
it
just
feels
like
SharePoint
framework
I
mean
I'm
just
still
doing
a
SharePoint
framework
stop
I,
haven't
spent
much
time
doing
extension,
customizations
to
Microsoft
teams
until
the
SharePoint
framework
added
this
capability
or
I.
Guess
the
really
the
team's
team
added
this
capability,
or
one
of
the
two
and
I
was
pleasantly
surprised
about
how
just
natural
it
felt
or
seamless
it
fell
from
working
with
the
SharePoint
framework.
There
was
really
nothing
special
I
had
to
do.
A
I
mean
the
only
part
that
I
guess
I
had
a
flat
spot
on
my
forehead
from
banging
it
on
the
table.
Trying
to
figure
it
out
was
the
whole
sync.
Two
teams
thing
where
I
saw
the
button
which
to
me
said:
hey
this
works
now
and
everything
looked
like
it
worked,
except
nothing
was
showing
up
inside
of
my
team
store.
So
right
now,
it's
just
a
side
loading
bit
that
you
have
to
do
so
if
I
figured.
A
If
that
was
frustrating
me
and
confusing
me,
I
worked
with
us
the
last
week
and
we
got
the
docs
updated
to
make
it
very
clear
to
do
the
side
loading
approach
and
to
ignore
that
syncs
teams
button
for
now.
So
everything
is
it's
pretty
much
there
and
it
just
makes
a
whole
lot
of
its
really
simple,
really
straightforward.
Actually,.
C
All
of
that
is
taken
care
of,
and
also
for
teams
customizations.
You
don't
need
a
very
about
where
your
stuff
is
being
hosted.
Everything
is
automatic.
You
just
write
your
stuff
using
sharepoint
framework
and
we'll
cat
we'll
deal
with
the
governance
will
deal
with.
Operations
will
deal
with
permissions
and
hosting
and
deployment,
and
and
that's
what
we
was
the
big
thing
for
us
when
we
were
working
together
with
teams,
people
would
stay
so
as
a
huge
benefit
in
SPF
x,
because
this
way
enterprise
developers
don't
need
to
worry
about
where
the
stuff
is
getting
hosted.