SlideShare a Scribd company logo
PowerApps – the good, bad
and ugly
Chris O’Brien
The concept
QUICKLY AND EASILY CREATE APPS WHICH
PARTICULARLY SUITABLE FOR
Use Excel-like formulas – not code
To do Formula
“Next” button to change screen Navigate(MyScreen, ScreenTransition.Fade)
Add item to SharePoint list Patch(MySharePointList, Defaults(MySharePointList),
{
FirstName:TextInput1.Text,
LastName:TextInput2.Text
}
)
Add record to local collection
(cache)
ClearCollect(
SelectedProducts,
{
ID: ProductID,
Name: ”XT1000”
}
)
Not required
COB - PowerApps - the good, the bad and the ugly - early 2018
The mobile experience
PowerApps app must be installed
from App Store
Apps appear within PowerApps app
Two main approaches
Customise a
SharePoint list Create standalone
PowerApp
Customising SP forms vs. standalone
Customised SP forms:
Other considerations:
Demo
PowerApps on a list
Standalone PowerApps
Start from data
Start from template
Start from blank
Start from your data
Start from template
Sample app – leave
requests
The scenario
POC for airline pilots (leave requests)
Flying a plane is the perfect
time!
Offline support
Ability to connect to on-premises
data
Demo
Leave Requests PowerApp
Implementing the PowerApp
Key findings
Some surprises
Functions for SharePoint data
Patch
• Add list item
Collect
• Fetch list item
Update
• Update list item
Delete
• Remove
Multi-page forms
Person/Group fields
Taxonomy fields
Implementing offline support
Pattern
On-premises data gateway
Considerations
Working with data
Connection is hit when:
Data-related functions:
Connection (e.g.
a database)
Data source
(e.g. a table)
Using a Gallery control for navigation
Complex at first
The pattern
Tips – key PowerApps functions
To do Use
Set a global variable available across all screens Set()
Set a context variable in a single screen UpdateContext()
Change screen Navigate(), Back()
Save a local record (e.g. for offline) Collect(), ClearCollect(), SaveData()
Open a web address/app Launch()
Get data on current user User()
150+ functions in total. See:
https://docs.microsoft.com/en-
us/powerapps/formula-reference
Tips
Get used to:
Lots of fiddly work to generate PATCH command 
Adding a “debug screen” with labels showing variables etc
General weirdness with variables
Variables and If statements
NOT: OnLoad - If (X) { Label1.Visible = true } else { Label1.Visible = false }
INSTEAD: Label1.Visible = if (X, false, true)
Conditional display
Add a “rule” to control, use panel to configure what properties which should be set (e.g. Visible = false)
Tips – SharePoint fields
To do Use
Update a choice/lookup from a
dropdown
Paternity_LengthOfPaternityLeave: {
'@odata.type':"#Microsoft.Azure.Connectors.
SharePoint.SPListExpandedReference",
Value: ddlPaternityLeaveDuration.Selected.Value,
Id: 1
}
Update a person field currentUser: {
'@odata.type':"#Microsoft.Azure.Connectors.
SharePoint.SPListExpandedUser",
Claims:"i:0#.f|membership|" & Lower(User().Email),
Email:User().Email,
JobTitle:".",
Picture:"."
}
PowerApps
- the good
PowerApps
- the bad
PowerApps
- the ugly
Takeaways
PowerApps can be VERY transformative for an org with lots of forms/processes
Very easy to get apps onto mobile devices
But, some pain for the implementer! Often
beyond the average power user
1
2
3
“Simple” requirements can sometimes be
difficult to implement
4
Thank you 
Any questions?
www.sharepointnutsandbolts.com
@ChrisO_Brien

More Related Content

PPTX
COB ESPC18 - Rich PowerApps with offline support
PPTX
Chris O'Brien - Building AI into Power Platform solutions
PPTX
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
PPTX
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
PPTX
COB - Azure Functions for Office 365 developers
PPTX
Chris OBrien - Weaving Enterprise Solutions into Office Products
PPTX
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
PPTX
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
COB ESPC18 - Rich PowerApps with offline support
Chris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
COB - Azure Functions for Office 365 developers
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)

What's hot (20)

