{"id":152,"date":"2020-05-23T09:58:26","date_gmt":"2020-05-23T09:58:26","guid":{"rendered":"http:\/\/fadyanwar.com\/?p=152"},"modified":"2020-05-23T09:58:27","modified_gmt":"2020-05-23T09:58:27","slug":"reading-notifications-from-dynamics-365","status":"publish","type":"post","link":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/","title":{"rendered":"Reading Notifications from Dynamics 365"},"content":{"rendered":"\n<p class=\"has-drop-cap\">In my two previous howto articles I gave examples of how to turn IoT to AIoT, using Azure AI cognitive services, to do both <a rel=\"noreferrer noopener\" href=\"http:\/\/fadyanwar.com\/index.php\/2020\/05\/08\/an-aiot-example-using-raspberry-pi-and-azure-ai\/\" target=\"_blank\">face detection<\/a> and <a href=\"http:\/\/fadyanwar.com\/index.php\/2020\/05\/17\/giving-aiot-a-voice-using-azure-ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">speak in a human like voice<\/a>. In this article and the next ones, I&#8217;m going to show you how to turn your Raspberry Pi into an Alexa like device.<\/p>\n\n\n\n<p>You see, wouldn&#8217;t it be nice to have voice notifications from <a href=\"https:\/\/www.raspberrypi.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Raspberry Pi<\/a> about your <a href=\"https:\/\/dynamics.microsoft.com\/en-ie\/\" target=\"_blank\" rel=\"noreferrer noopener\">Dynamics 365<\/a> leads, opportunities and orders? In a similar fashion to how Alexa notify you of your Amazon Prime orders.<\/p>\n\n\n\n<p>In this howtwo, you will be connecting your Raspberry Pi to Dynamics 365 <a href=\"https:\/\/docs.microsoft.com\/en-us\/powerapps\/developer\/common-data-service\/webapi\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">CDS WebAPI<\/a>, get latest updates using <a href=\"https:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer\" target=\"_blank\" rel=\"noreferrer noopener\">REST<\/a> calls and then announce it over a speaker via Raspberry Pi. Hope you enjoy it, let&#8217;s start.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Setting  Up Raspberry Pi and Azure Speech<\/h5>\n\n\n\n<p>First thing first, you will need to set up you Raspberry Pi, so you will need to <a href=\"http:\/\/fadyanwar.com\/index.php\/2020\/05\/08\/an-aiot-example-using-raspberry-pi-and-azure-ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">follow the instruction on the first article,<\/a> then you will <a rel=\"noreferrer noopener\" href=\"http:\/\/fadyanwar.com\/index.php\/2020\/05\/17\/giving-aiot-a-voice-using-azure-ai\/\" target=\"_blank\">need to set up Azure Speech API as detailed on the second article.<\/a> When done you will need a Dynamics 365 environment, if you don&#8217;t have one already you might want to <a rel=\"noreferrer noopener\" href=\"https:\/\/trials.dynamics.com\/\" target=\"_blank\">sign up for trial.<\/a><\/p>\n\n\n\n<p>For simplicity, we are going to notify end users of the latest lead created on Dynamics 365. In order to query the CDS WebAPI, where leads data is stored, you will need to obtain an authorization token. You can do so by following the steps <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/powerapps\/developer\/common-data-service\/webapi\/setup-postman-environment\" target=\"_blank\">on this Microsoft documenation. <\/a><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Testing Raspberry Pi Connection to Dynamics 365<\/h5>\n\n\n\n<p>To test your access to Dynamics 365 via Web API, replace the organization URL and authorization token placeholders with your values. Save it as cds.js and run it on your own machine using this command.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p><code>npm install request<\/code><\/p>\n\n\n\n<p><code>node cds.js<\/code><\/p>\n<\/div><\/div>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\nvar request = require('request');\n\/\/this is a get request to your Dynamics 365 WebAPI to get latet lead\nvar options = {\n  'method': 'GET',\n\/\/populate your organization url here\n  'url': 'https:\/\/&lt;orgurl&gt;\/api\/data\/v9.0\/leads?$orderby=createdon desc&amp;$select=subject&amp;$top=1',\n  'headers': {\n    'Authorization': 'Bearer &lt;Token&gt;'  \/\/populate the token here\n  }\n};\nrequest(options, function (error, response) { \n  if (error) throw new Error(error);\n  console.log(JSON.parse(response.body));\n});\n\n<\/pre><\/div>\n\n\n<p>You should get a json message with the topic if your last created lead on Dynamics 365. The request URL basically calls for the leads list, order it by creation time. Then it selects the subject field for the top record on the list.<\/p>\n\n\n\n<p>When ready replace the placeholders in the below nodejs script with your organization url, authorization token and Speech API key. <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\n    \n\/\/ pull in the required packages.\nvar sdk = require(&quot;microsoft-cognitiveservices-speech-sdk&quot;);\nvar fs = require(&quot;fs&quot;);\nvar player = require('play-sound')(opts = {})\n\nvar request = require('request');\nvar options = {\n  'method': 'GET',\n  \/\/getting the latest lead topic from your D365 organization\n  'url': '&lt;orgurl&gt;\/api\/data\/v9.0\/leads?$orderby=createdon desc&amp;$select=subject&amp;$top=1',\n  'headers': {\n    'Authorization': 'Bearer &lt;Token&gt;'\n }\n};\n\nrequest(options, function (error, response) { \n  if (error) throw new Error(error);\n  console.log(response.body)\n  \/\/upon receiving the response from our WebAPI call we parse the json response and use the results to build the message\n  message = &quot;Hello, you have a new lead with a topic saying &quot; + JSON.parse(response.body).value&#x5B;0].name;\n  \/\/then we call our say() and pass the message to it\n  say(message);\n});\n\n\nvar subscriptionKey = &quot;&lt;Key&gt;&quot;; \/\/place your subscription key here\nvar serviceRegion = &quot;northeurope&quot;; \/\/ place your azure location here\nvar filename = &quot;notification.wav&quot;; \/\/ This is the file name which is going to be downloaded\n\n\/\/ create the pull stream we need for the speech sdk.\nvar pullStream = sdk.AudioOutputStream.createPullStream();\n\n\/\/ open the file and write it to the pull stream.\nfs.createWriteStream(filename).on('data', function(arrayBuffer) {\n  pullStream.read(arrayBuffer.slice());\n}).on('end', function() {\n  pullStream.close();\n});\n\n\/\/ now create the audio-config pointing to our stream and\n\/\/ the speech config specifying the language.\nvar speechConfig = sdk.SpeechConfig.fromSubscription(subscriptionKey, serviceRegion);\n\n\/\/ setting the recognition language to English.\nspeechConfig.speechRecognitionLanguage = &quot;en-US&quot;;\n\nvar audioConfig = sdk.AudioConfig.fromStreamOutput(pullStream);\n\n\/\/ create the speech synthesizer.\nvar synthesizer = new sdk.SpeechSynthesizer(speechConfig, audioConfig);\n\n\nfunction say(text){\n  \/\/ start the synthesizer and wait for a result.\n  synthesizer.speakTextAsync(\n    text,\n    function (result) {\n      console.log(result);\n\n      \/\/when the wav file is ready, play it\n      player.play('notification.wav', function(err){\n          if (err) throw err\n        })\n          \n      synthesizer.close();\n      synthesizer = undefined;\n    },\n    function (err) {\n      console.trace(&quot;err - &quot; + err);\n\n      synthesizer.close();\n      synthesizer = undefined;\n    },\n    filename);\n}\n\n<\/pre><\/div>\n\n\n<p>When done, save the script as notification.js and copy it to your Raspberry Pi. Connect into your Raspberry Pi over ssh and type the following command to install the required npms<\/p>\n\n\n\n<p><code>npm install microsoft-cognitiveservices-speech-sdk fs play-sound request<\/code><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Reading Notifications from Dynamics 365 over Raspberry Pi<\/h5>\n\n\n\n<p>Now in order to test this you will need to <a href=\"https:\/\/docs.microsoft.com\/en-us\/dynamics365\/sales-professional\/manage-leads-sales-professional\" target=\"_blank\" rel=\"noreferrer noopener\">create a new lead <\/a>on Dynamics 365 with topic &#8220;Hello World!&#8221;. When all is done now you can execute your new nodejs script like following<\/p>\n\n\n\n<p><code>node notification.js<\/code><\/p>\n\n\n\n<p>This is going to run your script so it will call the CDS WebAPI and get the latest lead, build the message and send it for Speech API. Then it will download the audio to play it for you over the speaker.<\/p>\n\n\n\n<p>If you did hear the voice telling you have new lead saying hello world. Then congratulations! You just connected a Raspberry Pi to Dynamics 365. Hope you did enjoy this quick howto article. <a rel=\"noreferrer noopener\" href=\"https:\/\/twitter.com\/FadyAnwar\" target=\"_blank\">Stay tuned<\/a> for the next one where I&#8217;m having a treat for you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Reading Notifications from Dynamics 365  using a Raspberry Pi<\/p>\n","protected":false},"author":1,"featured_media":154,"comment_status":"open","ping_status":"open","sticky":false,"template":"templates\/template-full-width.php","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_vp_format_video_url":"","_vp_image_focal_point":[],"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[2,4,5,10,3,9],"class_list":["post-152","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-ai","tag-aiot","tag-azure","tag-dynamics-365","tag-iot","tag-raspberrypi"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Reading Notifications from Dynamics 365 - Fady Anwar<\/title>\n<meta name=\"description\" content=\"Connecting a Raspberry Pi to Dynamics 365 and creating voice notifications using Azure Speech\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reading Notifications from Dynamics 365 - Fady Anwar\" \/>\n<meta property=\"og:description\" content=\"Connecting a Raspberry Pi to Dynamics 365 and creating voice notifications using Azure Speech\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/\" \/>\n<meta property=\"og:site_name\" content=\"Fady Anwar\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-23T09:58:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-23T09:58:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fady Anwar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fadyanwar\" \/>\n<meta name=\"twitter:site\" content=\"@fadyanwar\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fady Anwar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/\"},\"author\":{\"name\":\"Fady Anwar\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#\\\/schema\\\/person\\\/b66e3277ceba346f7053a83464e90b03\"},\"headline\":\"Reading Notifications from Dynamics 365\",\"datePublished\":\"2020-05-23T09:58:26+00:00\",\"dateModified\":\"2020-05-23T09:58:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/\"},\"wordCount\":511,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#\\\/schema\\\/person\\\/b66e3277ceba346f7053a83464e90b03\"},\"image\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/fadyanwar.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1\",\"keywords\":[\"AI\",\"AIoT\",\"Azure\",\"Dynamics 365\",\"IoT\",\"raspberrypi\"],\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/\",\"url\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/\",\"name\":\"Reading Notifications from Dynamics 365 - Fady Anwar\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/fadyanwar.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1\",\"datePublished\":\"2020-05-23T09:58:26+00:00\",\"dateModified\":\"2020-05-23T09:58:27+00:00\",\"description\":\"Connecting a Raspberry Pi to Dynamics 365 and creating voice notifications using Azure Speech\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/fadyanwar.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/fadyanwar.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1\",\"width\":2560,\"height\":1707,\"caption\":\"Alexa\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/23\\\/reading-notifications-from-dynamics-365\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fadyanwar.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reading Notifications from Dynamics 365\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#website\",\"url\":\"https:\\\/\\\/fadyanwar.com\\\/\",\"name\":\"Fady Anwar\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#\\\/schema\\\/person\\\/b66e3277ceba346f7053a83464e90b03\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fadyanwar.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#\\\/schema\\\/person\\\/b66e3277ceba346f7053a83464e90b03\",\"name\":\"Fady Anwar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g\",\"caption\":\"Fady Anwar\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reading Notifications from Dynamics 365 - Fady Anwar","description":"Connecting a Raspberry Pi to Dynamics 365 and creating voice notifications using Azure Speech","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/","og_locale":"en_US","og_type":"article","og_title":"Reading Notifications from Dynamics 365 - Fady Anwar","og_description":"Connecting a Raspberry Pi to Dynamics 365 and creating voice notifications using Azure Speech","og_url":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/","og_site_name":"Fady Anwar","article_published_time":"2020-05-23T09:58:26+00:00","article_modified_time":"2020-05-23T09:58:27+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/i2.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1","type":"image\/jpeg"}],"author":"Fady Anwar","twitter_card":"summary_large_image","twitter_creator":"@fadyanwar","twitter_site":"@fadyanwar","twitter_misc":{"Written by":"Fady Anwar","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/#article","isPartOf":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/"},"author":{"name":"Fady Anwar","@id":"https:\/\/fadyanwar.com\/#\/schema\/person\/b66e3277ceba346f7053a83464e90b03"},"headline":"Reading Notifications from Dynamics 365","datePublished":"2020-05-23T09:58:26+00:00","dateModified":"2020-05-23T09:58:27+00:00","mainEntityOfPage":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/"},"wordCount":511,"commentCount":0,"publisher":{"@id":"https:\/\/fadyanwar.com\/#\/schema\/person\/b66e3277ceba346f7053a83464e90b03"},"image":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1","keywords":["AI","AIoT","Azure","Dynamics 365","IoT","raspberrypi"],"articleSection":["Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/","url":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/","name":"Reading Notifications from Dynamics 365 - Fady Anwar","isPartOf":{"@id":"https:\/\/fadyanwar.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/#primaryimage"},"image":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1","datePublished":"2020-05-23T09:58:26+00:00","dateModified":"2020-05-23T09:58:27+00:00","description":"Connecting a Raspberry Pi to Dynamics 365 and creating voice notifications using Azure Speech","breadcrumb":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/#primaryimage","url":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1","contentUrl":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1","width":2560,"height":1707,"caption":"Alexa"},{"@type":"BreadcrumbList","@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/23\/reading-notifications-from-dynamics-365\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fadyanwar.com\/"},{"@type":"ListItem","position":2,"name":"Reading Notifications from Dynamics 365"}]},{"@type":"WebSite","@id":"https:\/\/fadyanwar.com\/#website","url":"https:\/\/fadyanwar.com\/","name":"Fady Anwar","description":"","publisher":{"@id":"https:\/\/fadyanwar.com\/#\/schema\/person\/b66e3277ceba346f7053a83464e90b03"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fadyanwar.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fadyanwar.com\/#\/schema\/person\/b66e3277ceba346f7053a83464e90b03","name":"Fady Anwar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g","caption":"Fady Anwar"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g"}}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/alexa-4758340-scaled.jpg?fit=2560%2C1707&ssl=1","jetpack_sharing_enabled":true,"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/posts\/152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/comments?post=152"}],"version-history":[{"count":21,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/posts\/152\/revisions"}],"predecessor-version":[{"id":176,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/posts\/152\/revisions\/176"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/media\/154"}],"wp:attachment":[{"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/media?parent=152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/categories?post=152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/tags?post=152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}