The document discusses how PowerApps, Flow, and Azure Functions can be used to supercharge productivity and business. PowerApps allows citizen developers to build apps without code. Flow enables the creation of workflows between apps and services. Azure Functions provides a way to extend apps with custom logic. The presentation provides demonstrations of building apps with these tools and best practices for governance and architecture.
2. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Jussi Roine
@JussiRoine
CTO | Onsight Helsinki
3. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
JUSSI LIVES HERE
4. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
If you lived
in Finland
instead of
the
Netherlands
5. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Quick look on legacy
solutions
All the horrors, hacks
and history
PowerApps
Flow
What is it, and why
should I care?
Azure Functions About this serverless
thing
Agenda and
takeaways Yet another tool in
Office 365!?
7. InfoPath – still here
▪ XML-based forms are from the past – no real benefits anymore
▪ Very limited connectivity & too ”SharePointy”
▪ Not really web/mobile focused and challenging to customize
InfoPath is on it’s way out and has too much technical debt
Is there a replacement for InfoPath?
PowerApps is what InfoPath should have been in 2003-2013
2003-2013
8. Workflows
▪ For SharePoint 2007 to 2010, based on .NET Framework (Workflow
Foundation)
▪ For SharePoint 2013 and forward, based on Workflow Manager
▪ Creation of workflows with SharePoint Designer 2013, or Visual Studio
SharePoint-based workflows are still supported, and work
SharePoint Designer 2013 will not be updated
Workflow Manager currently does not support
Windows Server 2016 or SQL Server 2016
1995-2013
9. Building SharePoint-based business apps
On-premises SharePoint Online
Full-trust code Add-ins
Add-ins
JavaScript-based
(embedded etc.)
JavaScript-based
(embedded etc.)
SharePoint Framework
10. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Azure AD
11. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Azure AD
12. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Stream
Azure AD
13. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
13
Building solutions as a Citizen Developer
15. What is PowerApps?
▪ Create apps with PowerApps Studio, share securely with Office 365 users
▪ Access via mobile devices, tablets, web browser and Windows apps
▪ Get & manipulate external data via Connections
A fully cloud-based platform for building, sharing and using business apps
16. Why PowerApps?
▪ A tool for creating forms, which was InfoPath’s core usages
▪ Rapid App Development tool for citizen developers
▪ Mobile app story for information workers
InfoPath needed a modern replacement
PowerApps tries to redeem these omissions with a modern approach
▪ A tool for power users to quickly design and build apps around data
▪ Works in mobile, works in the browser
Cloud first, Mobile firstWifi first,
17. What can I build with PowerApps?
PowerApps is flexible, but it also has specific strengths
▪ Generate apps based on data (Excel, SQL etc.)
▪ Form-based apps for capturing and updating data
▪ Line of Business apps with modern capabilities (microphone, camera, GPS
coordinates)
▪ Apps for specific needs, signups, events – for power users and role-based needs
PowerApps-based apps can contain:
Multiple data sources
Multiple screens Ink & pen support Custom APIs
18. Supported connections
Connects natively to 118 data sources
Harvest
HelloSign
HipChat
Informix
Infusionsoft
Inoreader
Insightly
Instagram
Instapaper
Intercom
JIRA
LeanKit
LUIS
Mail
MailChimp
Mandrill
Medium
Microsoft Translator
MSN Weather
Muhimbi PDF
Notifications
Office 365 Bookings
Office 365 Outlook
Office 365 Users
Office 365 Video
10to8 Appointment Scheduling
Act!
appFigures
Asana
Azure Automation
Azure Blob Storage
Azure Data Lake
Azure DocumentDB
Azure Queues
Azure Resource Manager
Basecamp 2
Basecamp 3
Bitbucket
Bitly
Blogger
Box
bttn
Buffer
Campfire
Capsule CRM
Chatter
Common Data Service
Computer Vision API
DB2
Disqus
DocuSign
Dropbox
Dynamics 365
Dynamics 365 for Financials
Dynamics for Operations
Dynamics NAV
Easy Redmine
Excel
Eventbrite
Face API
Facebook
File System
Flic
FreshBooks
Freshdesk
FTP
GitHub
Gmail
Google Calendar
Google Contacts
Google Drive
Google Sheets
Google Tasks
GoToMeeting
GoToTraining
GoToWebinar
OneDrive
OneDrive for Business
OneNote (Business)
Oracle Database
Outlook Tasks
Outlook.com
PagerDuty
Pinterest
Pipedrive
Pivotal Tracker
Power BI
PowerApps Notification
Project Online
Redmine
RSS
Salesforce
SendGrid
Service Bus
SFTP
SharePoint
Slack
SmartSheet
SMTP
SparkPost
SQL Server
Stripe
SurveyMonkey
Zendesk
Text Analytics
Todoist
Toodledo
Trello
Twilio
Twitter
TypeForm
UserVoice
Vimeo
Visual Studio Team
Services
WebMerge
WordPress
Wunderlist
Yammer
YouTube
19. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Demo
PowerApps
20. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
21. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
What is Microsoft Flow?
22. Microsoft Flow
A workflow & activity engine for power users in the cloud
▪ Design workflows with a simple
design interface
▪ Run workflows continuously or as
triggered activities
▪ Connect with PowerApps via
control activity
23. Building Flows
Design flows at https://flow.microsoft.com using the web UI
▪ Graphical designer shares the same
UX with Azure Logic Apps designer
▪ Over +100 triggers and actions, more
being added monthly
▪ Data does not have to reside in Office
365 at all
▪ Data sources include Box, Dropbox,
Salesforce, Wunderlist etc.
▪ Flows are executed in Office 365
user context
24. Flows in production use
Things to consider before going to production
▪ Recurrence of a Flow can be automatic
(~30 sec) or sec/min/hour/day interval
▪ Can connect with custom APIs that are
registered through Office 365
▪ Credentials to external services are stored
within the Flow (and shared with
PowerApps)
26. SharePoint-based workflow vs. Microsoft Flow
Feature Workflow Manager 1.0 Microsoft Flow
Supports SharePoint 2013/2016 Built-in Requires on-premises data gateway
Supports SharePoint Online Built-in Built-in
Tools SharePoint Designer 2013, existing workflows Browser-based designer
Form technology approach InfoPath PowerApps
Complex workflows and extensions Visual Studio + REST calls Custom APIs, REST calls & Azure Functions
Logs & troubleshooting Simple view with errors (if any)
Exceptions & graphical view, history view,
input/output views
Future-proof
Supported for 10 more years, default (and only)
choice for now
Flow supported in SPO, evolves rapidly
Pricing No license required Free / 5 eur / 13 eur per user
27. Converting SharePoint Workflows to Flows
No tool available for WAW/SharePoint Designer-based workflow conversion
▪ Problem: SharePoint Designer 2013-based workflows are often
complex and include multiple steps and path logic
▪ Flows only support simple conditions (If/Else, but not Default/Finally)
▪ Flows do not support looping, but have ”Do until”
▪ No Visual Studio-support for building Flows
Recommendation
Build Flow’s based on data complexity; move to Logic Apps when things get complex.
28. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Demo
Microsoft Flow
30. Extending beyond PowerApps & Flow basic features
Custom APIs extend PowerApps &
Flow OOB functionality
Azure Functions provide effortless
building blocks
Logic Apps provide true
integration logic
Serverless computing
Trigger via HTTP call, polling or
webhooks
Can run C# scripts and .BAT files
Ad-hoc modifications, real-time
logging
Azure API Apps as a platform
Swagger-based metadata finding
Can do *anything* ☺
Best suited for integrating
external datasources
API Management Portal
Enterprise integration features
Full integration capabilities
Not dependent on single user
Fully Azure-based
Hybrid integration solution
31. Using Azure Functions with PowerApps and Flow
Serverless lambda-functions – very fast & efficient!
▪ Introduced in April at Build 2016 conference
▪ Create a function that executes upon call
▪ A small piece of logic, not a process
▪ Supports multiple trigger points, including HTTP
calls and Webhooks
▪ Must encapsulate each Azure Function to a
Swagger API definition
▪ Essentially a JSON file
▪ See Swagger Editor at http://editor.swagger.io/#/
32. Using Azure API with PowerApps and Flow
Best flexibility but also most complex & demanding
▪ Azure API Apps are hosted in Azure App Service
▪ Custom API Apps are created with Visual Studio – typically with C#
▪ The latest Azure SDK makes this very easy
33. Managing PowerApps & Flows
User access to apps is based on Office 365 accounts
▪ Forms are in-house and per organization
▪ No anonymous use – all apps are for internal use only
▪ AAD B2B support is not confirmed
▪ Share with individuals, or share with the organization
Create and enforce a governance model!
User builds a fantastic
PowerApps/Flow solution
User leaves the company
Re-provision/claiming solutions during
disabling/deprovisioning of AD account
Challenge SolutionUser action
Users love PowerApps &
Flow
Unmanaged, undocumented
LOB tools, Shadow IT approach
Provide guidance, take ownership of
solutions, monitor solutions
34. Using Logic Apps with PowerApps and Flow
True integration engine in Azure – best connectivity & best for IT Pros
▪ Logic Apps is the grandfather of Flow
▪ Provides rich integration capabilities and code-behind access
▪ Triggering through HTTP calls but requires Azure API Management for
authentication
36. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Demo
Extending PowerApps and Flow
37. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
38. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Best Practices, lessons
learned, don’t do
what I did
39. Lessons learned
PowerApps is in preview – plan ahead & keep plans loose
▪ Things are changing – prepare for ad hoc change of plans
▪ Case: Put all APIs in Microsoft Azure and manage them separately
▪ Microsoft retired the Azure-based PowerApps management functionality
▪ ”Does PowerApps support X?” – be careful not to overpromise
▪ The roadmap is not locked down, so things are moving and shifting
▪ Governance is still somewhat lacking with PowerApps and Flow
40. Lessons learned
Don’t assume things & remember your lessons from InfoPath
▪ InfoPath was released in 2003 and then I felt the same as
now – AMAZING!
▪ Workarounds easily turn into hacks and kludges
▪ ”Umm, AD lookup is not there so let me just code it quickly..”
▪ A lot of small barricades: authentication, HTTPS, App
Service Plan restrictions, device support etc.
41. Best practices
PowerApps and Flow are flexible, but also has specific strengths
▪ They revolve around data – so best to start with a data model & mindset
▪ APIs are the key to accessing data and external systems
▪ Provide centralized access to API’s via Azure API Management Portal
▪ Use other Office 365 workloads to your benefit
▪ Power BI, OneDrive for Business, Groups etc.
▪ Avoid trying to rebuild InfoPath forms to look the same in PowerApps
42. Where to learn more?
▪ PowerApps reference
▪ https://powerapps.microsoft.com/en-us/tutorials/formula-reference/
▪ Custom APIs and PowerApps
▪ https://blogs.msdn.microsoft.com/carlosag/2016/05/09/using-azure-
functions-in-powerapps/
▪ Using Azure Functions in PowerApps
▪ https://powerapps.microsoft.com/en-us/blog/using-azure-functions-in-
powerapps/
43. Supercharging your productivity and business with PowerApps, Flow and Azure Functions | Jussi Roine | June 21, 2017 | 16:15-17:30
Follow us:
#O365ENGAGE17
Questions? | Thank You!
Jussi Roine
jussi@onsight.fi
@JussiRoine
We’d like to know what you think!
Please fill out the evaluation form you
received at the registration desk for this
session
Session recordings and materials:
Materials will be available on
Office365Engage.com soon
WTF!