PPTX
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
PPTX
5 x HTML5 worth using in APEX (5)
PPTX
Building productivity solutions with Microsoft Graph
PPTX
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
PPTX
Chris O'Brien - Introduction to the SharePoint Framework for developers
PPTX
Browser Developer Tools
PPTX
Application Lifecycle Management for Office 365 development
PPTX
ECS19 Bert Jansen - Modernizing your existing sites
PPTX
Integration of APEX and Oracle Forms
PPTX
Do's and don'ts for Office 365 development
PDF
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
PDF
WebNet Conference 2012 - Designing complex applications using html5 and knock...
PPTX
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
PPTX
Office 2013 loves web developers slide
PDF
Application express
PPTX
Oracle application express ppt
PPTX
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
PPT
Introduction to Adobe Flex - Zaloni
PPTX
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
PPT
Building Cool apps with flex
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
5 x HTML5 worth using in APEX (5)
Building productivity solutions with Microsoft Graph
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Introduction to the SharePoint Framework for developers
Browser Developer Tools
Application Lifecycle Management for Office 365 development
ECS19 Bert Jansen - Modernizing your existing sites
Integration of APEX and Oracle Forms
Do's and don'ts for Office 365 development
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Office 2013 loves web developers slide
Application express
Oracle application express ppt
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
Introduction to Adobe Flex - Zaloni
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
Building Cool apps with flex
Ad

Similar to COB - PowerApps - the good, the bad and the ugly - early 2018 (20)

PPTX
SPS Stockholm: PowerApps Jumpstart
PPTX
Next Level PowerApps
PDF
Next Level PowerApps SPS St Louis
PDF
Power Apps 101 SharePoint Saturday Lisbon 2019
PPTX
SPS Cambridge: PowerApps Jumpstart
PPTX
Advanced app building with PowerApps expressions and rules
PPTX
SharePoint Saturday Cologne 2019 - Spice up your SharePoint list with Power...
PPTX
Building your first power apps from scratch a step by step walkthrough
PPTX
RISPUG - Top Form - Using PowerApps to Replace List Forms
PDF
SPS Oslo 18 Spice Up your modern SharePoint list with Power Apps Forms
PPTX
Advanced SharePoint 2010 InfoPath Development
PDF
UK Community day 20180206 PowerApps hackathon
PPTX
Why powerapps is replacing infopath forms
PDF
Top 20 something info path 2010 tips and trips - sps-ozarks12
PPTX
m365_slides.pptx
PPTX
PowerApps: A New Approach to the Traditional SharePoint List View
PDF
Microsoft Power Apps - A Getting Started Guide
PPTX
Power Saturday 2019 Paris - Spice up your SharePoint list with PowerApps forms
PDF
Power Saturday 2019 E5 - Spice up your SharePoint lists with PowerApps forms
DOCX
PowerApps for Beginners: A Guide to Building Your First App
SPS Stockholm: PowerApps Jumpstart
Next Level PowerApps
Next Level PowerApps SPS St Louis
Power Apps 101 SharePoint Saturday Lisbon 2019
SPS Cambridge: PowerApps Jumpstart
Advanced app building with PowerApps expressions and rules
SharePoint Saturday Cologne 2019 - Spice up your SharePoint list with Power...
Building your first power apps from scratch a step by step walkthrough
RISPUG - Top Form - Using PowerApps to Replace List Forms
SPS Oslo 18 Spice Up your modern SharePoint list with Power Apps Forms
Advanced SharePoint 2010 InfoPath Development
UK Community day 20180206 PowerApps hackathon
Why powerapps is replacing infopath forms
Top 20 something info path 2010 tips and trips - sps-ozarks12
m365_slides.pptx
PowerApps: A New Approach to the Traditional SharePoint List View
Microsoft Power Apps - A Getting Started Guide
Power Saturday 2019 Paris - Spice up your SharePoint list with PowerApps forms
Power Saturday 2019 E5 - Spice up your SharePoint lists with PowerApps forms
PowerApps for Beginners: A Guide to Building Your First App
Ad

More from Chris O'Brien (14)

