SlideShare a Scribd company logo
1 of 27
| Integrate OutSystems with Office 365
Integrate OutSystems
with Office 365
The #1 Low Code platform combined with the #1
Cloud Office Service Provider.
| Integrate OutSystems with Office 365| Integrate OutSystems with Office 365
Martijn Habraken
Business Unit Manager | Transfer Solutions
@
in
martijn.habraken@transfer-solutions.com
/martijnhabraken
| Integrate OutSystems with Office 365
In 20 minutes you should learn
more about:
● Microsoft’s Integration
Gateway;
● Authorize your Users or
Applications;
● Search your Cloud Data;
● What’s already available in the
OutSystems Forge;
| Integrate OutSystems with Office 365
Microsoft Graph is the gateway to data
and intelligence in Microsoft 365.
| Integrate OutSystems with Office 365
| Integrate OutSystems with Office 365
Use cases
● Unified communication;
■ Customer Service;
■ Get/Send emails from one
application;
■ Get/Create smart meeting
requests;
■ Administrative portals;
● Company Directory;
| Integrate OutSystems with Office 365| Change session name in master slide
Let’s get technical!
| Integrate OutSystems with Office 365
Authentication
● Using OAuth 2.0 protocol;
■ Get authorization code;
■ Get access & refresh token;
● Use tokens;
■ Access token to call API’s;
■ Refresh token when Access
token becomes invalid;
| Integrate OutSystems with Office 365
| Integrate OutSystems with Office 365| Change session name in master slide
First Step
| Integrate OutSystems with Office 365
Register your
application in
Azure
● Login to Azure;
■ portal.azure.com;
● Register your app;
■ Via Azure Active Directory;
■ Via App Registration;
● Get Application Id;
| Integrate OutSystems with Office 365| Change session name in master slide
Get Access on behalf of a
User
| Integrate OutSystems with Office 365
Send your user
to a Microsoft
Login page
{A} = Application Code
{B} = Your Callback page in
OutSystems
{C} = The information you
want to retrieve from
Microsoft Graph
{D} = Your Identifier
https://login.microsoftonline.com
/common/oauth2/v2.0/authorize?
client_id={A}
&response_type=code
&redirect_uri={B}
&response_mode=query
&scope={C}
&state={D}
| Integrate OutSystems with Office 365
| Integrate OutSystems with Office 365
| Integrate OutSystems with Office 365
| Integrate OutSystems with Office 365| Change session name in master slide
Get Access without a
User
| Integrate OutSystems with Office 365
Set API Permissions
| Integrate OutSystems with Office 365
Needs to be approved by
Administrator
| Integrate OutSystems with Office 365| Change session name in master slide
Get the Access Token
| Integrate OutSystems with Office 365
As a User
{A} = Your Application Code
{B} = The information you want to retrieve from Microsoft Graph
{C} = Your Authorization Code (from previous step)
{D} = Your callback page
{E} = Your Application Secret (available in Azure)
{F} = Your Organization Tenant (available in Azure)
POST https://login.microsoftonline.com
/common/oauth2/v2.0/token
Body
client_id={A}
&scope={B}
&code={C}
&redirect_uri={D}
&grant_type=authorization_code
&client_secret={E}
Without a User
POST
https://login.microsoftonline.com/{F}/o
auth2/v2.0/token
Body
client_id={A}
&scope={B}
&client_secret={E}
&grant_type=client_credentials
| Integrate OutSystems with Office 365
Now you have
everything you
need!
Response
{
"token_type": "Bearer",
"expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUza..."
}
| Integrate OutSystems with Office 365
Sample Request
IMPORTANT:
Use the Access token in the Header
like.
GET https://graph.microsoft.com/v1.0/me
Headers
Authorization: Bearer {Access Token}
Response
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 491
{
"businessPhones": [
"businessPhones-value"
],
"displayName": "displayName-value",
"givenName": "givenName-value",
"jobTitle": "jobTitle-value",
"mail": "mail-value",
"mobilePhone": "mobilePhone-value",
"officeLocation": "officeLocation-value",
"preferredLanguage": "preferredLanguage-value",
"surname": "surname-value",
"userPrincipalName": "userPrincipalName-value",
"id": "id-value"
}
| Integrate OutSystems with Office 365| Change session name in master slide
Office 365 Connector
| Integrate OutSystems with Office 365
Office 365
Connector
● Available in the Forge;
● Soon to be upgraded to include
‘Application Permission’;
● Hopefully soon trusted by the
OutSystems community;
https://www.outsystems.com/forge/component-versions/1119
| Integrate OutSystems with Office 365| Integrate OutSystems with Office 365
Please visit our other presentations
Oct 29. 15:30 - The 4 Layer Canvas in Practise (Marlies Quaadgras)
Oct 30. 13:50 - Integrate with Office 365 (Martijn Habraken)
Oct 30. 14:35 - Responsive UI With Realtime database (Martijn Habraken)
Oct 30. 15:30 - Enter the O-Zone: OutSystems & Oracle (Matthieu de
Graaf)
Oct 30. 15:30 - Unattended OutSystems Installation (Herman Slange &
Nicolay Moot)
| Integrate OutSystems with Office 365
Thank You!
@
in
martijn.habraken@transfer-
solutions.com/martijnhabraken

