PowerApps Portals (Part 2)

Planning and licensing the PowerApps Portal

While there are so many pages of documentation around capacity planning and licensing the PowerApps Portal, when you get down to implementation, you often get confused and are stumped on encountering the unexpected!

We attempt to put forward an actual use case we encountered – 3 issue areas and how we resolved them.

Existing situation

  • The Customer had purchased 10 CE licenses and 20 licenses across other plans (Enterprise Sales, etc.) from IOTAP, a Microsoft CSP Partner
  • The Customer had a Dynamics Portal [ with Customer Service template] for their Dynamics 365 Production environment (Note: this was not a PowerApps Portal)
  • A trial PowerApps Portals had been provisioned for their Dynamics Sandbox

Expectation, Issue, and Resolution

A) Issue area 1: Convert Free trial to Paid

  • Expectation: We expected a “Convert to Paid” action available against the trial Portal in the admin
  • Issues:
    • “Convert to Production”, was the only relevant action available – which was not what we wanted
    • The trial being a Customer Service template would fail conversion since 2 portals using the same template cannot co-exist in the same environmentPowerapps portal a

      (Option available on PowerApps portal – for trial)

  • Resolution:
    • “Convert to Production” actually meant – “Convert to Paid”
    • The portal link with Sandbox did not break and

B) Issue area 2: List of licensed users

  • Expectation: The licensed user list for the Sandbox-linked PowerApps portal would list the 8 CE licensed usersuser licenses download

(User licenses download from Admin Power Portal)

  • Issues:
    • The list had only 2 of the 10 users as having PowerApps license.
    • There were users shown as having PowerApps for Office 365 – which was unexpected
    • The licenses assigned to the users seemed varied – across

3excel downloaded from admin powerportal

(Excel downloaded from admin PowerPortal)

  • Resolution:
    • From the Office 365 Admin, navigate to the usermanage product License. Below the list of licenses, is the list of apps which is toggled close, by default. Click open and scroll down to the PowerApps.
    • Users who had them checked were the users who had shown up on the “active user” list downloaded from the PowerApp Portaloffice 365 portal user licenses
    • Users may have licenses assigned, but unless they were given access on the app, they cannot access the PowerApps Portal

C) Issue area 3: The Add-on to Purchase

  • Expectation: The environment was Sandbox and was to be accessed infrequently. We needed a license option that would not be over-head. Some users who were not licensed via the CE license needed to access Sandbox for testing/ reviewing.
  • Issues:
    • The per User license and the per login plan were Monthly plans which would go unused during most months.
    • There was no plan which was like the Azure Usage Plan which could be purchased and could be consumed until it was used up. A per-login plan with about 100 logins would be apt.
    • Adding and removing licenses for short periods would become cumbersome.
  • Resolution:
    • The Per-user plan was selected – since it was cost-effective
    • The Client License administrator was encouraged to use the IOTAP Self Service Portal to add/ remove these licenses. He could do this easily along with managing the other Microsoft licenses provisioned from IOTAP.

IOTAP Self Service Portal - manage licenses

(IOTAP self-service portal – manage licenses)

Also read, PowerApps Portals (Part 1)

Want to know how our Self Service Portals have helped create amazing customer experiences?

Dynamics 365 Customer Service Case Management – A Ticketing Application too!

Dynamics 365 Customer Service

Dynamics 365 Customer Service is used by Organizations for a variety of reasons –

  • Tracking Completion of Task Requests
  • Recording and resolving Complaints
  • Managing and Monitoring Service issues

While some of these reasons may be simple to work on and complete, others may be long-drawn, requiring multiple people to work on it and have it pass through various stages before closure.

Defining Tickets and Cases

While we usually interchange the words “Cases” and “Tickets” when referring to the above activities, Industry Standards have separate definitions for both.

Tickets” are simple with fewer statuses’, shorter gestation, faster turnaround, and simple closure activities when compared to “Cases”. Case components like Routing queues, Service Level Agreements, Entitlements [like Contractual scope] are not required on Tickets

A good example is a simple Internal Request raised by a peer for access to a server/ an application which can be termed as a “Ticket” versus a Service Request where a System error or Application error has been reported.

The former would be a simple Task to action and close, however, the latter may need to go through the initial investigation, escalation, Remote session, reporting, Resolution, review, Closure – a much longer lifecycle.