PPTX
Chris OBrien - Azure DevOps for managing work
PPTX
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
PPTX
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
PPTX
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
PPTX
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
PPTX
SP2013 for Developers - Chris O'Brien
PPTX
Getting to grips with SharePoint 2013 apps - Chris O'Brien
PPTX
SharePoint Ribbon Deep Dive
PPTX
Automated Builds And UI Testing in SharePoint 2010 Development
PPTX
Optimizing SharePoint 2010 Internet Sites
PPTX
Managing the SharePoint 2010 Application Lifecycle - Part 2
PPTX
Managing the SharePoint 2010 Application Lifecycle - Part 1
PPT
SharePoint workflow deep-dive
PPT
SharePoint Web Content Management - Lessons Learnt/top 5 tips
Chris OBrien - Azure DevOps for managing work
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
SP2013 for Developers - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
SharePoint Ribbon Deep Dive
Automated Builds And UI Testing in SharePoint 2010 Development
Optimizing SharePoint 2010 Internet Sites
Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 1
SharePoint workflow deep-dive
SharePoint Web Content Management - Lessons Learnt/top 5 tips

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
Teaching material agriculture food technology
PDF
KodekX | Application Modernization Development
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Electronic commerce courselecture one. Pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
Teaching material agriculture food technology
KodekX | Application Modernization Development
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Electronic commerce courselecture one. Pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
Diabetes mellitus diagnosis method based random forest with bat algorithm
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

COB - PowerApps - the good, the bad and the ugly - early 2018

  • 1. PowerApps – the good, bad and ugly Chris O’Brien
  • 2. The concept QUICKLY AND EASILY CREATE APPS WHICH PARTICULARLY SUITABLE FOR
  • 3. Use Excel-like formulas – not code To do Formula “Next” button to change screen Navigate(MyScreen, ScreenTransition.Fade) Add item to SharePoint list Patch(MySharePointList, Defaults(MySharePointList), { FirstName:TextInput1.Text, LastName:TextInput2.Text } ) Add record to local collection (cache) ClearCollect( SelectedProducts, { ID: ProductID, Name: ”XT1000” } )
  • 6. The mobile experience PowerApps app must be installed from App Store Apps appear within PowerApps app
  • 7. Two main approaches Customise a SharePoint list Create standalone PowerApp
  • 8. Customising SP forms vs. standalone Customised SP forms: Other considerations:
  • 10. Standalone PowerApps Start from data Start from template Start from blank
  • 13. Sample app – leave requests
  • 14. The scenario POC for airline pilots (leave requests) Flying a plane is the perfect time! Offline support Ability to connect to on-premises data
  • 16. Implementing the PowerApp Key findings Some surprises
  • 17. Functions for SharePoint data Patch • Add list item Collect • Fetch list item Update • Update list item Delete • Remove Multi-page forms Person/Group fields Taxonomy fields
  • 20. Working with data Connection is hit when: Data-related functions: Connection (e.g. a database) Data source (e.g. a table)
  • 21. Using a Gallery control for navigation Complex at first The pattern
  • 22. Tips – key PowerApps functions To do Use Set a global variable available across all screens Set() Set a context variable in a single screen UpdateContext() Change screen Navigate(), Back() Save a local record (e.g. for offline) Collect(), ClearCollect(), SaveData() Open a web address/app Launch() Get data on current user User() 150+ functions in total. See: https://docs.microsoft.com/en- us/powerapps/formula-reference
  • 23. Tips Get used to: Lots of fiddly work to generate PATCH command  Adding a “debug screen” with labels showing variables etc General weirdness with variables Variables and If statements NOT: OnLoad - If (X) { Label1.Visible = true } else { Label1.Visible = false } INSTEAD: Label1.Visible = if (X, false, true) Conditional display Add a “rule” to control, use panel to configure what properties which should be set (e.g. Visible = false)
  • 24. Tips – SharePoint fields To do Use Update a choice/lookup from a dropdown Paternity_LengthOfPaternityLeave: { '@odata.type':"#Microsoft.Azure.Connectors. SharePoint.SPListExpandedReference", Value: ddlPaternityLeaveDuration.Selected.Value, Id: 1 } Update a person field currentUser: { '@odata.type':"#Microsoft.Azure.Connectors. SharePoint.SPListExpandedUser", Claims:"i:0#.f|membership|" & Lower(User().Email), Email:User().Email, JobTitle:".", Picture:"." }
  • 28. Takeaways PowerApps can be VERY transformative for an org with lots of forms/processes Very easy to get apps onto mobile devices But, some pain for the implementer! Often beyond the average power user 1 2 3 “Simple” requirements can sometimes be difficult to implement 4
  • 29. Thank you  Any questions? www.sharepointnutsandbolts.com @ChrisO_Brien