More Related Content

What's hot

Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10OutSystems
 
CSS workshop @ OutSystems
CSS workshop @ OutSystemsCSS workshop @ OutSystems
CSS workshop @ OutSystemsRuben Goncalves
 
0 to 60 With Outsystems
0 to 60 With Outsystems0 to 60 With Outsystems
0 to 60 With OutsystemsOutSystems
 
The 4-Layer Architecture in Practice
The 4-Layer Architecture in PracticeThe 4-Layer Architecture in Practice
The 4-Layer Architecture in PracticeOutSystems
 
Growing and Scaling OutSystems
Growing and Scaling OutSystemsGrowing and Scaling OutSystems
Growing and Scaling OutSystemsOutSystems
 
Create Amazing Reports in OutSystems
Create Amazing Reports in OutSystemsCreate Amazing Reports in OutSystems
Create Amazing Reports in OutSystemsOutSystems
 
Hardcore CSS Made Easy
Hardcore CSS Made EasyHardcore CSS Made Easy
Hardcore CSS Made EasyJosé Rosário
 
BPM Patterns & Best Practices with OutSystems BPT
BPM Patterns & Best Practices with OutSystems BPTBPM Patterns & Best Practices with OutSystems BPT
BPM Patterns & Best Practices with OutSystems BPTGonçalo Borrêga
 
Building CRUD Wrappers
Building CRUD WrappersBuilding CRUD Wrappers
Building CRUD WrappersOutSystems
 
Using Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous TasksUsing Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous TasksOutSystems
 
OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A...
 OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A... OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A...
OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A...OutSystemsNeo
 
Caching Data in OutSystems: A Tale of Gains Without Pain
Caching Data in OutSystems: A Tale of Gains Without PainCaching Data in OutSystems: A Tale of Gains Without Pain
Caching Data in OutSystems: A Tale of Gains Without PainCatarinaPereira64715
 
OutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI IntegrationsOutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI IntegrationsOutSystems
 
Hands-On With Reactive Web Design
Hands-On With Reactive Web DesignHands-On With Reactive Web Design
Hands-On With Reactive Web DesignOutSystems
 
Training Webinar: Top front-end techniques for OutSystems
 Training Webinar: Top front-end techniques for OutSystems Training Webinar: Top front-end techniques for OutSystems
Training Webinar: Top front-end techniques for OutSystemsOutSystems
 
OutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems
 
Service Actions
Service ActionsService Actions
Service ActionsOutSystems
 

What's hot (20)

Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10
 
CSS workshop @ OutSystems
CSS workshop @ OutSystemsCSS workshop @ OutSystems
CSS workshop @ OutSystems
 
0 to 60 With Outsystems
0 to 60 With Outsystems0 to 60 With Outsystems
0 to 60 With Outsystems
 
The 4-Layer Architecture in Practice
The 4-Layer Architecture in PracticeThe 4-Layer Architecture in Practice
The 4-Layer Architecture in Practice
 
OutSystems Platform Troubleshooting
OutSystems Platform TroubleshootingOutSystems Platform Troubleshooting
OutSystems Platform Troubleshooting
 
Growing and Scaling OutSystems
Growing and Scaling OutSystemsGrowing and Scaling OutSystems
Growing and Scaling OutSystems
 
Application Lifetime Management
Application Lifetime ManagementApplication Lifetime Management
Application Lifetime Management
 