Can Users be trained to understand the difference between Tickets and Cases?

Usually, all complaints, requests, and tasks come through the same channel[s]. User understanding may differ from the Service Team’s activities. The user may be able to define the Issue, Product, but the Service team can define its Complexity, Routing, Team to work on it, etc.

This is the definition that segregates Tickets from Cases. So, Tickets and Cases cannot be segregated before they reach the Service team/ the customer service application.

The Dilemma

  • Can Dynamics 365 Customer Service which has all the tools to handle cases not be used as a Ticketing system too? Can it not cater to both, allowing simple cases to be closed simplistically without a lot of ado and ensure that complex ones need to have all processes of a case adhered to.
  • Will the application Need Customization?

The solution

Dynamics 365 Customer Service can be set up to jointly serve as a Case Management and a Ticket management system

Configuring the system correctly – simple automation and intelligent configurations can tone down the complex processes into extremely simple ones. The Onus of defining these criteria of when should tracking be done and when not required, can be removed from the Agent and added into the application automation

  • Step 1 – Implement the full Case Management solution
  • Step 2 – Create a lite Ticketing version

Case Management – full Customer Service Implementation

A typical Dynamics 365 Customer Service engagement leverages the core and ancillary components of the product to create an Omnichannel and seamless experience for Case Management

Implementations would go through below processes –

  • Configuring Case forms
  • Automating Case creation rules
  • Queue assignment automation
  • Entitlements set up
  • Configuring Service Level agreements and Timers
  • Managing Workdays, Work Hours and Holidays
  • Fine-tuning Dashboards and Reports
  • Training on Knowledgebase
  • Configuring and Branding the Customer Service Portal and processes
  • Setting up and training on Portal Chatbots

Ticket Management version – The “Lite” Solution

Pointers to create the “Lite” Ticketing system using Dynamics 365 Customer Service. The rule of thumb – remove all that is not needed and facilitate and automate any process to run in the background and ensure that tickets are closed faster

  • Identify sources of “simple” tickets.
  • Define Support teams to be able to handle these requests
  • Create queues to route tickets to these relevant teams
  • Create a shared support mailbox
  • Use an addon like “Email to Case” to exclude domains so that junk emails don’t create unnecessary cases
  • Set up automated emails to inform/ update internal Support staff and External customers
  • Enable Support staff with some standard auto texts and Knowledgebase articles to add on emails.
  • Create “lite” case forms for tickets
  • Remove overheads of entitlements and SLAs
  • Reduce status navigation
  • Facilitate case closures triggered as a background process, rather than making it data-centric detailed process
  • Retain and share value of Knowledge Base, Portal, and Chat Bots

Keep an eye out for exceptions and tweak.

You now have your 2in1- Case and Ticket management application, ready!

Final words – Dynamics 365 Customer Service is an application that can be configured to meet varying needs across the Organization– the keyword being ‘configuration’, not ‘customization’! It can work for simple and complex scenarios. It can be used across SMB and Enterprise Organizations!

Want to know how to empower your customer relationship by offering top-class service?

Install Google Analytics on your Dynamics 365 Portal in 3 Simple Steps!

Once your Dynamics 365 Portal is set up and Partners and Clients have been invited to collaborate, the next step is to review usage and understand what interests your invitees. 

The most simple and effective way to put this in place is via Google Analytics.


  1. You have updated the portal information on Google Analytics and have your Tracking code snippet from Analytics ➤ Settings ➤ Admin Panel ➤ Tracking Info ➤ Tracking code.

  1. You have the required permissions on Dynamics to administer the Portal  

Setting it up: 

  1. From your UCI interface, navigate from the app selector to “Dynamics 365 Portals” ➤ Administration (Tab) Enable Traffic Analysis 
  2. Paste the code snippet copied (in the prerequisites) from Google Analytics. Save 
  3. Clear your Portal cache and you are set. You have implemented Google Analytics! 

(Patience! The first data trickle may take 20 to 24 hours)


Build out a quick Power BI Analytics dashboard on Dynamics! 

Ref. How to create and set up your Google Analytics account on this link 

Want to know how our Dynamics 365 Portal have helped create amazing customer experiences?

Setting up a Simple Case Management System on Dynamics 365

The article assumes that you are a Dynamics consultant and does not try to technically guide you, but guides you so that you can quickly implement without missing key components 

