Client Side Salsa and Stairway to Heaven

Claiming Client Side Salsa and Stairway to heaven 

The harbour chief is leveraging M365 and Teams to get an overview and staff raids. 

To do this we have made a spfx Teams app. This of course uses React as a frontend framework. 

The app gets data from Dataverse and the harbour chief’s personal digital loot files in an Azure Storage account. The SAS key for accessing the storage account is of course kept in a key vault for the harbour chief’s eyes only. 

The SAS key is kept in key vault. 

The harbour chief has his own personal storage for his digital loot

The digital loot can be accessed by the harbour chief 

The harbour chief has an easy view of browsing pirates that are available for raids. 

The harbour chief has an easily automated way of staffing raids based on availability and scores.

The app suggests the best-suited crew for the raid. 

Stairway to heaven API’s

  1. Dataverse
  2. Keyvault
  3. Storage Account Azure

Microsoft could api <3

Let’s face it first rather than later, we do work with Microsoft technology, and what is better than combine a lot of them together in the same solution? Look at the screenshots under, with the text to every picture, and we’re sure you also think this is a stairway to heaven!

First of all, the canvas app we have created is connected to AD so I get my profile picture from AD when I open the app
And then we have a live sync with my Office account so I can se my calendar and shedule for the days i select.
And, of course we use PowerAutomate to update my personal information directly to the F&O tables so I can be used as it’s needed by the P-level management!

Onboarding flow for new pirate recruits

An important part of Pirates 365 Recruit is the onboarding flow:

The super-popular Pirate Recruitment Terminal (PRT) give a lot of leads, and it is important for the HR team not use too much time onboarding the pirates

We have created a Power Automae flow that automates much of this, with the following features

  • Generate Pirate Names (described in this post)
  • Generate Lead in Dataverse
  • Prompt adaptive card in Teams
  • Generate Azure AD user
  • Add newly generated Azure AD user to Azure AD group
  • Send SMS to recruit with login info and link to learning game

Power Automate Cloud Flow Overview

Creating Leads in Dataverse

After the pirate name is generated a lead is created in Dataverse

Usling Leads in Dataverse the recruitment team can collbaorate on the candidates – all integrated in the Recruitment Teams Channel.

Creating Adaptive cards

We are also posting adaptive cards to the team, and is possible directly from the adaptive card to accept the pirate recruit to go further down in the recruitment proccess

Generation of adaptive card. Generated in https://adaptivecards.io/ to get a nice design and actionable buttons

Create users in Azure AD, assignment to security roles and licenses

After the recruit is accepted the newly hired i created in Azure AD and given proper licenses and permissions

We are using Azure AD Security groups to dynamically assign licenses to the newly accepted pirate recruits

Here we see that they get Dynamics 365 Customer Engagement licenses – so they can use our powerapps with a lot of fancy premium features✌️

Last but not least – telling the newly hired pirates how to login by sending a SMS

After all this we need to notity the pirates how to log in

We send a SMS using the Norwegian SMS-provider “Sveve” which have a simple API.

We send the username and the generated password (which the recruit must change on first login)

A link to the pirate training is included, so the pirate can train to be a worthy pirate

Badges

We think this solution may qualifty for

  • Feature Bombing by using five different services in one flow
  • Power User Love by using a nice combination of Power Automate, Microsoft Teams and Dynamics 365
  • Stairway to heaven by using Azure AD API; Dataverse API and Teams API

API

We are using many different endpoints to get data from different sources. Some of them by using the sdks and some of them clean http requests:

-Azure Signal R (Hub):

-Azure Web Application:

https://app-acdc2022.azurewebsites.net/api/telemetry/GetTelemetriesWithTemperature

-Azure Maps Geolocation:

https://atlas.microsoft.com/mapData/{location}/status?api-version=1.0&subscription-key={subscription-key}

-IoT Central:

Internal service from IoT Central to LogicApp and Flow.

-Metamask:

The extension injects the Ethereum web3 API into every website’s javascript context, so that dapps can read from the blockchain. We use it when loggin in onhttps://smartzooapp.webflow.io/ :

Stairway to heaven – because heaven is a nice place

Microsoft with Azure and M365 expose a huge set of API’s for their products. Picking the right ones to ensure the utmost business value is key in any cloud solution today. Here’s three API’s highlighted in from our solutions.

