New ‘Capacity’ analytics on PowerPlatform Admin Center

We are quickly transitioning over from Organization Insights which came as a managed solution inside D365 to CDS For Apps Analytics on the PowerPlatform Admin Center. My past blog on the same (CDS For Apps Analytics instead of Organization Insights. Power Platform Admin Center).

And now, the same is revamped as Capacity in PowerPlatform Admin Center.

So, if you go to Storage in CDS For Apps analytics, you’ll see this –
movedOver

Capacity

You can access Capacity section directory from this URL – https://admin.powerplatform.microsoft.com/analytics/capacity

Or from the left hand menu as below –

menuItem

Now, as opposed to previously summarized % of the total capacity available, Microsoft is providing new entitlements for different types of storage consumption –

capacityView
Zoomed below

zoomedCapacity

As mentioned above, the bifurcation is as follows –

DATABASE: All other entities apart from the ones mentioned below.

FILE: Attachment, AnnotationBase tables

LOG: AuditBase, PluginTraceLogBase tables

 

Per Environment View

A Per Environment View looks like below and you can click on the Graph icon to go into the details
perEnvironmentView
At this point, information for the Graphical details are yet to be available. I’ll update post this is available for me too.

Availability

New Capacity model differs and will be available once the current term ends. More information from the links in the More Information section below
waitingForRenewal.png

More Information

You can refer more on Capacity here – https://docs.microsoft.com/en-us/power-platform/admin/capacity-storage

Microsoft’s FAQs – https://docs.microsoft.com/en-us/power-platform/admin/capacity-storage#faq

Hope this quick summary helps!

Create new CDS Environment and Database quickly from PowerApps Admin Center

With the April 2019 Updates, you can straight way create new D365 instances right from the PowerPlatform Admin Center.

Create New Environment

Follow these steps to create your environment from PowerPlatform Admin Center

  1. Go to https://admin.powerapps.com/environments and you’ll see an option to create New Environment.
    createNew
  2. Fill suitable details and proceed. Also, check the last section in this blog to see the difference since I chose another region than my source/original tenant when I created the D365 Trial instance (It was North America).
    specs.png
  3. You’ll see the message once this is being created.
    creating
  4. Finally, once completed, you’ll see this message where you’ll be asked if you want to proceed to creating the database as well. I recommend to create the Database as well, this will save time.
    asksToCreateDatabase

Creating Database

Considering you came here from creating the environment itself rather than choosing to create a Database to an existing environment, we’ll see how we proceed from the last Create database section.

Once you select the Create database from point #4 in the above section, you’ll see be asked to select the preferences of the database.
selectCurrency

Once you select the Currency and Language, the creation of the database will take place
creatingCDSDatabase

Once done, you’ll see that the environment and database will appear in your list.
createdENV

When you open the environment, you’ll see that for a few moments, this is being provisioned.
provisioning
Once the message goes away, you’re all set!

Instance Region

Now, note that my CDS Environment is created in the Asia Pacific (APAC) Region.
asiaRegion
And I don’t see my other regions here because the URL I’m on is port.crm5.dynamics.com

crm5URL

Whereas my original D365 Instance that got created with this trial exists on the port.crm.dynamics.com Admin Center
crmURL

 

Hope this quick post helps! 🙂

[SOLVED] Navigating URL from Ribbon’s custom button in Dynamics for Phones app

So, with all the buzz about the transition to the Unified Interface, I came across this issue where Url Command Action doesn’t work on the Dynamics for Phones app for a custom button

urlAction

Scenario

I’m Url Command Action in the Ribbon Workbench’s custom button to navigate to a PDF User Guide stored on the SharePoint for users to simply click and navigate.

classicUI

unifiedUI

Now, this works fine on the classic Web UI and Unified Interface Web Application.
targetPDF

 

But doesn’t work on the Dynamics for Phones app! Nothing happens when you click on it.

guideButtononPhone

Workaround/Resolution