There are 3 main areas to focus on when setting up Case Management on Dynamics 365.

 1. Case Settings 

  • Case creation 
  • Parent- Child Cases 
  • Queues and Routing 

 2. Contract/ Service terms 

 3. Knowledge Management 

Case Settings 

Two notable components of this section are Queues and Teams:

  • Teams (not linked to MS Teams) are groups with a common skill or belonging to specific departments, etc.  responsible for certain tasks 
  • Queues are support workloads that can be segregated by criteria. E.g. Priority and normal queues, premium customer queues‘specific product’ queuesBasic support queue, etc. 

Once a case is logged, queues help segregate them and assign it to certain teams. Agents can pick up cases from the queues to which they are assigned. 

 Case creation 

SourceWhile Dynamics supports the below sources for automatic case creation EmailSocial activityTaskPhone callAppointmentService activityCustom activity, apart from Manual case creation and creation from email, a prerequisite for other sources would be that they need to be Integrated.

Subject: this can be a multilevel tree view but- this is different – it can only be added from Service Settings. 

Conditions for case creationWhen an email is received, some configurations/ scenarios to handle.  

  1. Create records for emails from unknown senders. 
  2. Create a case if a valid entitlement exists for the customer 
  3. Create cases for activities associated with a resolved case 
  4. Send automatic email response to a customer on record creation 

Parent-Child Cases 

They are used to track multiple issues for a customer or track the same issue that’s affecting multiple customers or where work needs to be done by various departments for closure. While each case has its own details, a child’s case cannot have another child. The closure on such cases needs to be configured.


  1. Close all child cases when the parent case is closed 
  2. Don’t allow parent case closure until all child cases are closed 
  3. Allow parent and child to be independently closed 

Queues and Routing 

At the very base, there are 2 kinds of queues – Public and PrivatePrivate queues are specific user queues and the Public queues are those which are accessible across Organization teams.

Queues are used to have central storage of work and can be classified by:

  1. Different products or services 
  2. Different subscription levels (regular, premium customers) 
  3. Various activity categories 
  4. Different geography 

Routing: Cases and activities can be set up to be automatically routed to Queues or be manually added to them. Rules for automatic routing can be set up and cases regrouped under queues. Routing rules can be used to even ensure that spam and unsolicited emails to a mailbox don’t create cases.  Agents or Teams can be given access or set up that everyone in the Organization can access them. 

Contract/ Service Terms 

A few important concerns which most Organizations have:

  • Are cases of priority customers or on Premium support being handled as such 
  • Are agents able to identify and pick up critical cases from the general cases 
  • Are Service KPIs being adhered to and cases being resolved timely 

To ensure that the above concerns are assuaged, this section is critical and the key to ensuring that customers get the right value for their investment and Organizationsactual customer delight. 

Service Level Agreement (SLA) 

SLAs are used to measure KPIs of the Service agreement with the customerSLAs are associated with entitlements and the latter to cases. While Standard SLAs track minutes to failure, Enhanced SLAs set up, lets you Pause SLA time when the case is on “Hold” and Initiate Action (On SuccessReminder for upcoming breach, and Service Level breaches). Enhanced SLAs can be set up based on Geographies from where the case is raised, Org. working hours, and adding multiple conditions for a KPI to apply. 


Entitlements are in layman terms, “contracts” governing support engagements. They are translated from the signed Work Orders and used to track the kind of supportcustomers are eligible for. Key configurations on entitlements:

  1. Support terms – number of cases or hours 
  2. (if) support per Product or Service type purchased 
  3. Eligibility per channel of engagement -phone, email, etc. 
  4. Service Level applicable 
  5. Customer Contacts eligible 
  6. Contract Duration 

A customer can have multiple entitlements and each entitlement can reference multiple casesEntitlements can be made mandatory on Cases, to prevent any cases being handled out of the contract. 

Knowledge Management 

Knowledge Base 

Dynamics Customer Service has a native Knowledge Base Creation, Management, and Publishing mechanism.  

review mechanism to approve and publish articles is available where a certain role can create, and another approveKnowledge articles can be classified under categories and can be defined as Internal or External.  

If using the Dynamics 365 or PowerApps Portal for customer service, KBs marked as Internal, will not be displayed there. Internal KBs can only be viewed within Dynamics. 

Cases and KBs are closely linkedusers can search through existing KBs while on case record and select a KB as the solution for case resolution.  

