How to – Access Dataverse environment storage using SAS Token


We can access our environment’s storage using a SAS token. 

Download – Azure Storage Explorerhttps://azure.microsoft.com/features/storage-explorer/#overview

Select Connect to Azure resources option

Select ADLS Gen2 container or directory for the Azure storage type.

Select the Shared access signature URL for the connection

To get the SAS URLhttps://[ContainerURL]/CDS?[SASToken],

we need ContainerURL and SASToken.

To get Container URL use the below link –

ContainerURL = <a href="https:///api/data/v9.1/datalakefolders”>https://&lt;EnvironmentURL>/api/data/v9.1/datalakefolders

In our case – https://mycrm2022.crm.dynamics.com/api/data/v9.1/datalakefolders

The containerendpoint = https://aeth2b4c5907361d483c9641.dfs.core.windows.net/aeth-b986098f-1315-45cc-b8e6-61c5a1a1631a

Copy the value of containerendpoint (ContainerURL)


Navigate to the below URL by replacing the value of the Environment URL and Container URL

<a href="https:///api/data/v9.1/RetrieveAnalyticsStoreAccess(Url=@a,ResourceType=’Folder&#8217;,Permissions=’Read,List’)?@a=’/CDS”>https://&lt;EnvironmentURL>/api/data/v9.1/RetrieveAnalyticsStoreAccess(Url=@a,ResourceType=’Folder’,Permissions=’Read,List’)?@a='<ContainerURL>/CDS’

i.e.

https://mycrm2022.crm.dynamics.com/api/data/v9.1/RetrieveAnalyticsStoreAccess(Url=@a,ResourceType=’Folder’,Permissions=’Read,List’)?@a=%27https://aeth2b4c5907361d483c9641.dfs.core.windows.net/aeth-b986098f-1315-45cc-b8e6-61c5a1a1631a/CDS%27

to get the SAS token (the SAS Token will expire after 1 hour)


Construct the SAS URL which we will use in the Azure Explorer’s connection info  <a href="https:///CDS?https://<ContainerURL>/CDS?<SASToken&gt;

https://aeth2b4c5907361d483c9641.dfs.core.windows.net/aeth-b986098f-1315-45cc-b8e6-61c5a1a1631a/CDS?skoid=3c1e8701-292f-478f-8f42-df7e9cc692c9&sktid=975f013f-7f24-47e8-a7d3-abc4752bf346&skt=2022-11-04T19%3A02%3A44Z&ske=2022-11-04T20%3A18%3A44Z&sks=b&skv=2020-08-04&sv=2020-08-04&se=2022-11-04T20%3A08%3A44Z&sr=d&sp=rl&sdd=1&sig=kKHHJLbb4gjAtTiQCbiuwQ8QrInY33zGEY1FvpxCLK%03D0

Now we have access to the storage

Here we have opened the contact folder just as an example


We only have read-only access, any other access like delete, rename, upload, etc. will fail


Get all the details here – https://learn.microsoft.com/en-us/power-platform/admin/storage-sas-token

Hope it helps..

Advertisements

Key points – Copying environment in Dynamics 365 Marketing


Few key points for quick reference, if we plan to copy Dynamics 365 Marketing environment.

You could find all the details here –

https://learn.microsoft.com/en-us/dynamics365/marketing/manage-marketing-environments

Copy procedure will –

  • Delete the target environment
  • Uninstall the Dynamics 365 Marketing on the target environment (if the target environment already has the marketing license it will take over the same license).
  • Delete all the interactions records – email clicks, website visits, etc. and images used in Email and Marketing Pages (they need to be backed up in separate storage, the marketing environment backup will not have that data as it is managed separately / differently by Marketing Service including Marketing Insight Service).

After Copy

  • We need to re-run the Marketing Setup as the email sending and insights services will not work.
  • The marketing setup will create a new set of marketing services, therefore new interaction data will be created.
  • We need to again Authenticate Domain and update the DNS records.
  • Images used in Email and Marketing pages in Source Environment will have to be uploaded again in the Target Environment, else they will keep referring to the images hosted in the source environment.
  • All the emails, customer journeys, lead-score records, and more will be in the draft stage after copy, they need to be updated to the go-live status in the target environment.
  • All real-time journeys will be in the stopped stage, to restart them the journey must be duplicated before it can be executed.
  • In case Power App portals are being used, they need to reset first in the target environment to release the license and need to be configured again after copy

