How to expose OData feeds using Power BI? - dynamics-crm

I currently have internal users using the inbuilt OData feed exposed by Dynamics 365 Online. I would like expose a portion of the feed to anonymous users, based on the results of a predefined query, e.g. all contracts created more than one year ago, and only particular columns.
I was hoping Power BI Online could be configured to act as an intermediary and expose OData feeds based off queries.
Is this possible? Or does Power BI Online only consume data?

No it’s not possible. Dynamics CRM feed need authentication to show entitled data. PowerBI cannot generate feeds just consumption for reporting & data visualizations.
Either you can develop your own open API in which some service account can be used to impersonate for accessing filtered Dynamics CRM dataset, PowerBI can consume that API.
Or some SQL/Exported excel file in onedrive can be used as data source.

Related

Extract Dynamics 365 read audit log data from security compliance center

I want to extract the read audit data from Microsoft security & compliance center and I have enable the audit logs for read audit logs and now I need to extract from Microsoft security & compliance center and I see the audit log created in Microsoft security & compliance center. Now I want extract or export data from Microsoft security & compliance center to Azure event hub using console app or web api.
Can anyone help me, how can I extract the data from Microsoft security & compliance center I used XRMToolBox using audit history extractor and it is extracting the audit data from CRM but I need extract or export the read audit data for Dynamics CRM from Microsoft security & compliance center.
How can I build the process? I checked my website I don't see any proper resource.
It’s little bit tricky and not so straight forward. You can get a webhook trigger for new data once ready, then you need to parse it and send to your event hub.
Office 365 Management Activity API reference
The Office 365 Management Activity API aggregates actions and events into tenant-specific content blobs, which are classified by the type and source of the content they contain.
To begin retrieving content blobs for a tenant, you first a create subscription to the desired content types. If you are retrieving content blobs for multiple tenants, you create multiple subscriptions to each of the desired content types, one for each tenant.
After you create a subscription, you can poll regularly to discover new content blobs that are available for download, or you can register a webhook endpoint with the subscription and we will send notifications to this endpoint as new content blobs are available.
Note:
When a subscription is created, it can take up to 12 hours for the first content blobs to become available for that subscription. The content blobs are created by collecting and aggregating actions and events across multiple servers and datacenters. As a result of this distributed process, the actions and events contained in the content blobs will not necessarily appear in the order in which they occurred. One content blob can contain actions and events that occurred prior to the actions and events contained in an earlier content blob. We are working to decrease the latency between the occurrence of actions and events and their availability within a content blob, but we can't guarantee that they appear sequentially.
Sample logs and schema reference.

Microsoft Dynamics 365 bulk update/import via Microsoft Flow

Is there a way to perform a bulk update from an CSV file into Dynamics 365 via Microsoft Flow?
I have been looking at the following capability that was supposed to be released (September 2019), but could find the "Batch" action anywhere under common data service:
Automated flows support batch operations in Common Data Service
Release notes:
What's new and planned for Microsoft Flow
However, I was hoping there is an alternative that could even possibly leverage some bulk update task in the mean time.
The requirement is that I would like to perform a bulk update of records once a day, updating/inserting as needed.
ETL job for Dynamics 365 is huge deal, we have third party providers like Kingswaysoft for SSIS, Scribe, Cozyroc, etc to furnish the necessary connector versions along with rapidly changing CRM endpoints. They support batch operations, multi threading using RESTful web api as well.
Pro developers will do console app & do task schedulers for the same ETL job. Now we want to do the same in MS Flow (Power Automate), surprisingly the links you shared were removed for the trace of those terminologies. Impossible?
We can do read the CSV file & iterate the rows, then transform the values for the datatypes like currency, picklist (optionset), lookup, and finally update/create in Dynamics 365 as per our need.
Microsoft Flow: CSV Integration with Dynamics 365 (Example)
Yes, this is not batch operation, but CRM REST web api endpoint supports batch operation, I know to use it only using C# and JavaScript :)

How to synchronize the Business Hours and Holidays in Dynamics 365 using Data Export Service

I wanted to synchronize the business hours and holidays to Azure SQL using the data export service in Dynamics 365. I can't find the entities that I needed to synchronized, is it possible to do and if it is which entities should I synchronized?
You are looking for special entities that too very complex internal type entities, which is not available for enabling change tracking & thus Data Export service (DES) cannot replicate in Azure SQL. Read more
Probably you can use the REST Web API endpoint [organization URI]/api/data/v9.0/calendars to pull these & store explicitly. I have not tried it, but did a simple browser test successfully. Reference
Worst case, create them manually in SQL directly for usage. Instead of all the above complicated route.

Generate report from Microsoft Application Insights data

Currently we use Microsoft Application Insights for performance tracking and it worked very well and we could easily grab the report/chart on Azure portal, the problem is that the application we are monitoring is for one of our clients and we don't want to share the Azure portal with them.
I know there is an AI API which could be used to grab data and do whatever we want, but is there any easy way to share AI data with client without letting them log into the AI portal in AZure?
Thanks.
Read-only Power BI dashboard may be the good option here. The steps for couple ways of achieving this integration are here. However, you may go even simpler route:
use an Export button in Analytics UI of Application Insights resource and choose "Power BI (M query)" as a target;
paste this query as a new data source in Power BI (of type "Blank Query");
authenticate to AI backend (that's the important part of making this Dashboard read-only, so no one can change the query to extract another data under the same account);
create visualization;
Another way entirely is to fork subset of the data into customer's AI Resource (AI SDK supports sending data over into several IKeys if necessary).
You could also use the API Key feature of application insights, and generate a read-only api key, and use the application insights REST API features to build a custom solution to do the queries and generate reports. this would let anyone with that API key see any telemetry in your app though.

How can you get access to the database with Microsoft Dynamics CRM 2013 Online?

We currently use Microsoft Dynamics CRM v4 on-premises. Our data warehouse guys use a direct database link to get access to the data. Is this same functionality possible if you go with the CRM 2013 Online / Cloud option?
If, like I suspect that it's not, what API's are available (if any) to achieve this (or some other method)?
I've searched a lot for this but found nothing.
Dynamics CRM Online doesn't provide direct access to the SQL database.
For interaction with the data is necessary to use the CRM Web Services, REST and SOAP endpoints.

Resources