Create Amazing Reports in OutSystems
Create Amazing Reports in OutSystemsCreate Amazing Reports in OutSystems
Create Amazing Reports in OutSystems
 
Hardcore CSS Made Easy
Hardcore CSS Made EasyHardcore CSS Made Easy
Hardcore CSS Made Easy
 
BPM Patterns & Best Practices with OutSystems BPT
BPM Patterns & Best Practices with OutSystems BPTBPM Patterns & Best Practices with OutSystems BPT
BPM Patterns & Best Practices with OutSystems BPT
 
Building CRUD Wrappers
Building CRUD WrappersBuilding CRUD Wrappers
Building CRUD Wrappers
 
Using Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous TasksUsing Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous Tasks
 
OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A...
 OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A... OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A...
OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A...
 
Caching Data in OutSystems: A Tale of Gains Without Pain
Caching Data in OutSystems: A Tale of Gains Without PainCaching Data in OutSystems: A Tale of Gains Without Pain
Caching Data in OutSystems: A Tale of Gains Without Pain
 
OutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI IntegrationsOutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI Integrations
 
Why OutSystems
Why OutSystemsWhy OutSystems
Why OutSystems
 
Hands-On With Reactive Web Design
Hands-On With Reactive Web DesignHands-On With Reactive Web Design
Hands-On With Reactive Web Design
 
Training Webinar: Top front-end techniques for OutSystems
 Training Webinar: Top front-end techniques for OutSystems Training Webinar: Top front-end techniques for OutSystems
Training Webinar: Top front-end techniques for OutSystems
 
OutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems Tips and Tricks
OutSystems Tips and Tricks
 
Service Actions
Service ActionsService Actions
Service Actions
 

Similar to Integrate OutSystems With Office 365

Windays14 - How to (remote) control Office 365 with Azure
Windays14 - How to (remote) control Office 365 with AzureWindays14 - How to (remote) control Office 365 with Azure
Windays14 - How to (remote) control Office 365 with Azureatwork
 
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2WinWire Technologies Inc
 
Getting on the Fasttrack to Office 365 - Auckland Cloud & Infrastructure user...
Getting on the Fasttrack to Office 365 - Auckland Cloud & Infrastructure user...Getting on the Fasttrack to Office 365 - Auckland Cloud & Infrastructure user...
Getting on the Fasttrack to Office 365 - Auckland Cloud & Infrastructure user...Brendon Ford
 
Spca2014 office365 ap is full hackett obrien
Spca2014 office365 ap is full hackett obrienSpca2014 office365 ap is full hackett obrien
Spca2014 office365 ap is full hackett obrienNCCOMMS
 
Envision it SharePoint Extranet Webinar Series - Federation and Office 365
Envision it SharePoint Extranet Webinar Series - Federation and Office 365Envision it SharePoint Extranet Webinar Series - Federation and Office 365
Envision it SharePoint Extranet Webinar Series - Federation and Office 365Envision IT
 
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshareO365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshareatwork
 
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphDeep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphBram de Jager
 
Planning a Migration to Office 365
Planning a Migration to Office 365Planning a Migration to Office 365
Planning a Migration to Office 365Doug Hemminger
 
SharePoint hybrid environment
SharePoint hybrid environmentSharePoint hybrid environment
SharePoint hybrid environmentInnoTech
 
Hitchhiker's Guide to Azure AD - SPS St Louis 2018
Hitchhiker's Guide to Azure AD - SPS St Louis 2018Hitchhiker's Guide to Azure AD - SPS St Louis 2018
Hitchhiker's Guide to Azure AD - SPS St Louis 2018Max Fritz
 
Build and extend applications for Office 365 with PowerApps and Flow
Build and extend applications for Office 365 with PowerApps and FlowBuild and extend applications for Office 365 with PowerApps and Flow
Build and extend applications for Office 365 with PowerApps and FlowMicrosoft Tech Community
 
SharePoint 2013 in a hybrid world
SharePoint 2013 in a hybrid worldSharePoint 2013 in a hybrid world
SharePoint 2013 in a hybrid worldJethro Seghers
 
Next Level Learning IT Track - Office 365, Under the Covers
Next Level Learning IT Track - Office 365, Under the CoversNext Level Learning IT Track - Office 365, Under the Covers
Next Level Learning IT Track - Office 365, Under the CoversMicrosoft Education AU
 
How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...
How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...
How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...atwork
 