Also,

We can use the Configuration Migration Utility to move data between environments – marketing pages, journeys, emails, etc.

Interaction data cannot be to transferred to the target environment.

Solution export and import procedure can be used to move the customizations between different environments.

For extracting marketing interactions – https://community.dynamics.com/365/dynamics-365-fasttrack/b/dynamics-365-fasttrack-blog/posts/extracting-marketing-interactions-in-dynamics-365-marketing

Below is our marketing app showing configured before copy –

and after copying the environment, as expected, shows Not configured.

On trying to re-run the marketing setup we got the below error –

Click on Retry starts the uninstall process

We had to raise the Microsoft Support which eventually fixed the issue at their end with the help of Product Group team.

Hope it helps..

Advertisements

Few key points – Dynamics 365 Marketing Licensing / Apps


Below are a few key points and links for quick reference –

Core Marketing License

Dynamics 365 Marketing – For organizations without any other Dynamics 365 Application.

Dynamics 365 Marketing Attach – For organizations with qualifying Dynamics 365 Applications (minimum 10 users of the following apps – Dynamics 365 Sales, Customer Service, Field Service, Supply Chain Management, Finance or Commerce)

Additional Marketing Licenses – that can be purchased apart from the core license –

Production License – Used for the production environment. Fully functional and includes both solutions and services. It is licensed per tenant and includes a default capacity allotment of 10K Marketing contacts (contact, lead, account, customer insights B2C profile, etc) and 100K marketing interactions (email, SMS, push notifications) per month.

Non-Production License – Used for the test environment to try out new features or customizations. Fully functional and includes both solutions and services but has strict quotas and cannot be used to run production campaigns.

Solution Only License – Used for development or test environment for customizations, importing or exporting solutions, non-functional testing, other development, etc. Only includes solutions and entities and doesn’t include any services. Included with Paid Licenses. To convert a solution-only environment to production or non-production, we will need to purchase either production or non-production license and do the configuration using the marketing setup wizard.


Another Tenant example –

Picture1

A configured Marketing Application app will have the unique id of the organization / env. appended to it, on which it has been configured as shown above.

Dynamics 365 Marketing Application App: This is a fully functional Dynamics 365 Marketing application, including both solutions and services. Mainly for production but can be used for another environment for testing the functionalities.

Dynamics 365 Marketing Solution Only App: This application includes all the marketing solutions/entities but doesn’t include any services. It can be installed on as many test or development environments as needed for no additional charge.

Other points –

We can only have one Dynamics 365 marketing app per environment i.e. each Dynamics 365 Marketing App can be tied to only one environment.

To add more marketing apps to the tenant, we need to purchase an additional license. On purchase of the license, we can see an unconfigured Dynamics 365 Marketing app added in the tenant.

We can have n number of marketing apps available in the tenant, which can be assigned to any of the Dynamics 365 environments not being used for marketing earlier.

We can also set up a marketing trial – https://learn.microsoft.com/en-us/dynamics365/marketing/trial-signup which can be later purchased – https://learn.microsoft.com/en-us/dynamics365/marketing/direct-purchase#purchase-a-license-within-a-trial

Adding Marketing capacities – We can buy additional marketing contacts and interactions as below

Dynamics 365 Marketing Pricinghttps://dynamics.microsoft.com/en-us/marketing/pricing/

Step by step – Configure Dynamics 365 Marketing in a Dataverse Environment

Hope it helps..

Advertisements

Personalization Comparison –Marketo and Dynamics 365 Marketing


Marketo

Dynamics 365 Marketing

In Marketo, a token is a variable that can be used in email, landing pages, snippets, web campaigns.

{{lead.First Name}}

With default value: {{lead.First Name : default :earthling}}

In Dynamics 365 Marketing, we can add Dynamic or Static Content,

Dynamic Text –

e.g. {{contact.firstname}}

