Integration with team can really be simple

So we used the tool App Studio to implement the “report incidents” React app with teams!
Now you can install the app in Teams and report incidents straight from the teams app. Now the audience can easily report incidents without having to navigate to the website (or install it as a pwa, by all means). Would be awesome to actually have the possibility to officially release it, but given that MS uses about a month to approve the app, this was the best option to move forward!

Custom Connector plugged and played

Using a cloud flow we had the need of a custom connector to receive the data needed for our solution. We created a custom connector to get provider deals from elskling.no and populate dataverse with these data.

Leonardo also got the opportunity to be featured in this custom connector, we believe he shares personality with this connector.

This is the flow where we use this custom connector.

We have implemented a new Teams Tab app that monitors in real time where the turtles (smartphone in our case) are located.
One of our member are currently at the airport to travel back home to Stavanger. The video show that the Teams Tab App accurately shows her location at the airport and our location at the hotel.

The video also shows geolocation data stored in Azure Cosmos DB. We are using React, TypeScript and Hooks to implement the Teams Tab App (Client Side Salsa) .

In our teams group we have also create apps to easily look at the IoT Central, Webflow website and TODO list. All the communication happens inside the Microsoft teams.

IoT Central:

Webflow website:

TODO list:

Registration in Portal to contact in DataVerse

Using Portals we have created a registration form, which will include all information we need for the customer record in DataVerse.

Once the form is submitted a contact record is created in DataVerse. Using a Cloud Flow we create an approval on this creation before assigning the record a contract/deal.

Because of legal reasoning around the power of attorney we have implemented, we have to manually approve each contact as off now. But this is a one-time process for each customer after they are validated.

Once they are approved we update the contact with a new status, and as of that, we assign a contract.

En samhandlingsapplikasjon i Pizzasentralen

For å øke effektiviseringen av bruken med den flotte PowerAppen vår, og dermed forenkle pizza-tilgangen, har vi valgt å legge til muligheten for å benytte oss av denne gjennom Teams.

Applikasjonen er lagt til i løsningen gjennom «Microsoft Teams admin center», og distribuert til ninjaene gjennom «Setup policies» og er pinnet til venstre menyen i Teams-applikasjonen.

Manifes.json:

Her snakker vi samhandling og one app to rule them all!

Måtte Fridgitator 9000 være med deg!

Really, why not, when it gives such a higher user experience!

And now it’s time to show the first of our really good user experience features in the solution. To be honest, if you told a HR person today that he could do two clicks in his HR system and type the agreed salary (or proposed salary, of course this can be changed during the signing process, I mean, why shouldn’t that be possible in 2022?), and right away send an Employemnt Agreement to the candidate they’ve decided to hire? We know that the HR department at our company now will want us to implement this app as soon as we’re back at the office on Monday (yep, I know you’re reading this Christian, we’ll talk on Monday reguarding the expence claim from the bar). But, to get to the point. We’ve created an app, and published it in the Personnel Management workspace in D365 HR, and if you click the tab to open the app embedded in the workspace, you get to choose the canidate you want to sent an Employment Agreement to for signing and just do it:

Click the tab for the app
The app opens, edit what you want, and send the Agreement to the candidate for e-signature through the 3rd party solution OneFlow to be signed with Bank-ID

Plug n Play take 2

PCF plugin component developed in react – deployed into a PowerApp (model driven app)

Re-read the old post at PCF + React + Pizza = Great user experience | Arctic Cloud Developer Challenge Submissions (acdc.blog)

The PCF component written for a model driven app is a fully integrated application running on React. PCF components in Model Driven Apps are fully isolated apps that can run complex operations that are not directly related to dynamics. In this case it retrieved map information from API and shows distance and est delivery time based on location.

The search bar on top interacts with googles live address search API.

Once the search is complete, the address is written to the Model Driven app that hosts the PCF React application.

Need to figure out the time it takes for pizza to be deliverd to your work place from any pizza place, we can easily take the React component and re-build as an office add-in, teams add-in – anything you want add-in. And you are just a click away from knowing how long it takes before it’s here!

Pizza Time ordering app

Power Apps ordering app within teams that gives access to easy pizza ordering. The app is fully functional for pizza ordering operations.

Pizza Time Ordering Chat bot

Fully integrated ordering solution for pizzas with the use of a chat bot integrated in Teams

Giving customers easy options for ordering is key for selling more Pizza.


Middle-age Mutable Ninja Tuples is plugged in

Users who register as Turtles (those who want to help people in need) in our Blazor web app are automatically created as Azure AD Users and automatically assigned a Dynamics license, using MS Graph API. The only thing missing for Turtles to be able to log in to the Dynamics mobile app is getting a security role in Dynamics.

We would have programatically assigned a Dynamics security role right away, but there’s a problem: users aren’t immediately synced from Azure AD to Dynamics – it can take several minutes.

As a workaround, a Dynamics plug-in listens to user creations and automatically adds the correct security role when new users are added to Dynamics.

When the plugin has done its work, users will be able to log in to the Dynamics app for phones.

Dashes and numbers

Før Bombshells bygger det store dashbordet som viser data fra sensorene som ligger i Oslofjorden, så ønsker de å bygge kompetanse. En lavthengende frukt var da å sette Donatello til å lage et dashbord med et dataset som allerede var på plass.

Donatello drømmer stadig om å bade i Maldivene og jobber hardt for å nå dette målet. Han har nå hentet ut data fra SharePoint som han har brukt for å bygge opp en PowerBI-rapport.

I rapporten har han lagt inn en tabell som inkluderer alle innleggene i bucketlisten. Her finner vi nøkkeldata som hva de ønsker å gjøre, hvem som har målet, hvor de skal og ikke minst hvor sannsynlig det er at målet nås. I selve rapporten er det lagt inn grafer som filtrert på valg i tabellen viser gjennomføring, Hvem som ligger best an til å gjennomføre drømmen, kart som viser hvor men ønsker å reise og hvilke kategorier som er representert.

Sammen med en PowerApp hvor brukerne kan redigere målene direkte fra rapporten, legges det hele inn i et dashbord som deles sammen med hele teamet gjennom Bombshell sitt workspace.

Og for å mota litt ekstra “kredd” fra gjengen sin, har Donatello lagt inn det hele i Teams

Til slutt tar vi med hvordan rapporten ser ut i mobile view hvor elementene er lagt opp tilpasset mobilvinduet og fyller tilgjengelig plass deretter.

PCF + React + Pizza = Great user experience

When ordering pizza, you want to know how long it’ll take before a turtle is at your door with that delicious pizza pie! This PCF plugin lets the customer input their delivery address, and uses Google Map APIs to show a map with a marker showing the turtle pizza HQ (sewers below Empire State Building) and another marker showing the delivery address. It also calculates the distance and delivery time based on the address and shows it to the user. The PCF is written using TypeScript and uses React to achieve instant updates of the map and calculated time/distance as the customer is interacting with the app.