Microsoft Graph API’s

Connector indexing and search for blog rollup in the intranet.

Graph Search API in action against a custom graph connector

Azure Cognitive Services – preview

For each pizza order we capture feedback. Collating the sentiment of the feedback is important in order to improve on pizza quality and delivery service. Each order is ran thru a flow to capture the sentiment score.

Custom connector – calling v3.2-preview

While we could have called the sentiment API with an out of the box connector we opted to use a custom connector definition in order to call the latest and greatest preview end-point – rumored to be 17% more energy efficient!

Sentiment from v3.2-preview

Dataverse

Dataverse is the data hub for Pizza Time where everything pizza data is captured and stored in the most secure way.

  • Showing pizza menu in the ordering apps (PowerApps and Native)
  • Triggering on Dataverse events in PowerAutomate

Microsoft, Microsoft, Microsoft <3

Let’s face it, we all love Microsft (and yes, sometime hates Microsoft, but any type of feeling is a lot better than no feelings!). We use Microsoft technology every day, and of course we use a lot of this in our solution. Let’s go for the one first. Using Power Automate to use data input in Dynamics 365 HR to create a user in Azure AD (I know, you’ve seen this before in a previous post, but it might be easier for you to see everything in one post than for us to reffer to other posts):

Then, why should you leave it up to every employee to create their email signature? Don’t worry, we’ll solve it for you. We’ve created a solution that attach a signature on all outgoing emails that have our company name in Azure AD, configured in the Exchange setup in office365 with data from Azure AD:

Create a disclaimer as a flow rule in Exchange
Applied to senders that are employed in our company, AxShredder Inc
The signature itself is created with HTML-code
And this is how it will be, without data added
And with data added

And then, the night before a new employee starts at our company, have a Power Automate that imports the user in to Dynamics so that the user can log in to the system. Also, connect the user to the correct worker so that it can access the Employee Self-Service to see and edit data regarding himself:

Bombshell Updating recent posts

Her er de postene som vi har oppdatert og kommet med nye. Please review

Tieving Bastards Thieving shellbombs | Arctic Cloud Developer Challenge Submissions (acdc.blog)
Glossy pixels Glossy pixels – Bombshells rebranding | Arctic Cloud Developer Challenge Submissions (acdc.blog)
Sharing is caring Sharing is caring | Arctic Cloud Developer Challenge Submissions (acdc.blog)
Stairway To Heaven Straight up and away! | Arctic Cloud Developer Challenge Submissions (acdc.blog)
Chameleon Dashes and numbers | Arctic Cloud Developer Challenge Submissions (acdc.blog)

Straight up and away!

Power Automate Flow er en kraftfull måte å kombinere businessflyt og integrasjoner med andre systemer. Gjennom å bruke connectorene mot ulike apier, både Microsoft og tredjepart, klarer vi å håndtere notifications, innhenting av brukerdata og utsending av epost i samme logiske flyt.

Når det blir opprettet en ny record i dataverse med sensor data for en enkelt sensor, blir det gjort et HTTPS som starter en ny flyt.

Denne flyten henter først brukerprofilen til en Office365 konto, det blir sendt en e-post til denne kontoen om at en ny trussel er oppdaget på sensor lokasjon (Oslofjorden) også sendes ett dynamisk kort til en chat i Teams.

På det dynamiske kortet har du muligheten til og sende ut Ninja Turtles for og håndtere trusselen. Kortet oppdateres når Ninja Turtles sendes ut.

Her har vi brukt Office365, Outlook, Teams og Dataverse connectoreren. Hver av connectorene kommer som standard-komponenter i PAF og bruker Microsoft sine APIét på baksiden. Dette er til brukerens glede skjult og bruker connection med brukerinnlogging.

Middle-age Mutable Ninja Tuples is integrating with all the things!

The backend for the end-user mobile app (.NET MAUI) is integrating with Dynamics 365 via MS Dynamics Web API, to create SOS alerts and get status updates.

The backend for the Turtle back-office (Blazor web app) is communicating with Azure via MS Graph API to programatically create Azure AD users.

Both backends are retrieving access tokens for MS APIs using MS OAuth API.

The Turtle code-base (GitHub) is configured to automatically post events to Discord, such as commits and releases.