Crm saturday madrid 2017 3 mosqueteros demian-marco-mario
Crm saturday madrid 2017   3  mosqueteros demian-marco-marioCrm saturday madrid 2017   3  mosqueteros demian-marco-mario
Crm saturday madrid 2017 3 mosqueteros demian-marco-marioDemian Raschkovan
 

Similar to Integrate OutSystems With Office 365 (20)

Windays14 - How to (remote) control Office 365 with Azure
Windays14 - How to (remote) control Office 365 with AzureWindays14 - How to (remote) control Office 365 with Azure
Windays14 - How to (remote) control Office 365 with Azure
 
Azure AD with Office 365 and Beyond!
Azure AD with Office 365 and Beyond!Azure AD with Office 365 and Beyond!
Azure AD with Office 365 and Beyond!
 
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
 
Getting on the Fasttrack to Office 365 - Auckland Cloud & Infrastructure user...
Getting on the Fasttrack to Office 365 - Auckland Cloud & Infrastructure user...Getting on the Fasttrack to Office 365 - Auckland Cloud & Infrastructure user...
Getting on the Fasttrack to Office 365 - Auckland Cloud & Infrastructure user...
 
Spca2014 office365 ap is full hackett obrien
Spca2014 office365 ap is full hackett obrienSpca2014 office365 ap is full hackett obrien
Spca2014 office365 ap is full hackett obrien
 
Envision it SharePoint Extranet Webinar Series - Federation and Office 365
Envision it SharePoint Extranet Webinar Series - Federation and Office 365Envision it SharePoint Extranet Webinar Series - Federation and Office 365
Envision it SharePoint Extranet Webinar Series - Federation and Office 365
 
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshareO365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
 
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphDeep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
 
Planning a Migration to Office 365
Planning a Migration to Office 365Planning a Migration to Office 365
Planning a Migration to Office 365
 
SharePoint hybrid environment
SharePoint hybrid environmentSharePoint hybrid environment
SharePoint hybrid environment
 
Hitchhiker's Guide to Azure AD - SPS St Louis 2018
Hitchhiker's Guide to Azure AD - SPS St Louis 2018Hitchhiker's Guide to Azure AD - SPS St Louis 2018
Hitchhiker's Guide to Azure AD - SPS St Louis 2018
 
Mojemoje
MojemojeMojemoje
Mojemoje
 
Cloud PBX with Office 365 Webinar Slides
Cloud PBX with Office 365 Webinar SlidesCloud PBX with Office 365 Webinar Slides
Cloud PBX with Office 365 Webinar Slides
 
Build and extend applications for Office 365 with PowerApps and Flow
Build and extend applications for Office 365 with PowerApps and FlowBuild and extend applications for Office 365 with PowerApps and Flow
Build and extend applications for Office 365 with PowerApps and Flow
 
SharePoint 2013 in a hybrid world
SharePoint 2013 in a hybrid worldSharePoint 2013 in a hybrid world
SharePoint 2013 in a hybrid world
 
Intro to web api with dynamics 365
Intro to web api with dynamics 365Intro to web api with dynamics 365
Intro to web api with dynamics 365
 
Next Level Learning IT Track - Office 365, Under the Covers
Next Level Learning IT Track - Office 365, Under the CoversNext Level Learning IT Track - Office 365, Under the Covers
Next Level Learning IT Track - Office 365, Under the Covers
 
How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...
How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...
How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...
 
Crm saturday madrid 2017 3 mosqueteros demian-marco-mario
Crm saturday madrid 2017   3  mosqueteros demian-marco-marioCrm saturday madrid 2017   3  mosqueteros demian-marco-mario
Crm saturday madrid 2017 3 mosqueteros demian-marco-mario
 
Sldo. albuja hector
Sldo. albuja hectorSldo. albuja hector
Sldo. albuja hector
 

More from OutSystems

Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital MediaInnovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital MediaOutSystems
 
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative TechnologyBeyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative TechnologyOutSystems
 
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...OutSystems
 
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-OutFrom Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-OutOutSystems
 
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...OutSystems
 
Fast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical ApplicationFast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical ApplicationOutSystems
 
What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?OutSystems
 
Enrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With LayersEnrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With LayersOutSystems
 
Speed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class CitizensSpeed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class CitizensOutSystems
 
Responsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseResponsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseOutSystems
 
