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

The Pirates 365 Recruit – Pirate recruitment terminal (PRT)

Recruitment is an important, and integrated part of Pirates 365, to acquire the best talent for our crew. To help us with this we have developed The pirate recruitment terminal (PRT). This solution provides us with a visually appealing and an engaging experience to gather new recruits.

Illustration of the Pirate recruitment terminal’s place within the Pirate 365 Recruitment module, along with the other modules.

PRT User flow

Since pirate recruits normally aren’t that familiar with modern interfaces, we have chosen a living parrot to help and guide the user and provide a smooth user experience.

When a pirate is detected, our engaging parrot approaches the pirate and presents the sign-up option. We collect personal details and complete the process by taking a picture. The collected data is then sent into the platform for future processing.

Sign-up form
Picture capture

The Pirate recruitment terminal technology stack

PRT The app is running on the vue.js progressive javaScript framework with Pinia🍍 for state management. For the 3d animated parrot🦜 we are using three.js and TroisJS with WebGL rendering. For AI vision👁️ and object detection🤠 we are running tensorflow under the hood. If available the model is running on GPU, if not we fall back to CPU.

Images, 3d model, fonts is stolen captured on the internetsea.

Everything is running in the local browser🤓

The Jackpot App :: Pirates fleet enlisting

The reason we are calling this the jackpot app because we believe that it’s hitting multiple score-points!

The idea of this app is to enlist pirates’ fleet without a single character punch!!! Aided and infused by AI Builder, external API’s and Power Automate Flows; this Power Apps canvas app is state of the art geekiness!

Although, registered vehicles are the last of our worries (as pirates), but hey we thought of doing it anyways 🙂 The app starts by taking a picture of the registration plate of the vehicle. the app will send the picture to the AI Builder through a power automate flow that process the image and read the registration plate and show it on the app for confirmation.

Once the you are satisfied with the result, you can check the vehicle against the national registry and search for more registration information. This indeed does check the car against the Norwegian car registry (Statens vegvesen) show if the vehicle is approved for going on the European roads (EU-godskjenning). Also least of our concerns!

Actual data from Statens Vegvesen
Crawling and datamining data from external sources

Now, after confirming and inserting car data into our system. We need to identify the vehicle type and compare with our collected data in our backend system. However, identify the care is a simple process that doesn’t need any text input from the user. One picture will do while the AI Builder will take care of identifying the type of the vehicle and insert it into our backend system.

Vehicle plate identification flow (calls another flow through HTTP)
AI Builder made as an endpoint (all AI Builder models and flow are on separate environment, as AI Builder
can’t be included in a solution for deployment)

We are using a mix of built-in and custom AI models to achieve efficiency and productivity in an innovative way.

AI Builder model

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:

Dashboard for the Zookeepers

The Zookeepers should be able to have access to detail information of the turtles habitat. The dashboard in the IoT Central shows relevant information about how their movement, acceleration and rotation (gyroscope). It also describe how many turtles there are and how the humidity, temperatur and pressure is in their habitat

We are claiming the Feature Bombing Badge, due to a smashing dashboard with many features.

Bombs away hipsters!

Our customers in our pizza store seem to be bored, we have expanded our ordering-app in order to make their time fly and stuffed it with some fun and exciting features.

The first feature will display a fun fact about pizza’s and its history.
The second feature will introduce the whole staff in a slide show. Greetings ninjas!
The third feature will save the customer from the time-consuming task of having to read through the menu and choose that special pizza from the menu, let us decide!
The fourth feature let’s our ninja customers give suggestions on what we should put on the menu next, this will ensure the curious ones to return to see if their pizza has made it to the menu.
Last but not least, the customers coming in with a TMNT mask or outfit will be given a healthy discount! (made possible through AI Builder and a custom model).

COWABUNGA !!!

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.

Trans-parent – Foreldrenes verktøy i hverdagen

Vi laget en app der flest mulig funksjoner er stappet inn i samme grensesnitt;

Navnet på appen er i seg selv et ordspill da denne kan brukes på tvers av familier slik at foreldre kan se de detaljene om barna som andre foreldre har valgt å legge ut og eksempler på oppgaver som er blitt registrert i Family Engagement-systemet.

Samtidig er det ikke alltid like lett å ha unger i hus; noen ganger vil man bare komme seg vekk. Foreldre fra flere hustander kan derfor samarbeide med å bygge opp en database med turer en kan dra på for å komme seg litt vekk fra masete unger. Istedet for at hver enkelt skal bruke tid på å velge ut en tur så kan foreldrene trykke på “Velg tilfeldig tur” hvor en av turene i databasen velges for deg.

Om alt skulle skjære seg kan det være godt å ha noen en kan spørre om råd. Vi har derfor valgt å inkludere vår kjære “Boten Anna” som kan hjelpe til med stort og smått.

Appen er bygd opp av disse komponentene;

For å kunne legge inn boten ble denne videoen brukt som inspirasjon. Fanen som skulle dukke opp når komponenten skulle importeres i appen var ikke til stede sånn ut av boksen, men ved hjelp av denne artikkelen fikk vi fanen til å dukke opp likevel. Github-repo som inneholder komponenten finnes på denne siden.

For dette håper vi å claime denne badgen;