Different types of Tokens: –

  • Person Tokens – {{lead.Salutation}}
  • Company Tokens – {{Company.Company Name}}
  • Campaign Tokens – {{campaign.name}}
  • System Tokens – {{system.dateTime}}
  • Trigger Tokens – {{trigger.Trigger Name}}
  • Program Tokens – {{program.Name}}
  • Member Token – {{member.webinar url}}
  • My Tokens – are custom variables that users can create for adding content quickly.

 

 

 

 

 

 

 

 

 

 

 


 

Pre-defined dynamic text (Token) (Real time marketing) –

Users can create and share pre-defined dynamic text, making it easy for users to personalize emails without knowing the underlying structure required for using dynamic text.

Accessing existing pre-defined dynamics text in email –

Creating and adding a new Pre-defined dynamic text.

Content Settings – Set of standard and required values for use in marketing email messages like subscription centre link, social media links, address etc.

To use the Content Settings fields inside Email – Personalization >> Dynamic Content >> Content Settings.

Snippet – dynamics content blocks that can be used in email and landing pages.

Content Blockpremade reusable pieces of content that can be used while designing emails, forms, and pages.

Can be used for boilerplate texts – terms and conditions, introduction.

For generic sections like Headers and Footers. It can include Dynamic Text as well as code, which can be used to create reusable content, which the team can use without knowing the dynamics text or data model of CRM. Outbound marketing and Real-Time Marketing use their own content blocks.

Select Content blocks while designing email to add them.

   
Advertisements

How to – Set up Omnichannel Voice using Azure Communication Service (ACS)


To add Voice Calling (PSTN – Public Switched Telephone Network) connectivity to an app or service, we can buy a number from Microsoft, which acts as a PSTN carrier (based on availability in the region).

https://learn.microsoft.com/en-us/dynamics365/customer-service/voice-channel-region-availability#azure-direct-routing

This is the easiest way to connect ACS (Azure Communication Services) to PSTN, managed by Microsoft. Here Microsoft will provide the numbers, and there is no deployment or maintenance of the on-premises deployment required for PSTN (Voice Calling).

If Voice Calling (PSTN) is not available in the region or if we want to use a different PSTN carrier we can opt for Azure direct routing. The advantage of Azure direct routing is that we can use a telephony carrier of our choice, by connecting Azure Communication Services to the supported SBC – Session Border Controller.

A session border controller (SBC) is a dedicated hardware device or software application that governs how phone calls are initiated, conducted, and terminated on a voice-over-Internet Protocol (VoIP) network.

For Direct Routing to work, we could configure products from the certified SBC Vendors, one such example is AudioCodesMediant VE Session Border Controller (SBC) from Azure Marketplace.

List of certified SBC Vendors

https://learn.microsoft.com/en-us/azure/communication-services/concepts/telephony/certified-session-border-controllers#certified-sbc-vendors

SIP stands for Session Initiation Protocol, and is essentially a way to make end connections for data and voice transfers over the internet, similar to HTTP functions for pages on the internet, provides a way to convert voice signals into data that can be decoded by devices used by the caller. The trunk is used to refer to a bundle of phone lines shared between users.

To configure the Omnichannel’s voice configuration using the ACS, navigate to Phone Numbers in the Omnichannel admin center and click on Get started.

The Get started option gives us the option to create and deploy a new ACS resource or select an existing ACS resource.

Get started option will only appear if we have trial has ended, or we have ended it manually or disconnected any existing ACS connection.

https://learn.microsoft.com/en-us/dynamics365/customer-service/voice-channel-connect-existing-resource?tabs=customerserviceadmincenter#prerequisites

https://learn.microsoft.com/en-us/dynamics365/customer-service/voice-channel-acs-resource

With Create new resource option, we can create a new Azure
Subscription, Azure
Resource Group, provide a Resource Name, and can select Deploy to create and deploy the required resource.

For the Use existing resource option, we need to specify the following details.

Note – To enable call recording and SMS service using Azure Event Grid – https://learn.microsoft.com/en-us/dynamics365/customer-service/voice-channel-connect-existing-resource?tabs=customerserviceadmincenter#enable-call-recording-and-sms-services

To create ACS Resource, login to Azure Portal and search for Communication Services.

Once the ACS resource is created, we have the option to configure the Phone Numbers (if we are using the numbers provided by Microsoft) or Direct Routing (for other carriers) as specified earlier.