Reactive Web Best Practices
Reactive Web Best PracticesReactive Web Best Practices
Reactive Web Best PracticesOutSystems
 
RADS - Rapid Application Design Sprint
RADS - Rapid Application Design SprintRADS - Rapid Application Design Sprint
RADS - Rapid Application Design SprintOutSystems
 
Pragmatic Innovation
Pragmatic InnovationPragmatic Innovation
Pragmatic InnovationOutSystems
 
Troubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceTroubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceOutSystems
 
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...OutSystems
 
Neo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems ArchitectNeo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems ArchitectOutSystems
 
Measure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile ApplicationsMeasure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile ApplicationsOutSystems
 
Link Users to Your Specific Page in a Mobile App With Deeplinks
Link Users to Your Specific Page in a Mobile App With DeeplinksLink Users to Your Specific Page in a Mobile App With Deeplinks
Link Users to Your Specific Page in a Mobile App With DeeplinksOutSystems
 
Launching a BPT Process on Entity Update
Launching a BPT Process on Entity UpdateLaunching a BPT Process on Entity Update
Launching a BPT Process on Entity UpdateOutSystems
 
Setting up a Tech Innovation Lab in a Traditional Grocery Retail Environment
Setting up a Tech Innovation Lab in a Traditional Grocery Retail EnvironmentSetting up a Tech Innovation Lab in a Traditional Grocery Retail Environment
Setting up a Tech Innovation Lab in a Traditional Grocery Retail EnvironmentOutSystems
 

More from OutSystems (20)

Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital MediaInnovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
 
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative TechnologyBeyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
 
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
 
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-OutFrom Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
 
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
 
Fast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical ApplicationFast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical Application
 
What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?
 
Enrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With LayersEnrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With Layers
 
Speed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class CitizensSpeed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class Citizens
 
Responsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseResponsive Ui with Realtime Database
Responsive Ui with Realtime Database
 
Reactive Web Best Practices
Reactive Web Best PracticesReactive Web Best Practices
Reactive Web Best Practices
 
RADS - Rapid Application Design Sprint
RADS - Rapid Application Design SprintRADS - Rapid Application Design Sprint
RADS - Rapid Application Design Sprint
 
Pragmatic Innovation
Pragmatic InnovationPragmatic Innovation
Pragmatic Innovation
 
Troubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceTroubleshooting Dashboard Performance
Troubleshooting Dashboard Performance
 
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
 
Neo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems ArchitectNeo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems Architect
 
Measure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile ApplicationsMeasure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile Applications
 
Link Users to Your Specific Page in a Mobile App With Deeplinks
Link Users to Your Specific Page in a Mobile App With DeeplinksLink Users to Your Specific Page in a Mobile App With Deeplinks
Link Users to Your Specific Page in a Mobile App With Deeplinks
 
Launching a BPT Process on Entity Update
Launching a BPT Process on Entity UpdateLaunching a BPT Process on Entity Update
Launching a BPT Process on Entity Update
 
Setting up a Tech Innovation Lab in a Traditional Grocery Retail Environment
Setting up a Tech Innovation Lab in a Traditional Grocery Retail EnvironmentSetting up a Tech Innovation Lab in a Traditional Grocery Retail Environment
Setting up a Tech Innovation Lab in a Traditional Grocery Retail Environment
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

