Related sites:
Newsletter: Perspectives on Power Platform
Company: Niiranen Advisory Oy
From Teams Nation 2022 community conference on March 23rd, 2022.
Dataverse meets Teams:
Low-code app opportunities for everyone
Jukka Niiranen | Power Platform Advisor | MVP
Session objectives
A quick introduction
Jukka Niiranen: who, what, when, why? •Started working with Microsoft business apps in 2005 •Launched my blog in 2008, Microsoft MVP since 2013 •Switched my focus from Dynamics 365 to Power Platform around 3 years ago •Working as Power Platform Advisor & Co-founder at Forward Forever •Citizen developer by heart, zero coding skills •Working out loud since 2010 (Yammer😍) •Excited about the Teams as a Platform story – because this could really be the next Microsoft Operating System
Agenda •Dataverse: the big picture
Where it came from & why it is the center of MS low-code universe •Dataverse for Teams in practice
3 demo scenarios of real apps •When to use / not to use Dataverse for Teams
Limitations to keep in mind when architecting your solutions
Dataverse: the big picture
Dataverse: what is it & why should I care? •It’s not just a relational database
Offers features for managing security, workflows, integration, audit, app lifecycle etc. •Mature platform for enterprise scale business applications
Available as a MS cloud service since 2011 (just with a different name) •Caters to both citizen developers and code-first developers
Full GUI for building apps with zero code, extensive APIs for building custom apps and integrations with as much code as you need •Microsoft’s preferred choice for you to build Power Apps on
While SharePoint may be the most widely used app data source still, MS investments are aiming at making Dataverse work as natively with Power Apps as possible
Types of business apps built on Dataverse
Key benefits of Dataverse for Teams •Available to every Microsoft Teams user •Better foundation for app data model than Microsoft Lists (SharePoint) •Self-service management of Dataverse environment, users are tightly coupled with the team’s roles (owner, member, guest – “OMG”) •Simplified feature set aimed at citizen developers (vs. full Dataverse aimed at enterprise solutions and pro devs) •Can integrate with external systems via Azure API Management (with the help of pro devs…) •Offers an upgrade path to full Dataverse without needing to re-architect the applications
The quickest way to try Dataverse
Use the sample apps from Microsoft Teams store
Everyone can be an app maker in Teams •If you’re a team member, you can provision a new Dataverse for Teams environment by creating a new app (or installing a sample app)
Unless the Teams admin has explicitly blocked Power Apps + all the MS sample apps •Each DV4T environment gets 2 GB worth of storage capacity – does not affect the tenant level capacity for full Dataverse environments •Each tenant gets 5 environments + 1 additional environment for every 20 eligible Microsoft 365 user licenses
With 1K users you get 55 environments, with 100K you get 5,005 environments •1 environment per team, but you can have as many apps there as needed
Dataverse for Teams in practice
Example scenarios
Onboarding app
Scenario •Organization’s need:
Ensure a smooth experience for handling all necessary tasks when a new employee joins the organization – for both the new employee and those who are responsible for helping in completing the tasks •Starting point:
OneNote based template list of onboarding tasks
New copy created to serve as a checklist for each new employee •Solution on Dataverse for Teams:
Dataverse tables for storing onboarding tasks and employees
Business logic to copy tasks from a template when new employees are added
Power Apps UI to show tasks per responsible person and track task completion
Creating the tables
Default UI generated for updating template tasks
Custom card UI for the employee list
Final app published to a team’s channel
Hospital capacity planning & tracking app
Scenario •Organization’s need:
Manage the availability of hospital staff required for different categories of visits and activities associated with them
Create demand estimates through extensive calculation formulas, track actual number of visits + duration of activities •Starting point:
Common Excel workbook that contained all the planning calculations as well as actual visit and activity duration data
Infrequent and inaccurate entry of data by the hospital personnel, due to having to open the Excel workbook on a PC at the end of the shift •Solution on Dataverse for Teams:
Capacity elements modelled into Dataverse tables, with required calculation logic
Dedicated UIs for capacity planning, actual data entry and results analysis
Hospital capacity planning & tracking app
Hospital capacity planning & tracking app
Hospital capacity planning & tracking app
IT Self-service app
Scenario •Organization’s need:
Allow employees to request services from IT, such as local admin rights to PC, installation of additional software, access to specific cloud services •Starting point:
No formal intranet instructions page or forms for submitting requests, process handled via email, no central visibility to requests/approvals/delivery •Solution on Dataverse for Teams:
Dataverse tables + IT Admin app developed into a team accessible by IT only
Employee facing IT Requests app published from that same team to the whole organization, pinned as a tab in common Teams channels
Request approval process managed via native MS Approvals app inside Teams, triggered and monitored via Power Automate cloud flows
IT Self-service app: employee
1) Employee browses the service catalog and selects a service
IT Self-service app: employee
2) Employee fills the service request form with justification details & accepts the terms
IT Self-service app: approval team member
3) Members of the approval team for the service get the employee’s request for review
IT Self-service app: service delivery
4) Approved request results in either Azure AD group membership or email ticket to helpdesk
IT Self-service app: IT admin
5) Admin app provides overview and details of all request by status, service, user
IT Self-service app: team architecture
Data hosted in one Dataverse for Teams environment, shared to other teams for employee access
When to use / not to use Dataverse for Teams
The “free” version can’t do everything •Building apps for your team to replace Excels or MS Lists used in an encapsulated, independent process is a great fit for Dataverse for Teams •Trying to develop an organization wide app or manage a critical business process with DV4T requires detailed understanding of what the technical limitations are •These limitations are intentional – we aren’t likely to see Microsoft significantly enhance the DV4T feature set in the near future •While you can always upgrade the environment from Teams to full Dataverse later, you should analyze the requirements upfront to avoid nasty surprises
Dataverse for Teams features
Dataverse full feature set
Can your app live only within Teams? •For processes that are already discussed and manually managed within Teams, having your apps there makes perfect sense •However, if you need to provide access to users who perform a bulk of their tasks elsewhere, this may become a real barrier for adoption •Mobile use cases are especially cumbersome, since users can’t pin their Power Apps onto phone start screens the way full Dataverse apps would be supported •Opening a DV4T app in a browser tab is supported – but only if you have a premium Power Apps license
Find the right platform for experimentation •Sometimes you need a way to have real users interact with your app “in preview”, before committing to developing the final production solution •Dataverse for Teams is a great option for this, with no extra license purchases required beyond Microsoft 365 •If you know you’ll eventually need more than DV4T can support, though, consider an alternative to use full Dataverse right from the start •Pay-as-you-go licensing model for Power Apps could be a solution
No upfront commitment on number of licensed users, pay only for users who’ve launched the app during the month
Create dev/test/prod environments on-demand, pay for the storage capacity consumed
Billed via Azure subscriptions, consumption can be monitored via Azure Cost Management
Environment sprawl is very real •Anyone can create a Dataverse for Teams environment if they are a team member •Environments will get created accidentally, or intentionally without full understanding of the implications •Establish a governance policy early on to determine the allowed usage and ownership concept for environments •Leverage the templates available in Power Platform Center of Excellence (CoE) Starter Kit for managing Dataverse for Teams environments: [link]
Closing thoughts
Embrace DV4T with these things in mind •Dataverse for Teams plays a critical role in the “Teams OS” story, while full Dataverse puts the “platform” in Power Platform •Expect to find some quirks in the DV4T app maker experience, especially if you come from the full Dataverse / Dynamics 365 side •Despite of the intentional limitations in Dataverse for Teams, there are plenty of scenarios where the licensing model strongly favors designing your app within these boundaries •Don’t bet your low-code strategy only on the Microsoft 365 feature set – prepare to also consume premium Power Apps/Automate licenses where it makes sense