So, the workaround is, using JavaScript method to navigate the URL as shown below

  1. Write a JS file which uses Xrm.Navigation.openUrl(<link>); instead.
  2. Remove the URL Action Command and use JavaScript Command instead in the Ribbon Workbench.
    useJSAction
    jsFuntion
  3. Sample Code here
    oAccountFormCustomization = {
    guideButton: function()
    {
    Xrm.Navigation.openUrl(“https://<yourlink/>&#8221;);
    }
    };
  4. And this should work on your phone app when you click the button there and it should successfully navigate to the said URL (my SharePoint Document in this case)
    docAppears

 

Related

Here are some of my other posts that are related to custom ribbon button –

D365 Ribbon Button shortcut to open a Document in SharePoint Online

Fix Ribbon icons on the Unified Interface in D365 CE

Hope that works!!

 

Date and Time field’s Time-Zone behavior in D365

In most cases, customizers/administrators leave the Date & Time field as Local without paying much attention to detail.

types

With involvement of time, there are 2 behaviors while creating the field (or changing them, but there’s a catch)

You can change from Local to Time-Zone Independent any time, but can’t change from Time-Zone Independent to User Local once saved this way.
cantChangeBehavior

User Local

The Date & Time displayed in this field will be converted to the time-zone you are situated in.

localTime

Let’s say, the Date & Time is stored in UTC behind the scenes was 25th June 2019 6.30 PM, so whatever was stored, it will be converted to your System User’s local time according to the Settings. See below –

myTimeZone.png

Time-Zone Independent

This type of Date & Time of field, the time is stored in UTC, regardless of where you are located in the world.

timeZoneInd

If it is 6.30 PM on 25th June in UTC, it will be 12 AM in India on 26th June

 

It’s pretty basic, but needs to be done carefully!

Hope this helps.

Execute an Action from a Business Process Flow

One of the easiest and useful feature of a Business Process Flow is being able to Implement and Action right from a Business Process Flow just with a click of a button.

Here’s how you do it.

Let’s say you have an Action that you want to trigger that the Account was Approved for some sort and you want to alert the Stakeholders. You can have this functionality in your Action and call the Action from the BPF itself.

Action

  1. Let’s say your Action has some logic as below which you want to execute when you trigger Action on BPF
    actionLogic
  2. Make sure your Action is marked as below for it to be enabled for adding in a BPF
    enableForBPF

Once this is set, let’s move to the BPF part.

Business Process Flow

  1. In a BPF, since you have enabled your Action to be added to BPF, you’ll be able to add it as below.
    addActionStep
  2. In the Properties, look for your Action Process and select it and click Apply.
    actionFound
  3. Make sure you’ve clicked on Apply.
    apply

Now, you’re all set. Let’s see how it works.

Execution

Now, this is how you’ll see your Action on the BPF on the record,

executeButton

When you click on Execute, it will mention (if you don’t have any Input parameters) that there are not parameters and ask for Confirmation
noInputParameters

Once you confirm, this is how it will show while executing –
executing

 

If there’s any failure, it will show as below
executionFailure

 

And success like this
success

Simply click and the Action will execute!

Hope this helps!!

Summarizing D365 App For Outlook Setup in 3 steps with Exchange Online mailbox

Remember, there are a lot of considerations for security and synchronization. The above setup is recommended for all first time Outlook and Dynamics users. While all this, I would like to summarize the steps for all you first time users!

Here’s a crash course guide to setting up D365 App For Outlook for new on-boarders.

Part 1 – Outlook License

  1. So, you can have any of these licenses which has Outlook service included. Be it Enterprise E3, E5 etc. Basically, you need an Exchange Online mailbox. Also make sure the license is assigned to the user and Mailbox is created as below.
    license
    licenseAssign.png

 

Part 2 – Enable Server Side Synchronization

Once Mailbox is setup for the User. Now, let’s go the D365 For enabling Server Side Synchronization on the user’s mailbox. Remember, you must be a Global Administrator to Approve the Mailboxes.

  1. Go to Settings >Email Configuration > Mailboxes. Open Mailbox you want to enable SSS for.
    selectMaibox
  2. Then, click on Approve.
    approveMailbox
    confirmApprove
  3. Then, click Test & Enable Mailbox from the ribbon.
    test&amp;Enable
  4. This is important, if you have multiple instances like Production, Sandboxes etc. Choose if you want to only enable it for the current organization and not else where, select the checkbox.
    enableForCurrentOrg
  5. The Mailbox in D365 will complete testing in a few minutes and you should see the status of the same  as Success if everything went well.
    allSuccess

 

Part 3- Enable D365 App For Outlook

Now, once Server Side Synchronization is enabled, you’ll need to go to Dynamics 365 App For Outlook in Settings.
D365FOSitemap

If you don’t see the above in your SiteMap, refer this post for the details and the shortcut- https://d365demystified.com/2017/11/14/missing-dynamics-365-app-for-outlook-from-settings-in-dynamics-365-v8-2/

Now, in my case, I had selected to enable this feature for anyone who has already been enabled with Server Side Sync to also be enabled for D365 App For Outlook.

Hence, when I opened the App, I could already see my being added to the App!!

alreadyAdded

Else, you’ll need to add other users explicitly by selecting them and clicking on Add App To Outlook button on the view shown above.

READY!

You’ll see the Dynamics icon that denotes the D365 App For Outlook, you can click on it and the D365 App For Outlook is ready to be used for that selected item.
iconReady

and the app will show up in the pane next to it.

readyApp

For detailed information on Support Matrix of the D365 App For Outlook, refer this – https://docs.microsoft.com/en-us/dynamics365/customer-engagement/outlook-app/deploy-dynamics-365-app-for-outlook

 

Hope this summarizes the setup well!

Sending Image from Canvas PowerApps to SharePoint Document Library using Flows

One of the most common requirements is to upload images to SharePoint using PowerApps. From my learning from various sources, I’ll try to “demystify” my explanation to send/upload an image to SharePoint Document Library using Flows on my Canvas PowerApp.

Ingredients

Assuming you have the following things already  in place in PowerApps as well as in SharePoint

  1. PowerApps’ Camera/Image control and a Submit button. In my case, the image above is a camera so that I capture the image I want and the image below is the Image control to show me what I clicked.
    powerApp
  2. A SharePoint Document Library to record, say, Incidents.
    spDocLibrary
  3. We will get to the Submit button on the PowerApp once we create our Flow.

Flow

Let’s create a Flow to pick the Image from your PowerApp, convert it to binary and send it to the SharePoint Document Folder location called Incidents.

  1. Since we want to trigger the Flow from the PowerApps itself, we will select the trigger of the Flow as ‘From PowerApps’ and hit Create
    createFlow
  2. Once your Flow is ready, leave the first step of PowerApps because that’s the trigger. Add Step to create a SharePoint file and fill in the details of the Document Library you have created.
    createSPFile
  3. Fill in the FileContent as above. You’ll need this to be converted in the intermediate step after this.
  4. Now, you’ll need to add an additional step in between PowerApps and the Create SP File step as below. It will be a Compose action.
    addAction
  5. In Compose action, under Expression, select dataUriToBinary expression and make sure you open the bracket as well.
    dataUriToBinary
    toolTipHidden
  6. Now, go back to the Dynamic Content section and select the CreateFile_FileContent to complete the formula.
    fileContentAvailable
    completedFormula
  7. Click OK on the screenshot above and the formula should be set.
  8. Now, replace the File Content section to take in the Output of the Compose step.
    outputRecorded
  9. Save your Flow and your complete Flow should look like this.
    CompleteFlow
  10. I’m naming my Flow as ‘IncidentFlow’ so that I can identify it.
    incidentFlow

Adding the Flow to Submit button

Going back to the PowerApp, let’s Run this Flow on the selection of the Submit button and pass the image.

  1. Now, select the Submit button, and on the Formula bar, add the Flow you created, I named it IncidentRun. Select the same so that the Formula comes as IncidentRun.Run( for you to pass on the image.
    Now, pass the latest image on the collection i.e. the same image which is being displayed in the image control below.

    runFlowFormula

 

Running the App

I just ran the app on the desktop itself, you could do it from your phone too!
So I clicked on the Camera when I was ready, the image appeared in the image control and I that was what I wanted to upload. So I clicked on Submit button.
hittingSubmit

The flow was successful
FlowSuccessful

And my image was in SharePoint too!
imageUploaded

I know it is a lengthy post but I tried to summarize as much as possible. Make sure you have a way to uniquely name each file or else, the same file will be overridden.

Thank you!