Integrate OutSystems With Office 365

  • 1. | Integrate OutSystems with Office 365 Integrate OutSystems with Office 365 The #1 Low Code platform combined with the #1 Cloud Office Service Provider.
  • 2. | Integrate OutSystems with Office 365| Integrate OutSystems with Office 365 Martijn Habraken Business Unit Manager | Transfer Solutions @ in martijn.habraken@transfer-solutions.com /martijnhabraken
  • 3. | Integrate OutSystems with Office 365 In 20 minutes you should learn more about: ● Microsoft’s Integration Gateway; ● Authorize your Users or Applications; ● Search your Cloud Data; ● What’s already available in the OutSystems Forge;
  • 4. | Integrate OutSystems with Office 365 Microsoft Graph is the gateway to data and intelligence in Microsoft 365.
  • 5. | Integrate OutSystems with Office 365
  • 6. | Integrate OutSystems with Office 365 Use cases ● Unified communication; ■ Customer Service; ■ Get/Send emails from one application; ■ Get/Create smart meeting requests; ■ Administrative portals; ● Company Directory;
  • 7. | Integrate OutSystems with Office 365| Change session name in master slide Let’s get technical!
  • 8. | Integrate OutSystems with Office 365 Authentication ● Using OAuth 2.0 protocol; ■ Get authorization code; ■ Get access & refresh token; ● Use tokens; ■ Access token to call API’s; ■ Refresh token when Access token becomes invalid;
  • 9. | Integrate OutSystems with Office 365
  • 10. | Integrate OutSystems with Office 365| Change session name in master slide First Step
  • 11. | Integrate OutSystems with Office 365 Register your application in Azure ● Login to Azure; ■ portal.azure.com; ● Register your app; ■ Via Azure Active Directory; ■ Via App Registration; ● Get Application Id;
  • 12. | Integrate OutSystems with Office 365| Change session name in master slide Get Access on behalf of a User
  • 13. | Integrate OutSystems with Office 365 Send your user to a Microsoft Login page {A} = Application Code {B} = Your Callback page in OutSystems {C} = The information you want to retrieve from Microsoft Graph {D} = Your Identifier https://login.microsoftonline.com /common/oauth2/v2.0/authorize? client_id={A} &response_type=code &redirect_uri={B} &response_mode=query &scope={C} &state={D}
  • 14. | Integrate OutSystems with Office 365
  • 15. | Integrate OutSystems with Office 365
  • 16. | Integrate OutSystems with Office 365
  • 17. | Integrate OutSystems with Office 365| Change session name in master slide Get Access without a User
  • 18. | Integrate OutSystems with Office 365 Set API Permissions
  • 19. | Integrate OutSystems with Office 365 Needs to be approved by Administrator
  • 20. | Integrate OutSystems with Office 365| Change session name in master slide Get the Access Token
  • 21. | Integrate OutSystems with Office 365 As a User {A} = Your Application Code {B} = The information you want to retrieve from Microsoft Graph {C} = Your Authorization Code (from previous step) {D} = Your callback page {E} = Your Application Secret (available in Azure) {F} = Your Organization Tenant (available in Azure) POST https://login.microsoftonline.com /common/oauth2/v2.0/token Body client_id={A} &scope={B} &code={C} &redirect_uri={D} &grant_type=authorization_code &client_secret={E} Without a User POST https://login.microsoftonline.com/{F}/o auth2/v2.0/token Body client_id={A} &scope={B} &client_secret={E} &grant_type=client_credentials
  • 22. | Integrate OutSystems with Office 365 Now you have everything you need! Response { "token_type": "Bearer", "expires_in": 3599, "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUza..." }
  • 23. | Integrate OutSystems with Office 365 Sample Request IMPORTANT: Use the Access token in the Header like. GET https://graph.microsoft.com/v1.0/me Headers Authorization: Bearer {Access Token} Response HTTP/1.1 200 OK Content-type: application/json Content-length: 491 { "businessPhones": [ "businessPhones-value" ], "displayName": "displayName-value", "givenName": "givenName-value", "jobTitle": "jobTitle-value", "mail": "mail-value", "mobilePhone": "mobilePhone-value", "officeLocation": "officeLocation-value", "preferredLanguage": "preferredLanguage-value", "surname": "surname-value", "userPrincipalName": "userPrincipalName-value", "id": "id-value" }
  • 24. | Integrate OutSystems with Office 365| Change session name in master slide Office 365 Connector
  • 25. | Integrate OutSystems with Office 365 Office 365 Connector ● Available in the Forge; ● Soon to be upgraded to include ‘Application Permission’; ● Hopefully soon trusted by the OutSystems community; https://www.outsystems.com/forge/component-versions/1119
  • 26. | Integrate OutSystems with Office 365| Integrate OutSystems with Office 365 Please visit our other presentations Oct 29. 15:30 - The 4 Layer Canvas in Practise (Marlies Quaadgras) Oct 30. 13:50 - Integrate with Office 365 (Martijn Habraken) Oct 30. 14:35 - Responsive UI With Realtime database (Martijn Habraken) Oct 30. 15:30 - Enter the O-Zone: OutSystems & Oracle (Matthieu de Graaf) Oct 30. 15:30 - Unattended OutSystems Installation (Herman Slange & Nicolay Moot)
  • 27. | Integrate OutSystems with Office 365 Thank You! @ in martijn.habraken@transfer- solutions.com/martijnhabraken