Its all about apps and responsiness

We have created a model-driven app to contain our customer card, this customer card contains a lot of data about the customers and which deal they have, and started with.

We have also embedded a Canvas App into this model-driven app which includes top deals right now.

During the creation of these apps, we had a focus on making this responsive. So the information could be reached whether you are on a mobile, tablet, or desktop device.

As you could see in the picture above, we can see that the model-driven app, with an embedded canvas app, is responsive.

Power Automate is awesome!

We have creagted a flow that once a day lists that tasks that are assigned to different employees in the company in the Task Management module in Dynamics 365 Human resources. We filter out the tasks that are completed and canceled, and we only look for tasks that are due in 10 or 3 days, or that is due today or is overdue.
By using Vitual Tables in Dataverse to gather this data, we’ll have the flow looking up the data we need in other tables than the table for tasks, as we of course want the email to be sent to the assigned employee, with the information the employee needs to perform the task:

It finally works like a charm, as we now in Dynamics 365 Human Resources have 1 overdue task, and no tasks falling due in 10 or 3 days or today, and the flow sends 1 email with the correct information:

Skill bombshell heier på Skill powershells

Å ha et motiv betyr å ha en grunn til å gjøre noe. At handlingene våre i en bestemt situasjon er motivert av et eller annet, vil si at vi sikter mot å nå bestemte mål. Det er vanlig å skille mellom indre og ytre motivasjon. Drivkraften ved indre motivasjon er dine egne interesser og nysgjerrighet. Vi støtter de rundt oss med positive ord, men siden vi må fokusere også på egen motivasjon samt at vi er i forskjellige cohorter så har vi valgt å automatisert dette.

En gang i døgnet sender vi en SMS til teamleder av Skill powershells. Dette for å motivere.

Ved behov så kan vi øke frekvensen ytterliger, noe som er nærliggende mot innspurten. Ved behov kan vi også motivere andre lag.

Play? Develop? Discord.

Discord is a platform most known within the gaming community for its voice- and text-chat features. MaMNT needed a hip platform for collaboration up and running quickly during the initial stages of the day, and landed on using Discord with their pre-existing user profiles.

In order to avoid merge conflicts with three developers working in the same repo, a Discord bot was set up to post new commits as chat messages in a dedicated channel. This bot receives new commits via a GitHub webhook, enabling a trunc-based development cycle in MaMNT. All the hip, cool companies run trunc-based development, now including MaMNT!

MaMNT also avoids Teams like the plague, so Discord was immediately qualified as a collaboration solution simply by not being Teams.

Claimed badges:

Setting up Synapse Link to Dynamics 365

Middle-Age Mutable Ninja Tuples know there will be a lot of requests for help once the solution is released to the public. They plan on using Synapse to analyze all the data from the system. To get started they set up Synapse Link to Dynamics 365.

With the deprecation of Export Service, Synapse Link seems to be the go-to replacement for a simple, yet powerful tool to extract data from Dynamics 365.

Prerequisites to setup Synapse to Dynamics link:

  1. Azure subscription.
  2. Resource group
    • Synapse workspace
    • Storage account (Data lake gen. 2)

Setting up Dynamics link to Synapse

  1. Make sure you have completed the prerequisites (above)
  2. Go to https://make.powerapps.com/
  3. Navigate to your environment

Select the entities/tables you want to synchronize:

Click save, and your data will begin to show up in Synapse!

You can now run Queries against Synapse on Dynamics 365 Data:

Optional if you want to use Azure Data Studio:

Install Azure Data Studio to work with the data:

With data in Synapse, we can now start crossing data from several sources and make reports.

NOTE: One challenge we came across with Synapse is that all OPTIONSETS are only available as INT values. There is no way to export the entity to Synapse with both the Optionset int value and language-dependent label. This may end up being fixed using a “dirty hack,” alternatively MaMNT will find a prettier way to solve it going forward.

Badges claimed:

The Bombshells are killing it!

We´ve created a monster! Bombshell koser seg og mekker sensorgalskap! Hver sensorstasjon rundt Oslofjorden er proppet med sensorer som fanger lyd, fuktighet, støvpartikler, UV-lys og masse moro 🙂

Samtidig som vi ikke går av veien for å feire små seiere…

Så fortsetter vi å jobbe utrettelig!

Creating more monsters….

By the way…. Happy Campers are wearing turtle necks 😉

IoT Central

Med hjelp av IoT Central kan vi vise frem leselig data. Microsoft har en “IoT Plug and Play” app som kan sende data hentet fra smart telefonen. Bilde nedenfor er et skjermbilde av appen på telefon.

IoT Plug and Play – App

Denne dataen har vi klart å sende til IoT Central. Bilde under viser data som blir sendt fra smarttelefonen.


IoT central:

Smarttelefonen kan vi bruke som som å simulere hvordan skildpadder eller fisker beveger seg i området. Med denne løsningen kan vi koble flere smarttelefoner til IoT Central, slik at det blir mer realistisk.

IoT DevKit

Vi har også koblet opp en MXCHIP (IoT DevKit) til Iot Central til vise frem temperatur, humidity osv… som er viktige data for å skape et godt og behagelig miljø til dyrene:

IoT Central/IoT Plug and Play er nytt og hipt så vi claimer Hipster badge. Dasboardet godt leselige grafer, så vi prøver oss på Dash It Out Badge. Vi claimer også Embedding numbuts grunnet IoT-løsningen.

The real nasty hacker

  1. When visiting www.elskling.no we used Fiddler to decrypt the HTTPS traffic to find the API they are using to get data. And turned it into our own custom connector.

2. We came above another API that gets both historical and today’s spot price in Norway. This could be filtered with “NO1” and so on, based on where in Norway you want to get a price from.

After getting some errors using the API, we needed an API key. After submitting an email to the email listed we received an API Key. After some more research, we could see that this is an API created by a “hacker” who abuses another public API that requires payment. We think that this is the ultimate candidate for “Thieving bastard”.

We are using this API to visualize today’s spot price and to create a local history in our database to create forecasts on prices with AI in the future.

3. The last API we are using is to get each day’s weather forecast, this is going to be combined with historical spot prices to forecast future prices on electricity. These prices are very much based on weather, and that’s why it is very relevant to include this in our library of apis.