The next steps after setting up Case management on Dynamics would be to:

  1. Expose the application to customers using the Portal 
  2. Set up ‘chatbots on the portal for an omnichannel experience. 

Want to know how our Self Service Portals have helped create amazing customer experiences?

Create PDF documents from Dynamics 365

Generate PDF Documents from Dynamics 365

Generation of PDF documents from Dynamics 365 is required at many steps within Dynamics 365 processes – ideally to keep a record of a state of a record or to share with users – internal/ external.

Some common ways to generate documents was via Document templates, SSRS reports and Mail merge [ soon to be deprecated]

SSRS Report generator: Within the ambit of Dynamics, this is the only tool that allows the generation of documents in multiple formats. Though involving multiple clicks from the end-user, it gets the required output.

However, even if a basic document is needed to be generated via SSRS, the task of building, correcting, and deploying an SSRS report using data from dynamics is not a task for the Business user. Requests always needed to be routed via the development team and many a time takes up multiple iterations to get a perfect document out.

The bottom-line: While popular, SSRS is a Report generator tool and is an overkill if used for document generation

Document templates: This continues to be the most popular mode of document generation on Dynamics. Basic templates can be quickly created, and a single click can publish the data and download the file. While one issue of “no document generator” was resolved, another problem was identified.

Using templates, the downloaded file format is only available as a Word file – a format good for editing, but not for sharing. The user still needed to use a pdf converter offline and then share or save a non-editable copy

One of the most sought-after features on User Voice was the request for a PDF document generator from within the application

While no timeline was set for this release on the app, various ISV’s offered their own custom solutions, which could output documents in different formats.

So, on one side was the OOB solutions which involved multiple steps from the users end to generate the document, and on the other were the  3rd party add-ons which though involved investment could do the same job in a couple of clicks.

PDF generation with 9.x

Finally, with the major 9.x release and the move to the app model, Microsoft released the PDF generation feature on the Sales app [but only on the Quote record for now!]

While it’s the document templates that are selectable for output as pdf, the navigation has been made easier.

Rather than navigating to the template and then having a button for pdf output, Microsoft has separated the Word Template buttons and the PDF buttons

2 new PDF buttons (‘Create PDF’ & ‘Email as PDF’) available on the Ribbon directly. Clicking on the dropdown lists down all Word Templates published to be available on the entity.

Create & Email PDF

These buttons do exactly what they say.

Create PDF: Automatically creates a PDF document for the selected Document Template and opens it up within the browser on the screen.
Email as PDF: Opens up a draft Email record with From, To, Subject & Regarding fields auto-populated, and the PDF document attached.

Users can manually make the necessary changes to the Email and send it.

Steps to enable the PDF features

The feature while currently available only for UCI is disabled by default
To enable PDF generation on the  Quote entity, browse to ‘App Settings’ area within the ‘Sales Hub’
Within this area, under ‘Sales Administration’, you should find the ‘PDF Generation’ setting.
Set it to ‘Enabled’

Note: In some CRM instances the location may slightly differ based on the sitemap customizations.

Enable PDF Feature

While at the moment, the PDF generation feature seems to be limited only for the Quote entity, we can be sure to see this on the other entities soon!

The Future of Dynamics 365 Project Service Automation

Planner, Project Service Automation, Projects, Finance, and Operations – the Final Vision

The 2019 release wave 2 investments have been focused on providing modular offerings where capabilities across Microsoft Project, Project Service Automation, and Finance and Operations service industries are to complement each other in a seamless fashion when combined and provide a simple go-to-market story that is easily consumable.

The service industries module in Finance and Operations is especially strong in project accounting, with revenue recognition and customer-facing invoicing that leverage date-effective exchange rates and a rich sales tax.

At some point in 2020/21 support for PSA, 3.x clients will get withdrawn and clients will have to transition to Project Online on CDS and Sales Extensions for Project.

For individuals and teams working together on tasks, the Planner will last as the beginning point. The Planner is not a component of the new Project service but the Planner will be added into the new Project service. The Planner Plans will also be present in Project Home, Roadmap, and for reporting across all work.

Work in Progress

In preparation of this vision, changes have been happening across the 3 main applications – Projects, Project Service and Finance and Operations

Users will be able to have access across the 3 applications and based on the Source of Information, be able to work on it, or read information updated from other apps.

