Automate updating external database from Dynamics 365 and Azure - javascript

The company has used Dynamics CRM for years, and at some point into the coming months, I need to look into integrating the client data from it into our other web applications.
Our current setup is that Dynamics 365 has the most current client data, we manually export it and manually import it into another database that drives the web applications. Not very efficient, and as one would expect, there are cases throughout the year were this manual process doesn't happen and something is out of date or inaccurate in the web application database.
I do have a Python application I wrote that handles the OAuth authentication and can request specific bits of data via the Dynamics 365 Web API and update the database. So I do have sorted out how to request records on demand, but this seems like it will slow the application down.
What I am wondering is if there is a way FROM Dynamics 365, that once a record is updated there it will update or create the record in an external database? That way the external database is always up to date, a request to Dynamics 365's web API doesn't have to be sent, and the web application should be faster in general.
Would this be an Azure custom process, custom JS in Dynamics 365 that utilizes the web application's API to update/create records in the external database when a record is updated/created in Dynamics 365, or some other process?

While I havent tried this myself I'd start looking at Web Hooks. It appears to be right down your alley.
Link to WebHooks Documentation

The Data Export Service could be the thing you are looking for. It will keep an Azure SQL database in sync with the records in Dynamics 365 CE (CRM).
The Microsoft Dynamics 365-Data Export Service is an add-on service made available on Microsoft AppSource that adds the ability to replicate Microsoft Dynamics 365 (online) data to a Microsoft Azure SQL Database store in a customer-owned Microsoft Azure subscription. The supported target destinations are Microsoft Azure SQL Database and SQL Server on Microsoft Azure virtual machines. The Data Export Service intelligently synchronizes the entire Dynamics 365 data initially and thereafter synchronizes on a continuous basis as changes occur (delta changes) in the Microsoft Dynamics 365 (online) system. This helps enable several analytics and reporting scenarios on top of Dynamics 365 data with Azure data and analytics services and opens up new possibilities for customers and partners to build custom solutions.
Do note though that Microsoft doesn't provide an SLA on the Data Export Service (last paragraph).

Related

Can I get real-time data on my steps through Google Fit REST API?

At the moment I need to develop a mobile application that should be a fitness tracker. I am thinking about using REST API instead of Android API, but I don’t quite understand how in this case automatic data collection on the steps taken from my device will occur.
I understand that I can request information about the completed steps for some time, for example, for the last month, as shown in the documentation.
But what allows the application in this case to automatically access the "raw" information from the sensors and give it to Google Fit, as it happens in the Android API? And show me my steps in real-time.
At this point, you need Sensor API.
The Sensors API lets you read raw sensor data in your app in real
time. Use this API to:
List data sources available on the device and on companion devices.
Register listeners to receive raw sensor data.
Unregister listeners to stop receiving raw sensor data.
The Sensors API does not automatically store sensor readings in the
fitness store and sensor registrations created with the Sensors API
are not persisted when the system restarts. You typically use the
Recording API to record data in the background with persistent
subscriptions and you use the Sensors API to display or process sensor
readings in real time. In many cases, you use both of these APIs in
your app.

Get recent documents from OneDrive with Microsoft Api Graph [NodeJS]

I'm working on an API which lists the 10th last documents on OneDrive in nodeJS. I know I can have this information by calling Microsoft API Graph with "drive/me" but it must have an
application ID to call the web service. I want to call the service with only Office authentification and not using application ID because it's not possible in my company.
Thanks in advance for the help!
You have to register your application with MS App Registration Portal here to get an application id, which is needed for your application to communicate to MS Graph API.
The users of your application will still use MS Office 365 user name and password to be authenticated to get data from Office 365.
Both of these are two entirely different things.

Is it possible to query corporate news with Office Graph API?

I am currently working on a webpart in SharePoint, where I need to be able to query Corporate News on ACTOR(ME), but when I do that I get nothing back from my get request.
Is it possible to query with corporate news, or is the Office Graph API limited to just documents?
Right now my get request looks like this:
'/_api/search/query?Querytext=%27ContentTypeId:0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900E1A7B5EB4F6D4536ABA24236F66055A100170370F5340444D1B84CA664EC7FB117*%27&rowlimit=3&selectproperties=%27Title,%20HitHighlightedSummary,%20Username,%20Path,%20ViewsRecent,%20EdgeTime,%20%20ViewsLifeTime,%20Weight,%20LastModifiedTime,%20PublishingRollupImageOWSIMGE%27'
Is it possible to query with corporate news, or is the Office Graph API limited to just documents?
No, it is limited to documents. The Office Graph computes insights across Office 365 and makes these insights available through the Microsoft Graph, the single endpoint that you can use to access a number of Microsoft's cloud technologies. See Microsoft Graph.
Currently there are two insights from the Office Graph that you can query for: TrendingAround and WorkingWith.
And if you want the Office Graph API to support this feature, you can submit the feedback from here.

Exchange Server Javascript Api

I'm building a web application which is a client side heavy application in which I'm implementing the contacts page. The contacts page will have options of showing contacts from different sources for exporting it into the current application. I've implemented Google Contacts, Yahoo Contacts, MS Live Contacts, etc. using OAuth. Now the next option is showing the contacts from exchange server in the application. I know that the new office 365 has a JavaScript api to pull contacts from newer office version which is already in progress. But I need a solution which works with older version too.
The requirement goes like this, User will have text boxes which are necessary to connect to an exchange server like email, password, server address, port, etc. and a button which need to send an ajax call to respective servers and fetch the necessary contact details after authenticating.
I've tried various method to get the details but I couldn't. I want to know is it really possible to connect an exchange server from JavaScript to get contacts? If yes, Please suggest some method to view the details.
The new JavaScript for Office API can only be used with Office (web) Add-ins (formerly Apps for Office). Otherwise you can use Exchange Web Services (EWS) to issue SOAP calls with JavaScript to do just about anything.
See: "How to: Process contacts in batches by using EWS in Exchange"

Sending Outlook Email to SQL Table using either Javascript or SQL Server

I have built some functionality in a mobile GIS application called GeoMedia Smart Client which allows the user to fill out email details in a form, which then opens Outlook to allow them to send the email. The functionality uses Javascript and XML workflows to populate the email with the values from the form as well as automatically populating asset details in the body.
I have built a SQL Server table to save these emails with Date Sent, From, To, Subject, Body etc. This table is populated via a SQL trigger in Smart Client. The problem is, the user has the option of editing the email in Outlook or Smart Client. Any edits in Outlook won't be saved in the SQL table as the trigger only runs in Smart Client. Is there a way using either SQL or Javascript to send the Recipient, Subject, Body etc from the open email in Outlook to the SQL table? I realise Javascript is client side and SQL is server side.
I know it's bad design having the ability to edit the email in either Smart Client or Outlook, but the other option using SMTP had it's own problems with our IT department and security issues allowing external Smart Client users access to the server.
Hopefully that makes sense,
Regards
Josh
You can develop a VBA macro or add-in where can handle the Outlook object model events and save the changes made by a user or programmatically to the SQL database. Also you may consider developing a custom UI for Outlook where users can save emails directly to the db without other software involved.
See Getting Started with VBA in Outlook 2010 to develop a VBA macro. Be aware, VBA macros are not designed for distributing the code on multiple PCs. If you need to get the solution working for multiple users, see Walkthrough: Creating Your First Application-Level Add-in for Outlook.

Categories