Latest posts

I stumbled upon a question in the PowerApps forum on how to make Gallery items clickable so I tested it out and found that it can be achieved very easily..

1. Create a gallery and bind it to Account entity in CDS..
2. Bind your Gallery to table with with a field that stores hyperlink. In this case I bind it to Account entity and field by the name of Website.
3. Select a text,label or image in the Gallery Item. On the On Select property, enter the following command

(Substitute website with the field that stores the URL)

In this case, I entered it on the Image.

4. Click save and Publish.

Now on the app, when I click on the image, it will redirect me to the website stored against the hyperlink.

Click to Watch

Happy Power-Apping!

First and Last are really handy functions to have in your toolbox.

In this vid we take a look at how to use them and look at an example of how I’ve used them in my apps.

source TDG/Data Spinners

Subscribe to Rory’s channel

In this video, you will learn how to build a business card scanner in PowerApps using the new AI Builder and then store the info in SharePoint / Outlook Contacts / CDS .

This video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch.

1. AI Builder Quick Demo – Business Card Scanner | Object Detector | Form Processor –

2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder –

3. Magic of the Object Detector | PowerApps AI Builder –

4. Quick and Easy Processing of Invoices | PowerApps AI Builder –

Checkout That API Guy’s Channel

Part 2 of our MVP review of the PowerPlatform 2019 Wave 2 Release Plan. In this episode I am joined by Mark Christie, Iain Connolly, Andrew Bibby, and Shawn Tabor to discuss:

  • Field Service
  • Unified Interface
  • Canvas Apps
  • Microsoft Flow
  • Common Data Service
  • The death of Task Flows

And in case you missed it, catch part 1 here.

Create and Attached Quote on Email

Please vote for this feature to be extended to other entities here:

Ee Lane from TDG

Subscribe to Ee Lane’s channel

If you are like me and have worked with Dynamics 365/CRM for years, approaching PowerApps might be a little bit intimidating. Part of it is that so many things that are very easy or automatically done for us in Dynamics 365 and model-driven apps need to be manually done in canvas apps. And when you search for the answer, much of the PowerApps blog and video content is from the perspective of a developer with a non-CRM background, like SharePoint.

In this series of posts, I intend to show how to do some of these things that are common in Dynamics 365 when making a canvas app. If you don’t have a Dynamics background, hopefully you will also find some benefit from them.

Related Entity Data

When building a more complex app, you frequently have the need to work with parent/child data. Say you have companies and want to show the employees working for the company, or an event and related registrations for the event.

In Dynamics and model-driven apps, this is easy.

Every record form shows a Related tab where you can see all of the entity relationships.

We can also add a subgrid to the parent entity form to display related records in-line.

Related Entity Data in Canvas Apps

When making a Canvas App, the maker needs to add visibility of related records to the app. In this example, I’m building a canvas app for a volunteer coordinator to use to manage a disaster relief team.

First, add a data connection to each table/entity that you will include in your app.

Once you have your data connections, now you can display your related entity data in your Canvas App.

Option 1: In-line

In my app I want to show skills on the person form, similar to the experience of a subgrid in Dynamics 365. That way I can easily see the skills related to a person.

In this case I add a display form and a gallery to the same page of the app

The display form displays the selected person from a person gallery on another page of the app. The skills gallery is connected to a cross-reference table of people and related skills.

This gives users of the app a subgrid-like experience in a canvas app. Note if you want to give users the ability to create child records from the subgrid gallery, you will need to add that to your app. To do this, I added the + icon to the subgrid header, and in my expression, set a context variable on the next screen with the ID of the selected contact. This allowed me to automatically set the created person skill to Barbara.


Option 2: Related page

Sometimes you don’t want to show the related information in a subgrid. Maybe your form is more information dense and you just want to go to a full list of record. This behavior is easy to reproduce with a Canvas App. In our scenario, volunteers will send updates from the disaster site about what they have done. In my app, I already have a page that users can go to see all updates from all teams.

The Update gallery has a search text input control to search and filter the update list.

We can leverage this same page for display of related records:

  1. Set the default value of the search input textbox to a context variable.
  2. From the parent record page, add a button or icon to navigate to the related records, in the navigate formula update the context variable referenced in the search control.

Now when volunteers click the update button from the disaster page, they see a filtered list of only the updates for the selected disaster.

Wrapping up

So is it easier to display related entity data in model-driven apps? Yes. However, once you get used to working with canvas apps and filtering galleries, you will appreciate the extra level of control that you have over the experience, and can easily display related records in your canvas app.

So, I recently had this requirement to put the SP document location in a field and show it on the Contact form. And I had to do it OOTB way. After some time of playing around with the D365 workflow, I found a way to do it. Yay! 🙂

First, make sure to

  1. Enable Server-side Sharepoint Integration.
  2. Enable document management for your desired entity.
  3. Take note of the absolute URL of your Sharepoint directory. It looks something like this:

Once you have Sharepoint side set up, let’s do some config! 🙂

  1. Create a field where you would like the link to appear on. In this case, I created a single line of text field with format URL and put it on the form.

2. Create a workflow. The important thing to note here is that the workflow should run on the Document Location entity.

3. Create a step to update the record of whichever entity you enabled document management on. In my case, it is Contact.

4. Inside the workflow designer, select the field you created on Step 1 and paste the URL of your sharepoint directory and add a “/” character.

5. Once you’ve done that, select this field from the Form Assistant and it on the field after the “/”.

6. Once you’ve mapped the field from Step 5, add another “/” character.

7. Select this field from the Form Assistant and add it after the second “/” character.

8. Select Save & Close and activate your workflow.

9. Now this link will be added dynamically on the form 🙂


“Do the Right thing, in the First attempt”. This was advise of one my mentors which has helped me a lot to progress in my career. I always tend to follow the best practices in my work and stick to the recommended approach despite the fact that it is not always feasible. I have lost count of late sittings I have done to use “Managed Solutions” in my work (Sounds familiar? 🙂 ) and some of these nights taught me a lot.
In one of my early works, I encountered the following scenario:
  1. In my Development environment, I created a new Unmanaged Solution with a new publisher (to identify who made changes). I added some components to the solution.
  2. While adding components I received the standard warning of “Missing components” to be added to the solution which I ignored. This was an expected action because my destination UAT environment already had the missing components so I was not expecting any dependency issue.
  3. I exported my solution with the new publisher as a “Managed Solution”.
  4. When I tried to import the managed solution in the UAT environment (in which already had all missing components), I received the below error.

After a some search, I learned the following: “The import of a managed solution will FAIL due to missing dependencies if imported solution publisher is different than the publisher who owns the missing components“. So you will have two options:
  1. Either add all missing components while you export your unmanaged solution as managed solution to ensure the platform does not try to find missing components from other solutions.
  2. Change the publisher of your unmanaged solution before export as managed solution and ensure that all missing components in your solution are under the same publisher name in your new environment. 


Whats up friends?!

For the second installment of motivation Monday i am going back to an old lesson because its just so damn important!

To see my first version of this lesson go here:

Do not listen to the opinions of others! Go and do what the voice inside is screaming out to do! Dont be boxed in, limited, or demotivated by the words of others.

I know you can do it!

to follow me on Twitter head to

as always Please LIKE & SUBSCRIBE

Much Love from Me!

– Jon

Checkout Jon Levesque’s Channel