Impact on Dynamics 365 Project Service and the Upcoming PSA features

In Q1 2020, MS will replace PSA’s Work Breakdown Structure (WBS), Gantt, and task scheduling capabilities by leveraging these from the new Project service experience.

Once the new integrated experience is available, there is an announcement expected which will define a new way of acquiring the capabilities encapsulated in the current PSA offering.

The PSA subscription will take place by a mixture of Project Online subscriptions and a Dynamics 365 subscription.

Upcoming Dynamics 365 Project Service Automation (PSA) features

Extending the new Project Service and Dynamics Sales Extensions for Project with the Project Financials capabilities in Dynamics 365 Finance will provide a comprehensive offering for project-based organizations.

This initiative will center around combining the existing capabilities in Project Service Automation and Dynamics 365 Finance to complete the business processes for projects.

  • Ability to set up split-billing for project contracts
  • Ability to set up not-to-exceed limits for project contracts and quotes and enforce them during invoicing
  • Ability to set up billing and charge ability options for work breakdown structure (WBS) tasks
  • Support for retainers on project contracts
  • Point-of-origin-based project operations

project based services

Dynamics Sales Extension for Projects

The 2019 release wave 2 will construct on the new project service and will bring the Dynamics 365 Project Service Automation ability with Microsoft Project in a single experience.

This will incorporate abilities such as bookings, sales, pricing, costing, time and expense capture, and approvals and project actuals. These abilities will be packaged as a solution representing Dynamics Sales Extension for Projects.

Portal Security Authentication and Authorization – Quick Reference Guide


Local Authentication (Not Recommended by Microsoft)

  • Contact record configured for Portal access
  • Invite enabled access (configurable)
  • Username & Password stored in CRM. Password is encrypted
  • Password Recovery & Reset
  • Email address confirmation & Two-factor authentication via email (optional)
  • Lockout in case of multiple failed login attempts (configurable)

External Authentication

  • Contact record configured for Portal access
  • No-code configuration approach for setup
  • Implemented via ASP.Net Identity API framework  (OpenID Connect or OAuth or SAML based providers)
  • Invite enabled access (configurable)
  • Password managed by 3rd party identity provider (Yahoo, Google, Twitter, Facebook, Microsoft, Yammer, LinkedIn etc)
  • Multiple external identities can be configured. Users can login with any of the accounts (depending on configuration)


Web Roles

  • Controls access to the Portal
  • Users can have 1 or many roles. (roles are additive)
  • An administrator can define custom roles
  • An administrator can define a default role, which will automatically available to a logged-in user (even if the contact has not been assigned any web role)

Entity Permissions

  • Enables record-based security.
  • Handles scope (global, parental, account, contact) and permissions (read, create, write, delete) for data surfaced on the portal

Web Page Access Control Rules*

  • Restricts access to Portal Web Pages

Content Access Level

  • Provides an additional layer of security for Knowledge Articles (e.g. : Default, Registered Users and Premium Users)

Publishing State Transition Rules

  • It provides an additional layer of security for managing content on the portal.

Forum Access Permissions

  • Provides an additional layer of security for viewing and/or moderating Forums

Website Access Permissions

  • Permissions for enabling front-side editing of portal content (e.g. : Managing site navigation, content snippet etc)

Liquid Templates

  • Custom code using Liquid can be used to cover scenarios not achievable using above.

Other Security Features

IP Address Restriction

  • Restrict access to the portal via IP address

Enable maintenance mode

  • Disable portal access when the portal/CRM is under maintenance
  • Display a customized page to notify the user

GDPR Implementation

  • Several configuration options available for GDPR compliance

Also, read Dynamics 365 Portals Authentication – Options and Features

PowerApps Portals (Part 1)


The PowerApps Portals provide one of the last missing pieces to the Power Platform story.

PowerApps Portals was announced in June as the successor to Dynamics 365 Portal. It will be fully decoupled from Customer Experience apps and will live alongside the two other types of PowerApps – Canvas and Model-driven. It has been promoted as a way to expose processes and data to external users with new mechanisms tied to Azure, PowerApps, and the Common Data Service [including Dynamics].

PowerApp Portal