We’d get the following options while adding Phone numbers –

  • Country or Region
  • Use Case – application or person.
  • Number Type – local or toll free.
  • Calling and SMS.

In the Numbers tab, we can find and purchase the number.

For Direct Routing

In the Session Border Controllers tab, will be specifying the FQDN
Fully Qualified Domain Name of the SBC along with the signal port number.

In the Voice Routes tab, we’d specify the number pattern and the corresponding session border controller that allows a call to be sent to a specific SBC based on the called or dialed number pattern.

https://learn.microsoft.com/en-us/azure/communication-services/concepts/telephony/direct-routing-provisioning#voice-routing-considerations

On saving the details, it will validate the information entered.

Once we have set up the ACS, next we’d register an application in Azure, these are required details inside Omnichannel Administration App while configuring the ACS in the Event grid app id and Event grid app tenant id.


The remaining ACS details required, we’d get from the ACS resource created earlier.

Enter the details and click on Connect.

Once the connection is successful, select Advanced.acsad

For Direct Routing, select Add number for Bring your own number via Azure Direct Routing (preview)

Note – SMS is not supported with Azure direct routing

https://learn.microsoft.com/en-us/dynamics365/customer-service/voice-channel-bring-your-own-number?tabs=customerserviceadmincenter

bron

Specify details of the required details –

This adds the number to the phone number list and is ready for setup.

Next click on Setup

Select the Setup workstream option there.

Specify other required details like phone number, language, behaviors, etc.

After we have configured the workstream successfully, we can call the number configured to see the Voice Channel in action.

So, for Omnichannel voice to work, we can either use Voice Calling (PSTN) provided by Microsoft or if it is not available or we want a different carrier, we can do it via Azure Direct Routing, which requires appropriate infrastructure in place along with certified Session Border Controller (SBC) and a working connection between SBC to Azure Communication Services.

Helpful links –

https://learn.microsoft.com/en-us/azure/communication-services/concepts/telephony/direct-routing-infrastructure

https://triciasinclair.com/2022/04/25/setting-up-omnichannel-voice-using-azure-communication-service/

https://neilparkhurst.com/2022/02/09/omnichannel-for-customer-service-voice-channel/

https://learn.microsoft.com/en-us/dynamics365/customer-service/voice-channel-connect-existing-resource?tabs=customerserviceadmincenter#enable-call-recording-and-sms-services

Hope it helps..

Advertisements

Workstreams Overview – part 2 – Dynamics 365 Customer Service / Omnichannel


Continuing the previous post, let us now delve deeper into the different options inside each of the workstream types.

Let us first create a workstream of type MessagingChat (Persistent) with work distribution mode as Push, and check the various configuration to be done for it.

We are presented with 5 main sections –

  1. Live Chat (setup).
  2. Routing Rules – Work classification and Route to queues.
  3. Work Distribution.
  4. Bot.
  5. Advanced Settings

In the case of work distribution as Pick the only change is in the mode displayed, the rest of the settings remains the same.

The Advance settings section has the following sections –

  1. Sessions
  2. Agent Notifications
  3. Context Variables
  4. Smart Assist Bots
  5. Quick Replies

These sections remain the same for other Channels as well – Apple Message for Business, Chat, Custom, Facebook, Google’s Business Messages, LINE, Microsoft Teams, SMS, Twitter, WeChat, and WhatsApp.

Only in the case of Chat, if we uncheck
Make Chats Persistent, we do not get the option of Auto Close after Inactivity and Keep same agent for entire conversation as those options apply specifically to the persistent chat.

  • Now let us create a workstream of type Record and see the options there.

  • Here we can see the options to specify the Intake rules instead of setting up the channel.
  • The routing rules section remains the same.
  • Work distribution doesn’t have the option of Auto Close after Inactivity and Keep same agent for the entire conversation. This is because here we routing the record and do not have any conversation with the customer.
  • The bot is also not available for record-type workstreams.

For Advanced Settings, we only have the option of Sessions and Agent notifications.

The other sections Context Variables, Smart assist bots, and Quick replies are not available that we saw for messaging type workstream, considering we are not having any conversation here.

  • Now let us check for the Voice type of workstream.

  • Here we get the same options as we have for workstream type messaging except Auto Close after Inactivity and Keep same agent for entire conversation, as expected.

