►
From YouTube: Community demo - Using PnP Tenant Templates to provisioning Microsoft Teams structures
Description
This community call demo is taken from the SharePoint Framework community call recording on 2nd of May 2019. In this video, Paolo demonstrates usage of the PnP tenant templates to provision Microsoft Teams structures together with other tenant templates definitions.
Presenter - Paolo Pialors (Piasys.com) - @paolopia
Full details on the community call from https://developer.microsoft.com/en-us/sharepoint/blogs/sharepoint-dev-community-pnp-general-sp-dev-sig-recording-2nd-of-may-2019/
More details on the SharePoint dev community calls from http://aka.ms/sppnp.
A
A
You
can
provision
a
new
team
using
still
using
it
as
a
template,
so
the
one
that
you
can
use
with
Graf
directly
and
we
think
this
is
or
this
can
be
useful
whenever
you
already
have
a
JSON
template
of
a
team
that
you
want
to
provision
in
a
unique
context
in
a
unique
solution
using
the
provisioning
engine.
Moreover,
if
you
prefer
to
define
the
whole
provisioning
template
as
an
XML
file,
we
add
it
to
be
2000.
A
1903
schema
of
EMP
the
functionality
capability
to
define
all
of
the
settings
and
assets
that
you
want
to
provision
for
a
new
team,
including
channel,
stops
custom,
apps
and
stuff
like
that,
you
can
clone
an
already
existing
team,
creating
a
new
one
cloned
from
the
existing
one.
Actually,
this
functionality
is
still
under
development,
but
is
one
of
the
easiest
one?
A
Let
me
say
compared
with
the
others
at
least,
and
you
can
team
Phi
I,
don't
know
if
I
can
use
this
word
or
not,
but
you
can't,
if
I
in
real
existing
of
histories
Phi
group,
so
that
if
you
have
a
group
new
wanna
upgrade,
let
me
say
upgrade
it
to
a
team.
You
can
use
the
provisioning
engine
and
of
course
you
will
be
able
to
use
some
custom
tokens
to
identify
the
already
existing
group
and
to
upgrade
that
one
into
a
teaming.
What
do
we
provision
right
now?
A
We
provision
the
whole
team
ma
plus
the
channels,
so
you
can
create
custom
channels
while
provisioning,
the
team
and
custom
tabs
are
inside
every
channel.
We
have
a
quite
open
model
so
right
now
we
support
all
the
predefined
themes
up,
IDE
that
you
can
use
to
create
a
custom
team
table
and
the
same
will
be
in
the.
If
there
will
be
any
new
team-up
ID
available.
A
You
can
even
upload
messages
in
a
channel
if
you
want
so
that
if
you
need
to
create,
for
example,
a
team
with
the
channel-
and
you
want
to
provide
a
welcome
message-
the
users
or
any
preloaded
messages,
whether
because
you
want
to
create
a
demo
environment
for
your
users
or
because
you
want
to
prepare
a
welcome
message
for
them.
You
can
do
that
using
the
provisioning
engine
and
you
will
be
able
right
now.
This
one
is
the
other
component
that
is
still
under
development.
A
A
Why
would
someone
want
to
have
the
same
functionality
through
dpmp
provisioning
engine?
Well,
because
using
the
provisioning
engine
you
can
provision
not
only
a
team
but
a
whole
set
of
assets
and
resources,
so
you
can
create
one
or
more
set
collection
in
SharePoint
Online
within
a
unique
hub
site,
for
example,
and
you
can
at
the
same
time
we
did
the
same
provisioning
context,
create
a
team
and
maybe
show
the
content
or
some
of
the
content
coming
out
from
those
sharepoint
online
sites
into
there.
A
Any
of
the
team
tabs
that
you
have
in
the
team
that
you
are
going
to
provision.
So
it
will
give
you
a
more
complete
provisioning
experience
in
the
whole
set
of
Microsoft
365
services
rather
than
having
a
provisioning
engine
which
mainly
target
SharePoint
only
resources,
which
is
what
we
have
right
now
and
which
will
have
until
almost
next
week
when
we
will
release
the
new
main
release
of
the
engine.
So
I
can
switch
on
the
next
slide
by
myself.
A
A
There
are
some
changes
that
happened
under
the
cover
of
the
authentication
of
VP
powershell
again
for
the
sake
of
supporting
not
only
the
sharepoint
authentication,
but
also
the
azure
active
directory,
open
authorization
model
in
order
to
be
able
to
use
the
micrograph
because,
of
course,
under
the
cover,
the
provisioning
of
teams
leverages
the
micrograph
and
most
of
the
beta
actions
that
are
now
available
in
the
beta
endpoint
of
the
micro
graph.
So
keep
it
in
mind,
we
are
still
using
some
of
the
beta
actions
available
in
the
graph.
So
let
me
share
my
screen.
A
So
this
is
the
webgui
of
micro
teams,
and
this
is
a
demo
tenon
that
we
use
in
EMP
and
right
now
we
have
just
a
couple
of
sample
teams
in
this
solution.
Let's
say
that
I
want
to
provision
some
more
teams
in
my
environment
here:
I
have
a
PNP
provisioning
template
which
is
based
on
the
2019
0
3
schema,
so
the
new
and
latest
one
which
will
become
the
default
one
with
the
male
release
of
the
engine.
A
And
here
in
the
schema,
we
have
a
teams
section,
a
team's
element
which
is
a
new
one,
and
through
this
team's
element
we
can
define
a
set
so
one
or
more
or
zero
or
more
team
template
elements.
This
team
template
elements
represent
a
section
which
defines
a
team
that
will
be
created
based
on
a
JSON
template.
I
know
it's
a
bit
of
funny
and
weird
to
see
some
JSON
instead
of
the
XML
or
the
other
way
around,
but
every
now,
and
then
we
need
to
do
that.
A
So
here
we
have
an
XML
element
which
defines
that
we
want
to
create
a
team
with
some
specific
display,
name,
description
and
visibility
and
based
on
a
JSON
template
which
will
be
basically
provided
to
the
micrograph
to
create
such
a
team.
As
you
can
see
here,
we
have
display
name
as
well
as
we
have
one
here,
and
this
one
in
the
attributes
of
the
XML
will
override
what
we
eventually
have
in
the
JSON
template
just
to
let
you
know
so
right
now,
for
my
happiness,
XML
win
some
JSON,
just
just
a
joke.
A
A
And
here
again
we
can
provide
a
display
name,
the
description,
visibility
and
whatever
else
we
can
even
archive
in
already
stinking,
because
we
are
going
to
support
Delta
changes
on
these
properties
so
step
by
step,
but
we
will
be
able
to
apply
multiple
times
a
provisioning
template
and
as
like,
as
we
do
with
a
sharepoint
online
site.
We
will
do
with
the
team
and
we
will
update
and
do
develop
the
changes
of
the
settings
of
the
calvini
already
existing
team.
A
We
can
provision
settings
for
the
fan,
settings
the
guest
member
and
messaging
settings
as
you
can
see,
and
we
have
all
of
the
options
that
usually
you
find
available
in
the
UI
of
teams.
When
you
go
under
the
manage
team
section
and
you
select
settings
all
these
items
which
you
will
find
here,
will
be
available
and
are
available
in
the
xml
as
well.
You
can
configure
the
security
section
through
which
you
can
define
the
owners
and
the
members,
and
if
you
want,
you
can
even
clear
all
the
existing
ones
and
create
new
ones.
A
If
you
need
it,
you
can
define
channels
and
for
every
single
channel,
aside
from
the
name
and
the
description
you
can
define
tubs,
every
tab
will
have
a
name,
a
display
name,
a
team
sup
ID,
which
will
define
what
will
be
the
content
of
the
tab
and
for
every
single
kind
of
themes,
app
ID.
You
will
be
able
to
configure
all
of
these
settings,
which
are
represented
by
those
four
attributes
that
you
have.
The
entity
ID
the
content,
URL
website,
URL
and
remove
URL.
Not
all
of
them,
are
mandatory.
A
If
you
go
to
graphs
dot
microsoft.com
under
api
reference,
you
select
the
beta
endpoint,
you
go
to
the
teamwork
section
under
whoops
hundred
apps,
you
have
the
add
tab
section
and
there
at
the
very
end,
you
have
to
configure
built-in
tub
types,
and
in
this
page
you
can
find
all
of
the
teams
up,
id's
that
you
can
use
and
all
the
settings
that
every
single
kind
of
team
up
ID
wants
to
have
in
order
to
be
properly
configured.
So,
let's
say,
let
me
try
to
apply
this
provisioning
template
onto
a
target.
A
A
Ok,
here
is
the
application.
It
is
a
console
application
and
first
of
all,
I
will
have
to
authenticate
providing
my
my
workers
school
account
credentials,
so
I
will
target
this
tenant
and
I
will
use
these
set
of
credentials.
Let
me
type
my
and
sign
in
out
and
of
course,
I
need
to
write
the
right
password.
A
Ok,
I
mean
if
I
go
back
to
my
web
browser
and
they
show
you
themes
as
you
can
see.
The
first
theme
is
popping
up
and
the
second
one
too,
and
pretty
soon
we
will
see
also
the
channels
popping
up
in
the
UI,
and
all
of
them
will
be
configured
accordingly
to
the
settings
that
we
have
in
the
XML
template.
A
It's
a
matter
of
waiting
a
few
seconds
because
it
takes
a
while
to
do
the
whole
provisioning,
mainly
because
we
have
to
wait
for
all
of
the
resources
to
be
ready
office
which,
by
side,
because
whenever
we
create
a
team,
we
have
to
create
a
group,
the
team,
the
resources
in
your
directory
and
exchange
online
and
shop
in
time,
and
so
it
takes
a
while.
But
right
now
our
console
application
is
completely
done
and
we
can
close
it.
A
In
order
to
do
that
from
a
code
based
perspective,
you
have
to
create
an
object,
called
PMP
provisioning
context,
which
is
a
new
one.
This
object
will
be
the
one
taking
care
of
the
open
authorization
so
internally
we
will
simply
use,
for
example,
MSA
al
et
al
or
whatever
else
technology
you
like
in
order
to
being
able
to
get
an
access
token
for
the
micrograph.
Once
you
create
this
object
within
a
using
context,
you
can
simply
do
the
provisioning
is
like,
as
we
are
used
to
doing,
using
the
provisioning
engine.
A
So
you
get
a
reference
to
the
tenant
or
you
get
a
reference
to
a
specific
web
and
you
do
apply
provisioning
in
this
scenario
of
a
team
you
have
to
target
the
tenant,
because
themes
is
something
which
is
at
the
same
level
of
sharepoint
online
and
our
site
collection
of
sharepoint
online.
So
you
don't
have
to
target
a
specific
site,
but
you
have
to
target
the
whole
tenant
that
you
have
enough
is
55.
A
You
use
the
apply
provisioning
error
committed
and
you
provide
an
object,
which
is
the
in-memory
representation
of
the
XML
template
that
we
have
in
this
file.
Of
course,
not
everybody
is
a
developer,
even
if
most
of
us
most
likely
are
developers
and
regardless
we
are,
or
we
are
not
developers
usually
being
able
to
use
PowerShell
rather
than
always
low-level
code
is
something
which
is
really
good.
A
So
let
me
go
back
to
my
team's
environment
and
let
me
clean
up
what
I
just
created
and
let
me
do
the
provisioning
one
more
time,
but
using
PowerShell
in
this
second
demo.
So
here
I
am
I'm
in
PowerShell,
using
the
dev
branch
of
PowerShell,
as
well
as
I,
am
using
the
dev
branch
of
TMP
site
score
right
now,
because
this
code
is
not
yet
released,
just
to
be
100%,
clear,
so
I
can
connect
to
my
office.
A
Let
we
use
exactly
the
same
logic
that
I
was
using
in
my
dotnet
sample
application.
I
think
that's
it
from
a
functionality.
Perspective
I
simply
want
to
say
also
thank
you
to
Laura
Cochran,
who
helped
me
developing
the
team
subject
handler
for
the
creation
of
teams
based
on
a
JSON
template
and
the
whole
community.
Generally
speaking,
because
every
every
single
time
we
have
a
new
functionality,
it's
because
of
the
community
and
not
just
because
of
every
single
person
contributed
but
the
whole
community
altogether.
So
I
think
that's
this
visa.
B
Few
questions
on
the
chat
Irvin
has
been
answering
I,
think
majority
of
them
more
related
on
permissions
required
on
a
different
scenarios.
If
you
want
to
elaborate
those
permissions,
we
do
have
time
for
that
one
as
well.
The
permissions
are
slightly
how
regulated
they
don't
always
require.
If
you're
using
BMP
power,
sure
you
don't
have
to
be
a
tenant
administrator
always,
but
in
this
case
you
need
it
to
be.
In
your
code
at
least,
we
were
doing
operations
in
a
tenant
level.
Weren't
we
yeah.
A
Okay,
basically,
you
need
to
being
able
to
read
and
write
groups,
because
it's
a
requirement
to
being
able
to
create
teams,
and
you
need
to
be
able
to
read
the
entry
of
users
to
being
able
to
add
the
members
or
owners
that
you
believe
you
need
to
read
first
and
then
add
as
owners
or
members
of
the
group.
Okay,
that's
it
so
from
this
perspective,
those
are
the
only
two
permissions
that
we
needed
from
a
majority
perspective
in
the
future.
When
that
would
be
much
more
capabilities,
maybe
we
will
need
more
permissions.
Yep.
B
Absolutely
and
really
the
key
power
here
may
be
once
again
just
recapping
on
signers
question
as
well,
but
where
was
this
a
template?
Yes,
this
will
say
at
10:00
intently,
as
which
now
is
supporting,
starting
from
a
it's
supporting
chasing
definitions
for
teams
or
XML
definitions
for
teams.
So
you're
able
to
then
combine
these
settings
to
SharePoint,
site
collection,
provisioning
and
all
of
the
other
provisioning
elements,
and
then
you
can
stamp
in
quotes
and
you
can
always
expect
to
get
the
exactly
the
same.
End
result
when
you're
applying
a
template.
B
The
template
itself
can
be
a
BMP
template
file
or
an
XML
file.
In
this
case
it
was
an
XML
in
XML
format,
but
it
could
be
also
BMP
file.
Bits
inside
of
the
BMP
file
contains
an
XML
and
assets
like
trending
elements
and
then
you're
able
to
apply
those
things
to
any
tenant
and
get
the
exactly
the
same
entry.
So
we're
looking
into
extending
the
capabilities
of
the
tenant
templates
as
much
as
possible,
depending
obviously
on
the
API
surface,
whatever
the
the
applications
are
offering.
B
So
right
now,
as
an
example
of
flow
and
power,
apps
are
still
having
quite
limited
administrative
API.
So
we
can't
really
move
to
that
direction
yet,
but
we're
looking
into
kind
of
a
combining
everything
in
the
test,
tenant
template
thinking,
so
you're
able
to
define
your
tenant,
scoped
solutions
built
with
SharePoint
themes,
power-ups
flow
and
whatever
elements
using
a
one
file
and
then
apply
that
to
a
tenant.
And
you
look
at
the
exactly
the
same
end
result
so
really.
A
B
Yes,
absolutely
so
right
now,
the
provisioning
service
which
I
showed
in
the
first
demo,
is
mainly
targeted
for
lucre
sharepoint
loop
book
sites
and
then
there's
the
custom
learning
scenario,
but
will
extend
those
templates
in
the
future
as
well,
so
I'm
really
really
cool
stuff
couch.
There
is
a
question
we're
using
your
screen
power.
Let
me
actually
let
me
actually
go
under,
but
actually,
let's
use
the
screen.
If
neither
oh.
A
B
A
I'm
just
wondering
if
the
question
was
more
about
programming
languages
or
languages
like
English,
Italian,
Finnish
and
so
on
so
forth.
So
from
that
perspective
we
do
support
tokens
in
the
XML,
so
you
can
have
whatever
you
want
and
rasuu
strings
and
whatever
else.
If
the
question
was
more
about
languages
from
a
UI
culture,
perspective
I,
don't
know
yeah
yeah.
B
Sunny
chase
asking:
can
we
associate
content
type
to
teams
channel
document
library
using
this
template?
Yes,
because
now
what
actually
happens
there
just
to
clarify
so
the
document
library
which
you
see
in
themes?
This
is
actually
a
SharePoint
site,
the
document
library.
So
there
is
a
SharePoint
site
behind
of
the
scenes,
and
that's
and
technically
you
can
associate
a
content
type
on
the
document
library
behind
of
the
themes
channel
now,
should
you
do
that
and,
for
example,
do
require
a
metadata,
and
all
of
that,
that's
debatable.
That's
the
separate
discussion!
Technically!
Yes!