For Microsoft and other enterprise software vendors, exposing business systems data to non-licensed users has been a long-running point of contention. Customers have long been warned not to look for workarounds to purchasing licenses such as exposing data through reports or other customer application interfaces that avoid licensed interfaces. With the below changes, Microsoft expects to plug this gap and compliance issue –

  • Putting together a new licensing model for Portals
  • Implementing consumption measuring devices
  • Simplifying for the Org to quickly onboard and
  • Extending the platform with enhancements and integrations

Details below are based on information as is currently being shared by Microsoft – however, MS is still taking feedback from partners and trying to make some amendments to the licensing structure.

What is a PowerApps Portals?

A PowerApps Portal is a Low Code, responsive Website with the familiar WYSIWYG designer for easy branding, linkable to a CDS system. Users can interact with the data via authentication provided by enterprise authentication providers or anonymously. Information can be filtered, and security applied so that the external user can only see or interact with data that is specific to him or his role.

What is the CDS system?

CDS for simple understanding is an easy to manage, secure database with a prebuilt set of entities provided as a paid Azure Service.

While Dynamics 365 already uses CDS as the backend, data from multiple other data stores can be easily integrated into CDS and a unified experience across databases can be provided

Features of the PowerApps Portals

To understand its features simplistically – As an off-shoot of the Dynamics 365 portals, all of what can be done on the existing Dynamics Portals can be done on the PowerApps Portals too- and more. The biggest feature on the portal is the ease of building the PowerApps Portal. The Basic version of the portal can be set up easily by the business users, with drag and drop functionality. Advanced versions need Liquid consultants and developers

Features Compare and Contrast – Dynamics 365 Portals and PowerApps Portals

Dynamics 365 PortalsPowerApps Portals


2 default URL options

– microsoftcrmportals

– powerappsportal

1 default URL option

– powerappsportal



Developer IntensiveQuick and easy setup experience


Built on Dynamics or CDS dataBuilt on Dynamics or CDS data


Prebuilt templates

– customer sales and service,

– employee sales and service,

– employee management, and

– community management.

Build from scratch using a Blank template [ same templates as on dynamics to come]


Authentication: Predefined set of providers, but cumbersome to set upAvailable authentication configuration: Azure AD B2C, LinkedIn, Facebook, Google, Okta, and others


Can be linked to Dynamics 1st Party apps only, as a sourceCan work with any a CDS based data source

Skillsets needed to work on the PowerApps Portals

  • Ability to code using Liquid code and JavaScript
  • Experience around working with entities and processes
  • Understanding of security roles and permissions
  • WYSIWYG designing
  • Understanding/ implementation of Authentication Providers [recommended is AzureB2C]


Microsoft revealed new pricing and licensing for PowerApps Portals during Inspire but since then has been evolving and building on it.

Notable changes have been announced.

Pricing – Compare and Contrast – Dynamics 365 Portals and PowerApps Portals

ParameterDynamics 365 PortalsNew PowerApps Portals
Provisioning a portal instancePurchase Dynamics 365 Additional Portal SKU at $500 per monthProvision a portal—no need to purchase portal addons to provision a portal
Qualifying base offersDynamics 365 licenses onlyCustomers can add on portal external login or page view capacity to Dynamics 365, PowerApps and Microsoft Flow licenses
Internal use rightsDynamics 365 enterprise licenses, Dynamics 365 team member license.Internal users can now access portals with a PowerApps per-app/per-user license. For a Dynamics license, it is the same as custom PowerApps use rights.
MonetizationPer portal instance Per page viewPer log in Per page view
Entitlement for Dynamics 365 customers1 portal instance for the first 10 full Dynamics 365 USLsNot applicable―PowerApps Portals instances can be provisioned

PowerApps Portals – Licensing details

[as currently available for – Dt.9 Sept. 2019]

PowerApps Portals can be provisioned without requiring a specific license. They are charged only on Usage. Breaking down the Portal Users into Licensed and Non Licensed users, irrespective of whether they are internal or external –

1) Licensed users [Internal]

  • A user having any PowerApp Plan license
  • Dynamics 365 [various]

Users who have valid licenses will not be levied an additional usage charge

2) Non-Licensed users [Internal or External]

Microsoft differentiates between Anonymous [ not signed in] and Authenticated [signed in] users.

  • Authenticated users
    • Access by authenticated users will be charged on a “per log-in”. A log-in is defined as a twenty-four-hour period of access by a single authenticated user/ app, chargeable monthly.
  • Anonymous users
    • Anonymous portal users will be priced on a simple “per-page-view” model, chargeable monthly

