SharePoint Saturday Lisbon has been rebranded, and it is now Collabdays Lisbon. Don’t worry, it is still organized by the same people and maintains the same spirit as in previous years.
Collabdays Lisbon is a community-driven event dedicated to all that is great about SharePoint and now also: Office 365 and Azure. At the moment, due to the COVID-19 pandemic, this will be a one-day free virtual event and I will be there presenting a session about Power Automation: Best practices, tips, and tricks
Power Automation: Best practices, tips, and tricks
As I mentioned before, my session will be all about best practices and small tips and tricks that we can apply to our Power Automate flows. For those reasons, I would like you to invite you to join me at the Collabdays Lisbon virtual event next Saturday, October 10, 2020.
Abstract: Power Automation: Best practices, tips and tricks
In this session, we will do a reflection to your existing Power Automation flow’s and when thru a list of must-have best practices, tips, and tricks that will allow you to build more reliable and effective flows. At the same time, these will allow you to be more productive and document your flow’s from the beginning.
Join us and reserve your presence at the Collabdays Lisbon virtual event, it is free!
In October, I did a major rearrange and release of my stencils pack mainly because Microsoft redesigned many of the icons present in the Azure Portal, but and guess what? Microsoft didn’t stop it yet. And several of the symbols that suffer a redesigned they already have a new version. So I decide that it is time for me to update my stencils once again, but instead of spending a lot of time and release everything at the same time, like I did last time, I decided this time I will do it in small waves.
What’s new in this version?
The main goal of this release was to provide the new icons present in the Azure Portal and update existing ones. In this version, the changes and additions are:
New shapes: New shapes added on MIS Security and Governance, MIS Developer Stencils and MIS IoT Devices Stencils;
MIS Security and Governance: Complete update to this category with many unique symbols added and updating many others to there current stencils;
SVG Files: Add new SVG files, and uniform all the filenames;
Special Highlights: Azure Arc and Machines – Azure Arc
Microsoft Integration, Azure, Power Platform, Office 365 and much more Stencils Pack
Microsoft Integration, Azure, Power Platform, Office 365 and much more Stencils Pack it’s a Visio package that contains fully resizable Visio shapes (symbols/icons) that will help you to visually represent On-premise, Cloud or Hybrid Integration and Enterprise architectures scenarios (BizTalk Server, API Management, Logic Apps, Service Bus, Event Hub…), solutions diagrams and features or systems that use Microsoft Azure and related cloud and on-premises technologies in Visio 2016/2013:
BizTalk Server
Microsoft Azure
Integration
Integration Service Environments (ISE)
Logic Apps and Azure App Service in general (API Apps, Web Apps, and Mobile Apps)
Azure API Management
Messaging: Event Hubs, Event Grid, Service Bus, …
Azure IoT and Docker
AI, Machine Learning, Stream Analytics, Data Factory, Data Pipelines
SQL Server, DocumentDB, CosmosDB, MySQL, …
and so on
Microsoft Power Platform
Microsoft Flow
PowerApps
Power BI
Office365, SharePoint,…
DevOps and PowerShell
Security and Governance
And much more…
… and now non-related Microsoft technologies like:
SAP Stencils
The Microsoft Integration Stencils Pack is composed of 27 files:
Microsoft Integration Stencils
MIS Additional or Support Stencils
MIS AI and Machine Learning Stencils
MIS Apps and Systems Logo Stencils
MIS Azure Additional or Support Stencils
MIS Azure Mono Color
MIS Azure Old Versions
MIS Azure Others Stencils
MIS Azure Stencils
MIS Buildings Stencils
MIS Databases and Analytics Stencils
MIS Deprecated Stencils
MIS Developer Stencils
MIS Devices Stencils
MIS Files Stencils
MIS Generic Stencils
MIS Infrastructure Stencils
MIS Integration Fun
MIS Integration Patterns Stencils
MIS IoT Devices Stencils
MIS Office365
MIS Power BI Stencils
MIS PowerApps and Flows Stencils
MIS SAP Stencils
MIS Security and Governance
MIS Servers (HEX) Stencils
MIS Users and Roles Stencils
That you can use and resize without losing quality, in particular, the new shapes.
It was only 3 days ago that I released the latest version of this package, but someone (aka Wagner Silveira) alerted me to the existence of new shiny icons in the Azure Portal… so I decided it would be a good time to launch a new major release and here it is! I hope you guys enjoy.
Microsoft Integration, Azure, Power Platform, Office 365 and much more Stencils Pack it’s a Visio package that contains fully resizable Visio shapes (symbols/icons) that will help you to visually represent On-premise, Cloud or Hybrid Integration and Enterprise architectures scenarios (BizTalk Server, API Management, Logic Apps, Service Bus, Event Hub…), solutions diagrams and features or systems that use Microsoft Azure and related cloud and on-premises technologies in Visio 2016/2013:
BizTalk Server
Microsoft Azure
Integration
Integration Service Environments (ISE)
Logic Apps and Azure App Service in general (API Apps, Web Apps, and Mobile Apps)
Azure API Management
Messaging: Event Hubs, Event Grid, Service Bus, …
Azure IoT and Docker
AI, Machine Learning, Stream Analytics, Data Factory, Data Pipelines
SQL Server, DocumentDB, CosmosDB, MySQL, …
and so on
Microsoft Power Platform
Microsoft Flow
PowerApps
Power BI
Office365, SharePoint,…
DevOps and PowerShell
Security and Governance
And much more…
… and now non-related Microsoft technologies like:
SAP Stencils
The Microsoft Integration Stencils Pack is composed of 27 files:
Microsoft Integration Stencils
MIS Additional or Support Stencils
MIS AI and Machine Learning Stencils
MIS Apps and Systems Logo Stencils
MIS Azure Additional or Support Stencils
MIS Azure Mono Color
MIS Azure Old Versions
MIS Azure Others Stencils
MIS Azure Stencils
MIS Buildings Stencils
MIS Databases and Analytics Stencils
MIS Deprecated Stencils
MIS Developer Stencils
MIS Devices Stencils
MIS Files Stencils
MIS Generic Stencils
MIS Infrastructure Stencils
MIS Integration Fun
MIS Integration Patterns Stencils
MIS IoT Devices Stencils
MIS Office365
MIS Power BI Stencils
MIS PowerApps and Flows Stencils
MIS SAP Stencils
MIS Security and Governance
MIS Servers (HEX) Stencils
MIS Users and Roles Stencils
That you can use and resize without losing quality, in particular, the new shapes.
What’s new in this version?
I still have many things to do in this project in terms of organization and cleaning some resources but I will leave that for another occasion. The main goal of this release was to provide the new icons present in Azure Portal. In this version the changes and additions are:
New shapes: I think almost all the new shapes layout present in Azure Portal are now added in this package.
New categories: MIS Azure Mono Color, MIS Azure Old Versions, MIS Azure Others, MIS Integration Fun;
Categories Renaming: MIS Databases and Analytics and MIS AI and Machine Learning
SVG Files: The SVG files, from all these new resources, are now available on GitHub
Microsoft Integration, Azure, Power Platform, Office 365 and much more Stencils Pack it’s a Visio package that contains fully resizable Visio shapes (symbols/icons) that will help you to visually represent On-premise, Cloud or Hybrid Integration and Enterprise architectures scenarios (BizTalk Server, API Management, Logic Apps, Service Bus, Event Hub…), solutions diagrams and features or systems that use Microsoft Azure and related cloud and on-premises technologies in Visio 2016/2013:
BizTalk Server
Microsoft Azure
Integration
Integration Service Environments (ISE)
Logic Apps and Azure App Service in general (API Apps, Web Apps, and Mobile Apps)
Azure API Management
Messaging: Event Hubs, Event Grid, Service Bus, …
Azure IoT and Docker
AI, Machine Learning, Stream Analytics, Data Factory, Data Pipelines
SQL Server, DocumentDB, CosmosDB, MySQL, …
and so on
Microsoft Power Platform
Microsoft Flow
PowerApps
Power BI
Office365, SharePoint,…
DevOps and PowerShell
Security and Governance
And much more…
… and now non-related Microsoft technologies like:
SAP Stencils
The Microsoft Integration Stencils Pack is composed of 23 files:
Microsoft Integration Stencils v4.0.2
MIS Additional or Support Stencils v4.0.0
MIS AI Stencils v4.0.0
MIS Apps and Systems Logo Stencils v4.0.0
MIS Azure Additional or Support Stencils v4.0.0
MIS Azure Others Stencils v4.0.0
MIS Azure Stencils v4.0.2
MIS Buildings Stencils v4.0.0
MIS Databases Stencils v4.0.0
MIS Deprecated Stencils v4.0.0
MIS Developer Stencils v4.0.0
MIS Devices Stencils v4.0.0
MIS Files Stencilsv4.0.0
MIS Generic Stencils v4.0.0
MIS Infrastructure Stencils v4.0.0
MIS Integration Patterns Stencils v4.0.0
MIS IoT Devices Stencils v4.0.0
MIS Office365 v4.1.0
MIS Power BI Stencils v4.0.0
MIS PowerApps and Flows Stencils v4.0.0
MIS SAP Stencils v4.0.0
MIS Security and Governance
MIS Servers (HEX) Stencils v4.0.0
MIS Users and Roles Stencils v4.0.0
That you can use and resize without losing quality, in particular, the new shapes.
What’s new in this version?
I’m doing some changes in the project in terms of organization and resources but instead of taking too much time doing it from top to bottom, I will be releasing small versions until the job is done. In this version the changes and additions are:
New shapes: near 50 new shapes have been added:
3 related to Microsoft Intune – a requested from a community member;
47 related to Security and Governance;
New category: I add a new file to the project called: Security and Governance with 47 shapes;
SVG Files: I’m starting to provide also the SVG files, from all these resources. At the moment these new shapes that were released in this version are now available in SVG Files on GitHub
Recently on Serveless360, a community blog that I contribute, I explain how you able to expose an Azure Logic App as an API using Azure API Management (APIM) you can see more details about it here: How to Expose and protect Logic App using Azure API Management (Part 1) – Exposing the Logic App. Today’s question is: Can we do the same with Microsoft Flow? Can we expose a Microsoft Flow that exposes an HTTP endpoint as an API on APIM?
And the short answer is… yes yes! It not as easier as Logic Apps because you don’t have a direct and seamless way to do it, but it can manually be done. And the goal of this blog post is explained to you how to accomplish that.
What is Azure API Management?
Is not the goal of this blog post but for you to be contextualized, if you are not familiar with APIM, in a simple way, Azure API Management is a fully managed service that enables customers to publish, secure, transform, maintain, and monitor APIs.
And it will allow you in a matter of a few clicks in the Azure Portal, most of the times, for you to create an API façade that acts as a “front door” through which external and internal applications can access data or business logic implemented by your custom-built backend services, running on Azure, for example, Logic Apps, App Services, or other many services or running on-premises in your organization. The APIM then will be able to handle all the tasks involved in mediating API calls, like request authentication and authorization, rate limit and quota enforcement, request and response transformation, logging and tracing, and/or API version management.
APIM is made up of the following components:
The API gateway is the endpoint that:
Accepts API calls and routes them to your backends.
Verifies API keys, JWT tokens, certificates, and other credentials.
Enforces usage quotas and rate limits.
Transforms your API on the fly without code modifications.
Caches backend responses were set up.
Logs call metadata for analytics purposes.
The Azure portal (old Publisher Portal) is the administrative interface where you set up your API program. Use it to:
Define or import API schema.
Package APIs into products.
Set up policies like quotas or transformations on the APIs.
Get insights from analytics.
Manage users.
The Developer portal serves as the main web presence for developers, where they can:
Read API documentation.
Try out an API via the interactive console.
Create an account and subscribe to get API keys.
Access analytics on their usage.
Note: in this blog post, I will not explain how you create an API Management resource on Azure.
Exposing a Microsoft Flow on Azure API Management
Triggered using an HTTP based trigger
The important thing, it needs to be triggered using an HTTP based trigger like the Request trigger.
Like Logic Apps, you can only expose a Microsoft Flow that is triggered using an HTTP based trigger like the Request trigger. Basically, that exposes an HTTP endpoint, on your APIM.
Exposing Microsoft Flow on Azure API Management
I told earlier that exposing a Microsoft Flow, it is not as easier as Logic Apps because you don’t have a direct and seamless way to do it.
The Microsoft APIM team has done a very good job and they created an intuitive and quite easy experience that quickly allows developers or administrators to add new APIs to APIM based on an Azure Logic Apps, if you try to add a new API you will get a “wizard” that you can actually choose to import a Logic App, and it will do everything for you:
So, for us to replicate the “Add Logic App” wizard and accomplish the goal of exposing a Flow on APIM we need to:
First, we need to access to our Flow by accessing the Flow portal: https://flow.microsoft.com/ and sign in with your account
In flow.microsoft.com, select My flows in the top navigation bar, and from the list of Flows, choose the flow you want to expose on APIM and select the Edit button.
On the Flow Designer (or editor) click on top of the HTTP trigger to expand it and copy the HTTP POST URL property
We will need that URL in order to expose it in APIM.
Now that we have our Flow URL we can go ahead and start configuring our APIM:
Access to your APIM on the Azure Portal (old Publisher Portal that is now built-in inside the Azure Portal;
And on the left menu, under API Management section, click the API option
By doing that under the All APIs section you will see the list of all APIs that you are already available, and on the main panel you will find several different options to add a new API to your list:
From scratch – Blank API;
Export based on an OpenAPI, WADL or WSDL specification;
Or based on an Azure Service:
Logic App
API App
Or a Function App
In our case, we will be creating from the scratch, so go and press Blank API option
And then let’s fill the creation form like this:
On the Display name property give your API a name. I will call it “My Flow Demo”
On the Name property, you may change the “internal” name. I will suggest leaving like that: “my-flow-demo”
On the Web service URL property, paste the HTTP POST URL that we get from the Flow but only until the “triggers” word – Do not place the full
You can put the full URL, but in this post, we will try to emulate almost all the steps that the APIM Logic App wizard does
On the API URL suffix property, give a prefix to your API, for example: flowdemo
On the Products property, you can bind this API to a product at this time or leave it blank. I will set mine as “Started”
And finally, press Create
What we need to do now is create our “manual-invoke” operation, to do that we need to do:
Under our “My Flow Demo” API Design section, click + Add operation button
And:
On the Display name property give a name to the operation, I will call it “manual-invoke
By the way, it doesn’t need to call this name, once again, we will use it just to emulate the API Logic App wizard behavior
On the Name property, leave the default value: “manual-invoke”
On the URL property:
Set the operation to POST
And set the URL like “/manual/paths/invoke”
On the Description property, you may give a proper description for the operation, in our case, let’s put: Trigger a run of the Flow.
Leave the rest of the configurations, we will deal with them later and go ahead and press Save
Now that we have the basic outline of our operation let’s go ahead and configure it properly. To do that we need to:
Select the “manual-invoke” operation and then click on the Frontend edit button
And from the Frontend panel, select the Request option and them + Add representation button
Set the Content type as “application/json”
Provide a sample request on the Sample property
And in the Definition property, select + New definition
This will take your provide sample and generate the schema for you
Just give a definition a name on the Definition name property: request-manual
And then click Create definition button
Go ahead and press Save once again
Now let’s do the same for the Response. Once again, click on the Frontend edit button
And from the Frontend panel, select the Responses option and them + Add response button
Because my Flow doesn’t return any message back, instead of selecting the normal 200 OK HTTP Status, I will change that to be a 202 Accepted instead. So, on the response type select from the dropdown the 202 Accepted status and then press Save.
Now that we have our Request and Response defined, the only thing we need to configure our policy properly, remember that in the API URL, we didn’t configure the entire URL. To do that we need to:
Select the “manual-invoke” operation and then click on the Inbound processing Policies code editor button
And in the Inbound policy we need to rewrite the URI, here is a sample of the policy you need to implement
Note: The only thing we didn’t do that the APIM Logic App wizard does is to create a key/value containing the “sig” property of the URL
Now we are all set to test our API.
Testing the Microsoft Flow exposed in Azure API Management
After all the above steps, the next step is for us to test the Logic App expose as an API on APIM before we give access to our developers, teams, or partners. And the easier way to do that is directly on the Azure Portal.
To do that you need to:
Under the API top options menu, select Test option, and in this case, there is only one operation, so automatically is selected;
On the Request body section, select Raw option and insert a valid and expected request to be sent to your Microsoft Flow;
And finally, press Send.
And after that, you will see an expected response from the Microsoft Flow.
And we can check that the Flow was executed.
It failed because the payload is incorrect but other that everything is ok. We successfully exposed and trigger the Microsoft Flow from Azure API Management.
Due to personal requests from some members of the community, I decided to release another minor version of my stencils pack that will include the following features:
New shapes: new shapes were added to existing modules like:
Logic App Inline Code (square – original that you can find in Logic App design)
Logic App Inline Code JS (square – original that you can find in Logic App design)
Logic App Inline Code (Custom shape version 1)
Logic App Inline Code (Custom shape version 2)
Secure Message Input
Secure Message Output
Microsoft Integration, Azure, Power Platform, Office 365 and much more Stencils Pack it’s a Visio package that contains fully resizable Visio shapes (symbols/icons) that will help you to visually represent On-premise, Cloud or Hybrid Integration and Enterprise architectures scenarios (BizTalk Server, API Management, Logic Apps, Service Bus, Event Hub…), solutions diagrams and features or systems that use Microsoft Azure and related cloud and on-premises technologies in Visio 2016/2013:
BizTalk Server
Microsoft Azure
Integration
Integration Service Environments (ISE)
Azure App Service (API Apps, Web Apps, Mobile Apps, and Logic Apps)
Event Hubs, Event Grid, Service Bus, …
API Management
IoT, and Docker
Machine Learning, Stream Analytics, Data Factory, Data Pipelines
and so on
Microsoft Power Platform
Microsoft Flow
PowerApps
Power BI
PowerShell
Infrastructure, IaaS
Office 365
And many more…
… and now non-related Microsoft technologies like:
To finalize these sessions resources shared, at least for now because I’m still waiting for other resources to get available. Here is one that I forgot even to mention in my blog that I was speaking at that event: the MVPDays Microsoft Flow Conference 2018 that toked place online on December,12 of last year (http://www.mvpdays.com/?page_id=11493). This was my first session about real case scenarios using PowerApps and Microsoft Flow.
About my session
Session Name: How we use Microsoft Flow and PowerApps: Real cases scenarios
Session Overview: We know that all business problem can be solved with a variety of technologies and different solutions. However, sometimes developing that type of solutions has traditionally been too costly and time-consuming for many of the need’s teams and departments face, especially those projects that are internally for organizations to use or for a short time period. As a result, many of these projects or solutions will be on the shelf or in the imaginary of the collaborators.
They are in Dynamics 365, Office 365, on premises, on the cloud… they are everywhere, and they are fantastic! Developers can do it; IT can do it… you can do it!
Microsoft Flow and PowerApps, sometimes together sometimes isolated are here to help you, and in this session, we will show you real live scenarios on how we use these two technologies in our customers and internally at DevScope.
Slides and Video
MVPDays Microsoft Flow Conference 2018 | How we use Microsoft Flow and PowerApps: Real cases scenarios
I’m super excited for presenting from the first time in Spain, I been presented in several places all over Europe and North America, but I never had a chance to go to my neighbor country to present a session. I think two years ago I promise to the organizers of this event that I would join them if they want, last year was impossible for me because my son was born more or less in the same period, but this year I’ll fulfill the promise I made and I will be there showing real case scenarios about Logic Apps and Microsoft Flow on a talk with the following title: “Real case implementations using Azure Logic Apps and/or Microsoft Flows”
Abstract
We know that all business problem can be solved with a variety of technologies and different solutions. However, sometimes developing that type of solutions has traditionally been too costly and time-consuming for many of the need’s teams and departments face, especially those projects that are internally for organizations to use or for a short time period. As a result, many of these projects or solutions will be on the shelf or in the imaginary of the collaborators.
In this session, I will show you real live scenarios on how we at DevScope are using Microsoft Integration features like Logic Apps, API Management, API’s and Microsoft Flows. Using also a variety of related Azure technologies like PowerApps and Power BI to:
First, improve our internal processes like expenses reports, time reports and so on;
And, secondly, how the first step helps us out to extend our product and our business by exporting these same approaches and concepts to our clients
This will be a lightweight talk addressing some real scenarios and show these in action
Global Integration Bootcamp 2019 Madrid Agenda
8:45 – 09:00 – Welcome reception
09:00 – 09:30 – “Industry 4.0: Remote and Predictive Maintenance with IoT” by Félix Mondelo and Osman Hawari
09:30 – 10:15 – “Azure API Management y su aplicación práctica” by Luis Ruiz Pavón
10:15 – 11:00 – “Event Grid, Colega, ¿Qué pasa en mi nube?” by Nacho Fanjul
11:00 – 11:45 – Coffee Break
11:45 – 12:00 – “Geoposicionando tus datos con Azure Maps y Cognitive service” by Sergio Hernández y Alberto Díaz
12:00 – 12:45 – “Real case implementations using Azure Logic Apps and/or Microsoft Flows” by Sandro Pereira
12:45 – 13:30 – “TU y Cognitive Services” by Javier Menéndez Pallo
13:30 – 14:15 – “Intercambiando Mensajes con NServiceBus” by José Luque Ballesteros
14:15 – 15:00 – “Arquitecturas basadas en Microservicios” by Francisco Nieto
This is a free event with very limited seats that you will not want to miss, register now!
Microsoft Integration, Azure, BAPI, Office 365 and much more Stencils Pack it’s a Visio package that contains fully resizable Visio shapes (symbols/icons) that will help you to visually represent On-premise, Cloud or Hybrid Integration and Enterprise architectures scenarios (BizTalk Server, API Management, Logic Apps, Service Bus, Event Hub…), solutions diagrams and features or systems that use Microsoft Azure and related cloud and on-premises technologies in Visio 2016/2013:
BizTalk Server
Microsoft Azure
Azure App Service (API Apps, Web Apps, Mobile Apps, and Logic Apps)
Event Hubs, Event Grid, Service Bus, …
API Management, IoT, and Docker
Machine Learning, Stream Analytics, Data Factory, Data Pipelines
and so on
Microsoft Flow
PowerApps
Power BI
PowerShell
Infrastructure, IaaS
Office 365
And many more…
… and now non-related Microsoft technologies like:
SAP Stencils
What’s new in this version?
New shapes: new shapes were added to existing modules like Generic, Azure, AI, Developer, Files or Users. But in particular a new module was born:
MIS SAP Stencils contains stencils that will represent some SAP services
Or from: Microsoft Integration and Azure Stencils Pack for Visio 2016/2013 v3.1.0 (18,6 MB) Microsoft | TechNet Gallery
Author: Sandro Pereira
Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community. View all posts by Sandro Pereira
Yes, if you want to visit Porto, my city and a destination that has been fashionable due to the various awards, nominations, and mentions all across the world like:
Elected as the most romantic city in the world;
Elected the best destination in the world;
I think 3 years in a row as best European destination;
Many travelers believe the most beautiful McDonald’s in the world is in Porto;
One of the most beautiful libraries in the world;
and many other crazy nominations…
Personally, I believe that today we living in a fanatical environment of everyone or everything wanting to be the best in the world, the honest reality is that Porto is a beautiful place like many others in the world and I recommend you to visit… and I have just a perfect romantic and traditional place for you!
Casa Sr. José (Mr. Joseph’s house) is my AIRBNB host, as traditional and recently renovated house that is at a walking distance from the Douro River (1 min – 78 m) in the beautiful and typical Porto civil parish of Massarelos. Located in the heart of Porto, next to the Douro River, is a perfect spot that is near to almost everything: Porto´s Unesco World Heritage historical center (10 mins); Foz do Douro (10 min) were Douro river and the Atlantic Ocean meet (beach); and near of 1 most well-known landmarks of Porto: the Clérigos Tower (10 min) and it is available for all you that once again, want to visit Porto.
This is my non-technology pet project and I love it but it also gives me some challenges, challenges that I’m trying to solve with technology.
One of these challenges is that in Portugal, as well as in most European countries, all paid accommodation establishments need to record the stay and collect identification details from all foreign citizens, whether they are from the Member States of the European Union or Third Country Nationals, in order to communicate them within three days to the Immigration and Borders Service. At the moment, I have a very rudimentary process in place:
A form paper (Ficha de hóspede / Guest card / Carte d’invité) that the guests need to fill once they arrive;
I have to go to the house to get the form;
The guests don’t need to be there if they allow me to enter the house to grab the form;
Otherwise, I need to arrange a date hour with them to grab the form;
I then need to access to the SEF (Serviço de Estrangeiros e Fronteiras – Foreign Service and borders) online portal, authenticate with my account and manually fill an online form (SIBA – Sistema de Informação de Boletins de Alojamento – Accommodation Bulletin) with the information of all guests like:
Full name
Date of birth
Nationality
Country of residence
And so on
and submit the accommodation bulletin to SEF.
This is a very time-consuming task and inconvenient for both me and the guests:
I need to “annoy” the guests to access “their house for a week” or arrange a date/hour for them to meet with me to give me the form;
I then need to understand the hand write and type everything to an only form;
And so on
Again all of these are time-consuming tasks.
This week, and I’m being an integration guy, my mind automatically started to think:
How can I easily automate these tasks?
But it needs to be user-friendly to my guests;
And it needs to be easier for my wife to understand, to share with the guest and to control and… she is not a technical person;
If I started to speak in terms of Flow, Azure or anything else… she will say no! I don’t know what you are talking about.
In the end, I elaborated a process with two parts:
Part 1: the first approach to address and expedite our interaction with our guests;
Part 2: my end goal, fully integrated;
In this post, I will address Part 1, the one that is at the moment in-place.
How Microsoft Forms and Microsoft Flow allows me to better interact and automate my Porto Airbnb host processes?
The first thing I decide to do was an Online Form for the guest to fill, instead of using a paper. This could be done with several options online: Google Spreadsheet and Form; Formstack; Cognito Forms and so on. I choose to use Microsoft Forms, to do that you need to
Sign in with your Office 365 school credentials, Office 365 work credentials, or Microsoft account (Hotmail, Live, or Outlook.com).
Under “My Forms”, click “New Form” to begin creating your form.
You should enter a name for your form, and you can also enter an optional subtitle and picture.
I decide to call my form name: “Ficha de hóspede / Guest card / Carte d’invité”
Add a picture and a subtitle with an explanation of why guest need to fill this form
Then, you need to start creating your questions. To do that you need:
Click “Add Question” to add a new question to the form.
By default you have the options “Choice”, “Text”, “Rating”, or “Date” questions, but you can always click to see more option under “…” button, and you can select from “Ranking”, “Likert”, or “Net Promoter Score®” questions.
In my case I added:
Two Date questions:
“Data de entrada / Check-in date / Date d’arrivée”
“Data de saída / Check-out date / Date de départ”
8 text questions:
“Nome completo /Full name / Nom complet (Person 1)”
“Data de Nascimento / Date of Birth / Date de Naissance (Person 1): dd/MM/yyyy”
“Local de Nascimento / Birthplace / Lieu de résidence (Person 1)”
“Local de Residência / Country of residence / Pays de résidence (Person 1)”
“País de residência / Country of residence / Pays de résidence (Person 1)”
“Numero de documento / Document number / Numéro de document (Person 1)”
“País emissor do documento / Country issuing the document / Pays délivrant le document (Person 1)”
1 choose question
“Tipo de documento / Document type (Person 1)”
And finally, a true/false question, that is basically another optional question
“Têm mais hóspedes? / Do you have more guests? / Avez-vous plus d’invités?”
And here is where the fun begins. Why this last question?
The first reason is that I need to deliver to SEF the information of all the guests and my house can host a maximum of 6 guests. But there is more… Because my house can host a maximum of 6 guests, I have to duplicate these questions 6 times, with the exception of the first two:
“Data de entrada / Check-in date / Date d’arrivée”
“Data de saída / Check-out date / Date de départ”
Because all of them are from the same booking. That’s why in my final form you will see the same question duplicated with the suffix: Person 2, Person 3… Person 6
But my first form draft didn’t have this last question. I add it becaus, without this question, the guests had to scroll until the bottom of the form to submit it, for example, if I was hosting a couple, they had to fill Person 1 and Person 2 information but them they had to scroll down passing all questions of person 3, 4, 5 and 6 to finally submit the form.
Again, to improve and provide the best user experience to my guest I decide to create this question and apply some logic inside allowing me to create like an array of guest information data – this doesn’t exist in Microsoft Forms by the way.
To accomplish that at the end of this list of questions for each guest I’m adding this last question:
“Têm mais hóspedes? / Do you have more guests? / Avez-vous plus d’invités?”
And add a branching logic to my form so that it changes according to the responses to that question. This way, If the guest says:
“Sim / Yes” it will show the list of questions for the second guest… and so on.
If “Não / No”, it will hide the rest of the questions and “go” directly to the end – “Submit”
Here is how the experience will look like if you say “No” or the default behavior:
And here is the behavior if you select or change to “Yes”:
For example, despite all questions in the form are mandatory, if I select or refer that I only have two guests, the form is smart to know that this is an optional pack of questions:
If you select that have a new guest you need to fill the questions for that specific guest, otherwise, it allows you to submit the previous questions, without having to fill dummy information for guests 3 to 6 for example.
This improved a lot the Form user experience with the guests.
To accomplish this, you need to:
Click the ellipses button (…) on the main menu, and then select Branching.
On the Branching options page, there are dropdown menus that appear with each answer under every question. Click the arrow to see a dropdown menu.
In this case, if I select the “Sim / Yes” option this should “Go” to question 13 that is the beginning of a new guest form
Basically, it shows the “second part” of the form
If you select “Não / No” it should go to the end of the form
Basically, it hides the rest of the form
And of course, I can share the form thru a URL, QR Code, thru an iframe on a webpage and by email.
Being the Microsoft Form
Microsoft Form is great to help to improve the interaction with my guests, but it allows me to go to a certain point but not solve all my problems/concerns.
Now that I have retrieved the data from my guests, the question is how I can automate my process my SEF and how can I notify the persons that are managing the house (me, my wife, my brother-in-law, and sister-in-law).
For that, I choose to use a Microsoft Flow that is triggered each time a new form Is submitted and automated these tasks. Unfortunately, do some restrictions I still cannot integrate directly to SEF thru API. I had to request access and I’m still waiting for their approval.
That is the reason why this is PART 1… end goal is to be fully automated without any manual process (PART 2).
So, to minimize the manual work, I decide that is this phase the Flow will go thru each question and notify us by email that a new form was submitted but also give us on the body email all the information submitted for us to be better to copy that information and fill the online SEF form and submit them – basically it would be a copy and past operation, instead of adding to manually type all the data which can lead to many mistakes. This way we are:
In flow.microsoft.com, select “My flows” in the top navigation bar, and then select “+ Create from blank” to create a Flow from scratch.
On the “Create a flow from blank”, select “Create from blank” to start the process of creating an empty Flow
On the Flow designer, on the Trigger event enter “Microsoft Forms” and select the option “When a new response is submitted” and pick the form you like from the dropdown list
Add the next step by clicking the “+New step” button and then choose the “Add an action” option
On the “Choose an action” window, enter “Variables” and select the action “Variables – Initialize variable”
On the Variable action configuration:
On the “Name” property, type “EmailBody”
On the “Type” property, specify the type as “String”
On the “Value” property leave it blank
Add the next step by clicking the “+New step” button and then choose the “Add an action” option
On the “Choose an action” window, enter “Control” and select the action “Apply to each”
On the Apply to each action configuration:
On the “Select an output from previous step” property, select from the list of tokens the “Key” token “List of response notifications” from the “When a new response is submitted” trigger
Inside the loop, add the next step by clicking the “+New step” button and then choose the “Add an action” option
On the “Choose an action” window, enter “Microsoft Forms” and select the action “Get response details”
On the action configuration:
On the “Form Id” property, pick once again the Form from the dropdown list
On the “Response Id” property, type the following expression
Add the next step by clicking the “+New step” button and then choose the “Add an action” option
On the “Choose an action” window, enter “Variables” and select the action “Variables – Append to string variable”
On the Variable action configuration:
On the “Name” property, select “EmailBody” variable
On the “Type” property leave it blank
Ficha de hóspedes:
<b>Data de entrada: </b> @{body('Get_response_details')['rfb0478a71c77463eb855db4a6617b596']}
<b>Data de saída: </b> @{body('Get_response_details')['rbad828de65664088a332fbbad18ba4c3']}
Hóspede 1:
<b>Nome completo: </b> @{body('Get_response_details')['r9bde314fe5ea4c74883f46750183bd0f']}
<b>Data de nascimento: </b>@{body('Get_response_details')['rf3e762220a604c578cca006c83d98756']}
<b>Nacionalidade: </b>@{body('Get_response_details')['r8b7428bfbda94eb684c0e43edbff0a87']}
<b>Local de nascimento: </b>@{body('Get_response_details')['r2c926c630529444e86ba53359b6adaf4']}
<b>Local de residência: </b>@{body('Get_response_details')['rddbf3f41f16e402b9dba65f49631c27c']}
<b>País de residência: </b>@{body('Get_response_details')['r52c69618890540e392dca6fd4f8f5fc0']}
<b>N. documento: </b>@{body('Get_response_details')['r9b9ee64cf84d42c89bd7770389ea94d9']}
<b>Tipo documento: </b>@{body('Get_response_details')['r48f5e4ecf66a48328269b656b034ddd1']}
<b>País emissor: </b>@{body('Get_response_details')['raa2bcdec2c6b4b5d8b3d17cd6f946a8a']}
Basically, all the tokens were added from the tokens list
And what we are doing is creating a string, king of a string builder, with the HTML email body with the guest information
Then we need to check if another guest was added and append that information by:
And then add a new condition by selecting “Add new action”, enter “Control” and select the action “Condition”
On the “Condition” configuration add the following condition:
If the first “Têm mais hóspedes? / Do you have more guests? / Avez-vous plus d’invités?” question value is equal to “Sim / Yes”
On the “If yes” branch
Choose the “Add an action” option and on the “Choose an action” window, enter “Variables” and select the trigger “Variables – Append to string variable”
And add the same previous code but this time with the data of the second guest
On the “If no” branch
Leave it without any action
Now we just need to do the same for the other 6 guests:
Finally, on the end send an email with that data to our host email address, to do that we need to:
Add the next step by clicking the “+New step” button and then choose the “Add an action” option
On the “Choose an action” window, enter “Mail” and select the action “Send an email notification”
On the action configuration:
On the “to” property, type your email
On the “Subject” property, type “Guest notification”
On the “Email Body” property, select from the list of tokens the “Key” token variable “EmailBody”
Give a proper name to the flow and save it
The end result
Each time a guest submits an Accommodation Bulletin I will be receiving an email with this format:
That will help my task to manually fulfill the SEF online form…. Until I completely automate this task.
And by the way… if you planning to visit Porto, have a chat with me, stay in our house and I may get you a discount: https://www.airbnb.pt/rooms/18272087?guests=1&adults=1
Author: Sandro Pereira
Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community. View all posts by Sandro Pereira