And in advanced settings, the only difference when compared to the messaging channel is that there is no section for quick replies.

In a nutshell,

Settings / Options  

Messaging 

Record 

Voice 

Description

Options

Setup up channel 

Intake Rules 

Setup Voice

Set up the corresponding channels or intake rules.

Routing Rules 

       

Work Classification

(optional) 

Y 

Y 

Y 

Work classification allows us to define conditions and add additional information as output attributes for optimum assignment of the work item.

It can be based on Logical rules or Machine Learning models.

https://learn.microsoft.com/en-us/dynamics365/customer-service/configure-work-classification


Route to queues 

Y 

Y 

Y 

In Routing Rules we can define conditions/rules which when matched, route the incoming work item to the queue. If no rules match fallback queue will be used.

https://learn.microsoft.com/en-us/dynamics365/customer-service/configure-route-to-queue-rules


Work distribution 

       

Auto-close after inactivity 

Y *

N 

N 

We can define the period in minutes (days), after which the inactive conversation will be moved to the closed state.

Work distribution mode 

Y 

Y 

Y 

Push or Pick as defined while creating the workstream. Cannot be edited.

Capacity 

Y 

Y 

Y 

Can be either Unit or Profile based

https://learn.microsoft.com/en-us/dynamics365/customer-service/capacity-profiles

https://learn.microsoft.com/en-us/dynamics365/customer-service/capacity-profiles?tabs=customerservicehub#multiple-capacity-profiles-in-a-single-workstream

Block capacity for wrap up 

Y 

Y 

Y 

By default – Always Block. We can specify Don’t block or from 1 minute to 60 minutes, the duration for which agent capacity is blocked while the conversation is in Wrap Up state.


If we select Don’t block, the agent’s capacity will be immediately released when Conversation moves to Wrap State.

Doesn’t apply i.e. capacity won’t reset for End of day capacity profile.


Allowed presences 

Y 

Y 

Y 

The presence values, which agent can be assigned. Out of the box we have Available, Busy, Busy – DND, Away.

We can also define custom presence – https://learn.microsoft.com/en-us/dynamics365/customer-service/presence-custom-presence


Default skill matching algorithm 

Y 

Y 

Y 

None, Exact Match, Closet Match.

Keep same agent for entire conversation

Y*

N 

N 

If we want the conversation to be assigned to the originally assigned agent when re-initiated after some time

https://learn.microsoft.com/en-us/dynamics365/customer-service/create-workstreams?tabs=customerserviceadmincenter#agent-affinity


Only available for Push type work distribution.

Bot (optional)

Y 

N

Y 

This option allows adding a bot to the workstream.

All incoming work items will be routed to the bot first.


Only available for Push type work distribution.

Advanced Settings 

       

Sessions

Y 

Y

Y 

We can use out of the box template defined or create our own session template to be used.

Within the session template, we can define

  • The mode of the Communication Panel – Docked, Hidden, Minimized.
  • The application is to be opened in the Anchor tab.
  • Additional tabs to be opened.

https://learn.microsoft.com/en-us/dynamics365/app-profile-manager/session-templates?tabs=customerserviceadmincenter


Agent Notifications

Y 

Y 

Y

We can use the out-of-the-box notification templates defined or can create our notification template.

https://learn.microsoft.com/en-us/dynamics365/app-profile-manager/notification-templates?tabs=customerserviceadmincenter#out-of-the-box-notification-templates


Context Variables

Y 

N 

Y 

We can define context variables of type Text or Number, which can be used in macros and agent scripts and can also be used in routing rules.

https://learn.microsoft.com/en-us/dynamics365/customer-service/manage-context-variables?tabs=customerserviceadmincenter

Smart assit bots

Y 

N 

Y 

We can configure Bot to provide smart assist suggestions to the agents.

Quick Replies

Y 

N 

N 

These are predefined messages, that agents can use to quickly respond to the customers.

https://learn.microsoft.com/en-us/dynamics365/customer-service/create-quick-replies

*not available for non-persistent chat.

In the next posts, we’d delve deeper into each of the options.

Hope it helps..

Advertisements