3) Minimum licensing quantities

  • Login quantity

The minimum login quantity to be assigned to a portal is 100 logins/month.

Once you have assigned 100 logins, you can assign them in units of 1.

  •  Pageviews quantity:

Minimum 50,000 per portal, after that you can assign 1 at a minimum.

4) Additional portal instances

  • Additional portal instances can be spun up without any additional charge.
  • Monthly charge based on usage will be billable based on above permutations

5) Existing Dynamics 365 access to PowerApps Portals

Dynamics 365 Enterprise users will continue to be able to run apps and portals that extend and customize the licensed Dynamics 365 application, as long as those apps and portals [even if they are custom] are located in the same environment as their licensed Dynamics 365 application.

Custom apps or portals outside of the Dynamics 365 environment and access to his app license on Dynamics 365 will require a standalone PowerApps license.

The Team Member license does not get access to the custom portal as Team Member licenses do not allow access to a custom app.

user types



Also read, PowerApps Portals (Part 2)

Want to know how our Self Service Portals have helped create amazing customer experiences?

Charts on Dynamics 365 Portal

There are two ways to add charts on Dynamics 365 Portal

  1. Add chart Liquid tag in the Copy field on a webpage
  2. Add chart Liquid tag in the Source field on a Web Template

Prerequisite for implementing Charts on Portal

  • Entity Permission Requirement
  • ID of Chart
  • ID of view to filter the query

  a) Entity permission requirement

Read privilege is asserted for the target entity being queried in the chart. For anonymous or authenticated users to be able to view the chart, you must ensure that the appropriate Entity Permission records are created and assigned to applicable Web Roles

If permission is not granted, the user will see an access denied message or You do not have appropriate privileges.

  b) ID of Chart

Follow below steps for getting id of chart

1) Go to the target entity, for example, Sales ➤ Leads.

2) Select ‘Show Charts’ option from the top ribbon

show chart

3) Choose the chart you want.

4) Select More Commands, and then select Export Chart.

lead by source

5) Open the XML file of the exported chart in a text editor.

6) Copy the value of the <visualizationid> tag.

lead by source xml7) Paste the visualizationid value into your Liquid chart tag declaration for the chart ID parameter, for example:

{% chart id:EE3C733D-5693-DE11-97D4-00155DA3B01E %}.

  c) ID of view to filter the query

1) Go to the target entity, for example, Sales ➤ Leads.

2) Select the view you want from the view drop-down header.

lead by source

3) Copy the viewid value from the View window’s URL.


copy viewid

4) Paste this ID into your Liquid chart tag declaration for the viewid parameter, for example:

<!—Leads by Source – All Leads –>

{% chart id:”EE3C733D-5693-DE11-97D4-00155DA3B01E” viewid:”00000000-0000-0000-00AA-000010001006″ %}

Method 1 – Add chart Liquid tag in the copy field on the webpage

Follow the below steps for adding a chart.

a) Add Child Page to Portal.

b) Give all required details on General

c) Go to Language Content

d) Add below liquid tag with required original ids in Copy field of Page

{% chart id:”EE3C733D-5693-DE11-97D4-00155DA3B01E” viewid:”00000000-0000-0000-00AA-000010001006″ %}

create new child page

e) Save Page

Method 2 – Liquid tag in the source field on the web template

Follow the below steps to add chart using Copy field on a web page

a) Navigate to Dynamics 365 portal

b) Go to Web Template ➤ Add new template

c) Give details like Name and Website

chart web template

d) Add below code in Source field, you can add single or multiple charts as per requirement. Replace Id’s with actuals

code for portale) Save Web Template

f) Next, navigate to a page template to be used, you can use existing also.

g) Page Template ➤ Create Page Template

h) Add below details

Name, Website, Type=Web Template, Web Template=template you have created above, entity name =Web Page(adx_webpage)

chart page template 2

i) Save Page Template

j) Now create a child page on the portal

k) Give details as below.

charts for leads

l) Save Page.

The Final Output

Final output

Unsupported charts and chart types

The following Dynamics 365 for Customer Engagement chart types are currently not supported in portals:

  • Doughnut
  • Tag

The following table lists the Dynamics 365 for Customer Engagement charts that are currently not supported in portals.

Chart NameChart IDEntity Type
Accounts by Owner – Tag Chartbe178262-6142-4b41-85b7-4ccedc62cfd9account
Activities by Owner – Tag Chartc83b331e-87c7-488c-b8e7-89a6098ea102activitypointer
Activities by Priority – Doughnut Chartd3f6c1eb-2e4b-428b-8949-682a311ae057activitypointer
Contacts by Account2ff3ebea-6310-4dde-b3a1-e1144ea42b7bcontact
Contacts by Countryea89e2ad-2602-4333-8724-aa5775d66b77contact
Contacts by Preferred Contact Method751b7456-308e-4568-a3a9-47135aae833acontact
Goal Progress (Count)a93b8f7b-9c68-df11-ae90-00155d2e3002goal
Goal Progress (Money)aec6d51c-ea67-df11-ae90-00155d2e3002goal
Today’s Target Vs. Actuals (Count)1b697c8e-9a6f-df11-986c-00155d2e3002goal
Today’s Target Vs. Actuals (Money)1e697c8e-9a6f-df11-986c-00155d2e3002goal
Cases By Account38872e4f-ac99-e511-80da-00155dc1b253incident
Cases By Priority0f0fb995-9d6f-453c-b26d-8f443e42e676incident
Cases By Product17c3f166-5b22-4476-819b-b05da2e8d24fincident
Articles expiring this month by owner47d696ad-7c3b-e511-80d1-00155db10d2bknowledgearticle
By Owner330068fd-833b-e511-80d1-00155db10d2bknowledgearticle
By Subjectbcd3f9a5-913b-e511-80d1-00155db10d2bknowledgearticle



Importing Multi-Select Picklist Data in Dynamics 365

Multi-select picklist data was one of the most requested features in the Dynamics community and was introduced in Dynamics 365 from ver. 9.0

The issue

Although introduced, importing multi-select picklist data can be a problem using the CRM Import Tool. Below is the sample CSV file with a multi-select column named ‘Hobbies’.

Multi-Select Picklist data

Although it as 2 distinct values in the ‘Hobbies’ column (data in the multi-select field is available in the field separated by a semicolon), the CRM Import Tool does not consider the same. Refer screenshot below.

map fields dynamics 365

Importing the above will result in CRM automatically creating a new option set value called ‘Running; Swimming’ which is not the intended purpose.

The good news

The CRM Import Tool supports both CREATE and UPDATE of records. Although the tool does not support multi-select picklist data during record creation, it does support multi-select picklist data during the update of records.

Workaround steps

  • On the CSV file which you plan to import (for record creation) add a new column (e.g.: Unique Id) and populate it with a sequential number value.unique id dynamics 365



  • Create a similar field in CRM (datatype: whole number) on the entity.
    While mapping the columns during Data Import ensure the map the ‘Unique ID’ column with the newly created field.
    Do the map of the Multi-select field. (We will be handling this after the import)
  • Now proceed with the Import. Once successfully importedyou should have all the records created in CRM with the ‘Unique ID’ field.
  • Include the ‘Unique ID’ field and the Multi-select field in a new view and sort it based on the ‘Unique ID’. Now export the view to Excel as a ‘Static worksheet’.
  • You now have 2 files:
    • Original import file
    • Exported data file from CRM
  • Ensure that the data in both files have been sorted by the Unique ID field. Carefully copy the multi-select column data from the original file and paste it over the multi-select column on the file exported from CRM. (Do not overwrite the header column)
  • Simply import back the updated file using the CRM Import Tool. CRM will identify it as an updated job and update back all the records in CRM with the multi-select values.

Alternatively, you could even use the ‘Open in Excel Online’ feature to do the same.

Limitations of Multi Select pick Lists

  1. The default value for a multi-select picklist cannot be set from within Customizations; however, you could use a custom code approach to set a default value.
  2. You could define any number of options for a multi-select picklist, however, only a maximum 150 options can be selected for a multi-select picklist field
  3. Although a multi-select picklist is available as a ‘Trigger’ for workflows, it cannot be used within a ‘Check Condition’ on a Step.
  4. Bulk-Edit does not support multi-select picklist fields.
  5. If you plan to use the CRM SDK to create/update multi-select picklist values, ensure that you are using the ver. 9 or above of the SDK assemblies.

More details on how to interact with multi-select picklist via CRM SDK here

By partnering with us, we will help you leverage the advanced functionalities of Dynamics 365 to empower your business and improve business efficiency.