Tuesday, February 28, 2017

More progress on my Dynamics 365 (CRM) Metadata DIFF tool

I worked on one of my rainy day projects last weekend... a diff tool for Dynamics 365 CRM orgs.

The goal of the solution is to be able to view the major differences between the same CRM org over time or two different orgs (online or on-prem).

The components include two Azure WebJobs and a SQL Server database. One WebJob queries the CRM orgs for metadata (see list below) and the other is responsible for the diff operations and reporting the differences.

So far, the tool compares the following metadata and entity-based data:
  • Entity
  • Attribute
  • OptionSet (Global and entity-based)
  • One-to-many relationships
  • Many-to-many relationships
  • Business Unit
  • Connection Role
  • Field Permission
  • Mailbox
  • Organization
  • Plugin Assembly
  • Plugin Type
  • Process
  • Process Stage
  • Publisher
  • Queue
  • Role
  • Saved Query
  • Saved Query Visualization
  • Sdk Message Processing Step
  • Sdk Message Processing Step Image
  • Site Map
  • Solution
  • Solution Component
  • System Form
  • System User
  • System User Roles
  • Team
  • Template
  • User Form
  • User Query
  • User Query Visualization
  • User Settings
  • Web Resource
Next up for the tool is to make the deployment faster and easier. Currently, it's necessary to manually run T-SQL DDL scripts to create the database tables and stored procedures. The plan is to make that a single click using a simple ASP.NET app.

If your organization has the need for an automated CRM metadata tracking or diff process, please get in touch and I'll share some of my experiences in building the tool or, through Altriva, we can talk about sharing the code with you.

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-28

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!

Troubleshooting Solution Import Errors - Microsoft Dynamics CRM Community #MSdynCRM #MSdyn365 #DC7 ...

Looking forward to this versioning experience. Handy if you messed up your #LogicApps ...

Preparing for Microsoft Dynamics 365: What CRM partners can expect from eXtreme365 - MSDynamicsWorld #msdyn365 ...

Social Selling Assistant: A new value proposition for salespeople in Microsoft Dynamics 365: #MSDYN365 ...

How to get more done in less time, explained in less than 2 minutes #MSDyn365 ...

Podcast: Episode 46: USD, Flow, and CRMUG Focus #MSdyn365 ...

#MSDyn365 devs! Got a great tool? Now it's even easier to make an #XrmToolBox plugin! Download from VS Marketplace… ...

Returning other types of data like #HTML via #JavaScript #AzureFunctions. #azure ...

Setting up #Azure Storage for local develop of timer or queue triggered #AzureFunctions. ...

New in Microsoft #Flow: Create contact in #MSDyn365 with a button tap. #CRM ...

Dominos moves to #Azure and to #Azure #DocumentDB ...

This free online tool converts #SQL script to #msdyncrm #FetchXML query for you #msdyn365 ...

.NET NoSQL example for DocumentDB | Microsoft Docs #documentdb ...

#microsoftflow blogpost Trigger your Flow buttons from the Flow web site ...

.@kb_chirps shows us how to extend #PowerApps capability by using Custom APIs & how to build a really cool app:… ...

Just published an upgraded version of my #msdyn365 Configuration Data Mover utility - #msdyncrm ...

“#Azure #DocumentDB vs SQL Azure performance comparison — Revised” ...

Feb updates to #MicrosoftFlow: ...

New Post: #Alexa on #AzureFunctions Part 3, Adding Slots #Azure #AlexaSlots ...

Michelin delivers with Microsoft Dynamics 365 for #fieldservice @msftdynamics #customerservice #MSDyn365 ...

Monday, February 27, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-27

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!

Partners as prospects: Why Microsoft’s Dynamics 365 pitch must reach the channel #MSDYN365 ...

#Dynamics365 – Who is Your Uber? via @stevemordue #MSDyn365 #AppSource #dynamicsAX… ...

A couple projects immediately coming to mind for this, should be useful and could be very cool. #Azure #AzureSQL ...

External assemblies in Dynamics CRM plugins with ILMerge - #msdyn365 ...

How #LinkedIn and #Dynamics365 can work together ...

"Empower Your Staff with Microsoft Dynamics 365 for Sales" #Dynamics365 #Dyn365 by @CyrilCourree on @LinkedIn ...

Business Rules Enhancements In #Dynamics365 by @Himbapinfo cc @CsharpCorner #Microsoft ...

Introducing Guided Tasks for Microsoft Dynamics 365: #MSDYN365 #CRM ...

Want to know more about #AzureFunctions? #Azure #GoogleCloud #AWS #Lambda #Serverless ...

Update: PowerApps Connectors Reference – More than 100 connectors available, Oracle, Azure and more #PowerApps ...

#Microsoft Windows #Azure #WebJobs and How to keep them awake | #paas #cloud #devops ...

Don't forget the following Microsoft Flow limitations #microsoftflow ...

Find out how #AzureFunctions makes it easy to develop & scale your #startup's app on @Ch9: ...

MSDW Podcast: More Real-World #MSDyn365 #CRM App Experiences from the Channel #MSPartner #MSDynComm ...

A deep dive into Click Dimensions Surveys: #MSDYN365 #MSDYNCRM ...

Pst,there's sth cooking! Extended e-mail & newsletter functions for #MSDynCRM #Dyn365! #ProMailChimp… ...

Microsoft Dynamics Webcasts This Week: #MSDyn365 & the Delta Outage; Lessons for ISVs #Cloud #MSPartner ...

Top 20 new features of Dynamics 365 #Dynamics365 #MSDYN365 ...

Preparing for #MSDyn365: What #MSDynCRM partners can expect from #eXtreme365 #MSPartner ...

Configuring View and Item Actions for Entity List #MSDyn365 #MsDynCRM #Dynamics365 #Portals ...

#Scripting: Using #PowerShell Modules in #AzureFunctions - #Azure #Automation ...

Great example of #Azure Logic App to detect sentiment and extract key phrases from text @logicappsio ...

Explore MSDYN 365's powerful new services: PowerApps, Flow, and the Common Data Service #MSDYN365 ...

Practical hands on use of the Azure #OnPremisesDataGateway with #LogicApps and #ServiceBus #Azure ...

Include entity metadata in solutions to avoid entity audit being disabled - #MSDyn365 #MSCRM ...

NEW! MPN & Premier added to the list 'Legacy #AdxstudioPortals and Microsoft #Dynamics365 Portals Supportability' … ...

#msdyncrm Dynamics 365 Dialogs in Details: Hello Friends !!! Welcome to another session on Dialogs. One of the most… ...

WebApiClient v2.3.0 is out now, featuring synchronous requests for exceptional cases: #msdyn365 #msdyncrm ...

The 9 Microsoft events not to miss in 2017 #msdyn365 #dynamics via @365TalentPortal ...

Saturday, February 25, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-25

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!

Monitoring resource utilization in #MsDyn365 ...

Get the links: MB2-718 Microsoft Dynamics 365 for Customer Service exam + courseware #MSdyn365 ...

Dynamics 365 and Node.js integration using the Web API - part 2 #MSDyn365 ...

New update: Making it easier to use #Azure APIs in #PowerApps ...

What happened when we gathered a team of #MSDynCRM experts and asked them to review the new #Dynamics365? Find out: ...

Create an End-to-end #IOT Scenario with #Azure Services #uncategorized #azurefunctions ...

Friday, February 24, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-24

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!


Working with Dynamics 365 lookup data in PowerApps via @lucas_is #MSDyn365 ...

#Salesforce was then; #msdyn365 is now - - Clients are switching to Microsoft and so are the consultants ...

New Post: Protecting #AzureFunctions with a Shared Secret. #Azure #AlexaDevelopment ...

Utilizing SQL Server Stored Procedures with POWERBI by @joejgriffin #MSDyn365 ...

Learn how to: "Building a composite service using Azure Logic Apps" #msbts @logicappsio @ ...

#Microsoft #Teams really get you collaborating and boosts #productivity amongst employees #MSDyn365… ...

#msdyncrm How to load Javascript from a webresource: Imagine an usecase where you can dynamically load a Javascript… ...

Big news from #MSFT: Preview support for #AzureFunctions integration with the #Serverless Framework is available. ...

Thursday, February 23, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-23

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!


Want to make your #AppService and #AzureFunctions APIs available to @PowerApps and @MicrosoftFlow? Try this out: ...

Are you new to #PowerApps? @PowerApps are running a FREE getting started webinar, signup here ...

4 more great ways that #Microsoft is using #Azure to help you help you deliver #customerservice #MSDyn365 ...

@MSPowerBI launches web series discussing #Flow, #PowerBI, and #PowerApps beginning today until Apr 6th!… ...

Guru Brian Jackett offers insights on social media gathering with PowerApps and Flow #powerapps #flow ...

Are Functions as a Service (aka Serverless)the next big step in Cloud Computing? #lambda #AzureFunctions @TangoCode ...

Practice Management: Building and Working with a Dynamics Team (Part 2 of 4) #MSdyn365 ...

#MicrosoftFlow adds #support for #Azure #Automation and #Basecamp2 - #DoMore #Productivity ...

Microsoft has released an update for Unified Service Desk #MSDYN365 ...

Hosk’s Top Dynamics 365 Articles of the week – 23nd February #MSDYN365 #msdyncrm ...

Use #AzureFunctions to back up OneDrive to Azure Blob Storage via @LoicSterckx ...

crmtipoftheday: RT crmaudio: New episode about new MSPowerBI dashboard templates for #MSDYN365 CaptainRedLaces kin… ...

How To: Audit Summary and Login Tracking #MSDyn365 #CRM ...

Very good blog post about writing #AzureFunctions in #fsharp, #csharp and #javascript. #Serverless #FaaS ...

New blog post and open source project - rapidly create an API in #AzureFunctions with F#, C# and JavaScript: ...

This is a great #Dynamics365 naming convention I can support: CRM/365, AX/365, NAV/365. Simple, short, clear. ...

Wednesday, February 22, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-22

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!

Getting started with #Microsoft #Flow and Dynamics 365 #Dynamics365 #msdyn365 #msdyncrm ...

Discover all the ways #MSDyn365 can help you transform your business from the ground up: ...

#AzureFunctions Proxies public preview and great addition to #serverless #architecture on Microsoft #Azure ...

Nice view on "#Serverless vs Codeless in the Microsoft Integration Platform" #azurefunctions via @michael_stephen ...

This looks like valuable info for #MSDynCRM and #MSDyn365 plugin developers! ...

This library may be helpful interacting w/ #MSDynCRM #MSDyn365 Web API from dot net code or JavaScript/Webresources ...

Info on how #MsDyn365 applies regular updates ...

We just made building complex APIs on #AzureFunctions that much easier. Check out Azure Functions Proxies (preview): ...

Seen PowerApps "Getting Started Guide"? Step-by-Step guidance with video demos! #powerapps… ...

Cheat sheet: how field service can boost revenue - Microsoft Dynamics Blog #MSDyn365 for #FieldService ...

Using SQL Server Agent to Schedule CRM Workflows via KingswaySoft (Part 2) by @DynamicsCRMCoE… ...

#msdyncrm User Adoption and Monitoring in Dynamics 365 Online (CRM): Summary: The final phase of any Dynamics CRM… ...

Calling a Custom Action Using JavaScript #MSDYN365 ...

Microsoft Dynamics 365 Deep Dive Series: PowerApps, Flow, and Common Data Service for Dynamics 365 #msdyncrm ...

Discover How to Make Grids Editable - Get More from #MSDyn365 #MSDynCRM - Make It Work for You ...

#AzureFunctions proxies is here. Can’t wait to play with it tonight… ...

@QBSGroup plans next stage of growth as aggregator of Microsoft business apps #MSDyn365 #O365 #CSP #MSPartner ...

Check out the most notable changes when you upgrade to Microsoft Dynamics 365. #MSDYN365 ...

msdev: Explore #AzureFunctions tooling & what it means to have a #serverless architecture: ...

Comparing #Microsoft Dynamics CRM to #Salesforce? check out this comparison guide #MSDYN365 ...

12 Ways to become a better CRM Developer #msdyncrm ...

#SQLServer Database Query Editor available in #AzureSQL Portal ...

Nice update for #MicrosoftFlow! View, delete or disable all flows in an environment + view the connections used… ...

Dynamics 365 has the cure for FOMO (The Fear of Missing Out) #FOMO #MSDYN365 ...

Plugin Trace Viewer got a face lift! Some new features, check it out in #XrmToolBox Plugins Store. #MSDyn365… ...

#PowerBI from #microsoft dominating Gartner's Magic Quadrant 2017 for Business Intelligence #Dynamics365… ...

Richard Seroter shows how to use some of the new JSON tools in #LogicApps in this blog w/ @Azure Functions, Documen… ...

Are you new to PowerApps formulas? Check out today's blog with a few helpful tips to get you started:… ...

crmtipoftheday: Tip #827: Restricting date picker on portal forms by tanguytouzard #msdyn365 ...

ICYMI: Blogpost on @logicappsio and new @AzureApiMgmt experience ...

#MicrosoftFlow -Generic framework to delete all child records when a parent record is deleted in #MSDyn365 #MSDynCRM ...

#microsoftflow blogpost Manage Flows in the Admin Center and two new services ...

100 reasons to use XRMToolBox for Dynamics 365 Administration and Development ...

Want to see how @logicappsio talks to Azure Functions, DocumentDB, and Service Bus? I show ya, with 20+ screenshots… ...

Voice of the Customer - VoC(Surveys) – Frequently Asked Questions(FAQs) – Part3 #MsDynCRM ...

Using SQL Server Agent to Schedule CRM Workflows via KingswaySoft (Part 2) by @DynamicsCRMCoE… ...

Ready for the future of CRM? Listen to @CRMRawks share his insight on the transition of #MSDynCRM to #MSDyn365 ...

Mining your #MSDyn365 or #MSDynCRM auditing data with the RetrieveAttributeChangeHistoryRequest CRM SDK message ...

The Dynamics CRM vs Salesforce Puzzle is SOLVED! #crm #msdyncrm #salesforce #cloud ...

[blog] Creating a JSON-Friendly Azure @logicappsio That Interacts with Functions, DocumentDB and Service Bus … ...

Tuesday, February 21, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-21

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!


4 Benefits to your IT team by moving to the Cloud #Focus #Cloud #DYN365 #D3FO ...

Get low inventory alerts using #Dynamics365 & #MicrosoftFlow via @suvidhabs ...

Innovation Nation: Recap from the Microsoft Dynamics 365 First Look Event #dynamics365 ...

The Power of Clean, Quality Data - via @TopLine_ #crm #msdyn365 @DQMartinDoyle ...

Hosk’s CRM Developer Articles #msdyncrm ...

Want to know more about #AzureFunctions? Read our NEW comparison --> #Azure #GoogleCloud… ...

Social Selling Assistant: A new value proposition for salespeople in Microsoft #Dynamics365 ...

#ICYMI: Expose SAP functionalities to the cloud with #LogicApps @GlennColpaert ...

Five new services and improved advanced capabilities for #JSON and HTTP. #MicrosoftFlow ...

Microsoft Dynamics CRM / Dynamics 365 Updates: Release Dates, Build Numbers, and Collateral ...

Download Official Microsoft Dynamics 365 Implementation Guide for on-premises/online #msdyn365 ...

It is now possible to use serialised PluginExecutionContext to write integration tests using FakeXrmEasy. #msdyn365 ...

"PowerApps is a Game Changer" #powerapps ...

Monday, February 20, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-21

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!


Blogged: Dynamics 365 portals – Display Activities with Timeline #msdyn365 #msdyn365portals ...

Microsoft Dynamics 365 (online) – Asynchronous Service Quotas #MSDyn365 #MSDynCRM ...

Register today to meet our experts at the #MSDyn365 Tech Conference in Seattle, March 12-15 ...

"Modify OOB ribbon button for Specific Activity Type Entity" #MSdyn365 ...

blogged: deploying #AzureFunctions with Kudu and #powershell ...

UTILISING SQL SERVER STORED PROCEDURES WITH POWERBI #MSDyn365 ...

How to create cascading dropdowns for single line of text #Microsoft #PowerApps ...

@mark_heath does an excellent job on this #AzureFunctions course: ...

Despite the awesomeness of #ML it's important to remember we can still do great things with dashboards! #MSDYN365 ...

Connected and powerfull #dynamics365 ...

Tracking the whole #MSDYN365 Business Edition line which is a great idea but is #Microsoft really committed to it ...

CRM QuickTip - Adding Global Search to the #MSDYN365 Site Map ...

Learn how easy it is to update #msdyncrm #msdyn365 entityimage during integration/migration ...

Quickstart Guide: Where to begin with #MSDyn365 for #CustomerService. Learn more: ...

Great example of the benefits of #IoT and Field Service in Manufacturing #MSDYN365 ...

6 Ways to Improve Your Product Listing on Microsoft #AppSource #appsource #msdyncrm #msdyn365 ...

Blogged - Misleading #ServiceBus connector exception in #LogicApps #msbts ...

TOP 20 new features of D365 - Microsoft Dynamics 365, Enterprise edition Community ...

#MSDyn365 transform customers into fans by listening & engaging with them on #SocialMedia #C2Webinar365 ...

Saturday, February 18, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-18

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!


Tip #824: Track messages when you send them with Folder Level Tracking by @crmtipoftheday ...

What is #MicrosoftFlow? Find out on @Ch9: #devtools ...

Create smarter flows using Microsoft Cognitive Services LUIS | #MicrosoftFlow Blog ...

Get the basics of MS Flow #MicrosoftFlow ...

I'm going to try my best to compare #Dynamics365 for financials to #DynamicsGP. Here's my first post: ...

Great list of which browsers on what platforms are supported for various versions of #MSDynCRM and #MSDyn365 ...

If interested, I Just added more #powerapps tutorial links to my ongoing list of learning resources. ...

Using Custom JavaScript field on Entity List to add JavaScript in Portal #MSDyn365 #MsDynCRM #Dynamics365 #Portal ...

Friday, February 17, 2017

Check out the top Dynamics 365 CRM tweets for Friday 2017-02-17

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!

#MSDyn365 16 Startling Statistics Forecasting the Future of Artificial Intelligence ...

Misalignment among sales and marketing teams can leave a lot of business (and revenue) on the table #Dynamics365 ...

Steps to upgrade Dynamics Online CRM to Dynamics 365 #msdyncrm ...

10 things you may not know about editable grid in Dynamics 365 #MSDYN365 by @MagnetismXRM ...

"PowerApps with Google Sheets", the latest @AccessUserGroup video, is up! #MSAccess #PowerApps #GoogleSheets ...

#4 Note of the day – ePlanner gives you a 90 day view of what is happening in your business #CRM #msdyn365 #msdyncrm ...

Need awesome Mobile #CRM: #Resco Delivers Offline Mobile to Microsoft Dynamics 365 Users via AppSource - #msdyn365 - ...

Social Selling Assistant: A new value proposition for salespeople in Microsoft Dynamics 365 #msdyn365 ...

Explore #CaseStudies, Guides & more in our #MSDyn365 Content Hub: ...

Create an accounts dashboard in #Dynamics365 with @wijmo's grid and chart controls. Video included!… ...

6 Tips for Improving Your Email Newsletter - #marketingautomation #MSDyn365 #MSDynCRM #emailmarketing ...

Develop & scale your app with #AzureFunctions for #VisualStudio. Watch a demo on @Ch9: ...

10 FAQ's from Service Professionals of Dynamics 365/CRM #MSDYN365 by @ledgeviewcrm ...

Great way to incorporate #socialselling with your CRM business processes #MSDYN365 ...

Making business decisions through Business Intelligence with #MSDyn365 #AI #C2Webinar365 ...

Schedule Anything in Microsoft Dynamics 365 #MSDYN365 by @fullscopecrm ...

New #blog on @logicappsio live webcast from #Australia #msbts #MSAUIgnite @jeffhollan, @kevinlam_msft, @jonfancey ...

#MicrosoftFlow Gets Five New Services, HTTP Authentication, and #JSON Message Parsing ...

Dynamics 365 and Node.js integration using the Web API - Part 2 #MSDYN365 by @lucas_is ...

How our #AuditLog feature can be used to undo changes & analyze #msdyncrm/#msdyn365 data @crmaudio ...

I liked a @YouTube video from @logicappsio Logic Apps Live - Feb 17, 2017 - Live from Australia Ignite ...

#MicrosoftFlow now supports authenticated HTTP endpoints and added more new natively supported services ...

Good read and examples of @logicappsio exception handling ...

More work on my @ServiceNow bot using Bot Framework and @logicappsio Close Incident feature now working. Love thi… ...

"What is the most important thing in all the world? It is people, it is people, it is people." #MSdyn365 #Practice ...

Tip #826: USD goodness unleashed #msdyn365 ...

This week on #AzureFriday w/@shanselman 1/2: @kb_chirps extends the #PowerApps capability w/custom API ...

Thursday, February 16, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-16

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!


New Post -#Alexa on #Azure Part 2, Registering your #Function. #AzureFunctions ...

5 Features to Watch in #VisualStudio 2017 - by @scott_addie ...

Microsoft published apps in AppSource for Dynamics 365 #MSDYN #MSDYN365 #MSDYNCRM #D365 ...

Need to capture signatures or sign documents, all within your #MSDyn365? Have a look at DocuSign ...

Dynamics 365 and Node.js integration using the Web API - part 2 (PUTs and PATCHes) #MSDYN365 #Node #msdyncrm ...

Blogged - Exposing web api's on #LogicApps? Think about exception handling! #msbts @logicappsio ...

Wouldn't have known 20 years ago that we would be building #chatbots with Visual Studio today - #VS2017 Launch site: ...

Have a look at the #AzureFunctions Developers Guide: ...

*All NEW* Relationship Insights in Dynamics 365 #MSDyn365 #Membership #C2Webinar365 ...

Tools for Data Access in Visual Studio #visualstudio #csharp #programming #ide ...

Execute Web API request using Angular JS in Dynamics CRM #MSDyn365 ...

Dynamics 365 Adoption Model #MSDYN365 by @nz365guy ...

Scaling HTTP #AzureFunctions #serverless #hyperscale ...

#msdyn365 vs the competition.. ...

Key Roles in a Dynamics 365 Practice #MSdynCRM ...

Wednesday, February 15, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-15

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!

New #AzureFunctions release with improved support for precompiled assemblies. See more in release notes! ...

Useful #MSDyn365 Offical Downloads and Developer Resources via @crmconsultants ...

What You Need to Know about the Hustle and [Microsoft] Flow #msdyncrm ...

Xrm-WebApi-Client v2.1.10 is released, fixes errors on post requests without payload in IE: #msdyncrm #MSDYN365 ...

Just created a new wiki article documenting the limitations of #Dynamics365 #MSDYNCRM ...

VS2017 launch is around the corner - take a look in what is coming: #vs2017 ...

Tip #825: Tabs Gone Wild – Edge and IE #msdyn365 ...

Cool street address autocomplete validation in #MsDyn365 ...

Super helpful tutorial on #MicrosoftTeams & #MicrosoftFlow @ShrPntKnight - Thanks for sharing! ...

How to extract #msdyncrm #AuditLogs data for easier analysis via @bscarlav & @sonomapartners ...

A great example of how AI/Machine learning will impact how you use #CRM solutions in the future #msdyn365 ...

Great #TRex library for decorating API apps to ensure smooth user experience in #LogicApps designer.… ...

The Top Reasons CRM Fails by @cschaeffer even with the best crm technology it's good to focus on business #msdyn365 ...

Document Template Manager plugin in Dynamics 365 #MSDyn365 #C2Webinar365 ...

10 Things To Like About The Dynamics 365 App for Outlook #msdyncrm ...

So now, #XrmToolBox is a competency required by #MSDYN365 partners to recruit their new consultants… ...

Building SPAs with .NET Core Just Became Really Simple #spa #visualstudio ...

Can you feel my pain? Vote for configurable message size, and also this to enable tracing onprem #MSDyn365 #MSDynCRM ...

Tip #821: Troubleshoot Xrm.Tooling connection to Dynamics 365 #MSDyn365 #MSDynCRM #LoginControlTester ...

New Dynamics Workflow Tools release! #MSDYN365 #msdyncrm @MSFTDynamics365 ...

Cloud development in Visual Studio 2017. #Azure #vs2017 ...

Build @scottgu's #azure #logicapps demo from the #msauignite keynote: ...

A #CRM cleaning should definitely be done regularly #MSdynCRM #MSdyn365 ...

CRM Rocks Podcast with @jukkan #msdyncrm #msdyn365 ...

Tuesday, February 14, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-14

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great Valentine's Day!


I’m Back! In The #CRMrocks Podcast: - Listen to me + @MarkusErlandsso discuss the state of #MSDyn365 in 2017. ...

Need to bulk assign, check @gennaro_tangari #xrmtoolbox #plugin #GTBulkAssigner @MSFTDynamics365 ...

Blogged: #Azure Functions - Time Trigger (#CRON) Cheat Sheet | codehollow #azurefunctions #serverless ...

Q&A: What's New in Visual Studio 2017 - #vs2017 #VisualStudio ...

Microsoft has acquired extension #Wiki by Agile Extensions to provide a built-in Wiki experience for #VisualStudio ...

#msdyncrm [How To] Create a support request for Dynamics 365 issue from Office 365 Admin Portal: Ever had an issue… ...

The MSDW Podcast: #MSDynGP manuals; #MSDynNAV project rescue; #XRM police response; #MSDyn365 vision for CRM users ...

#Celebrate #love on #valentinesday - Happy Valentines Day from everyone at Scribe HQ! ...

Tip #824: Track messages when you send them with Folder Level Tracking by @crmtipoftheday ...

Replicate Dynamics 365 CRM Database To Azure SQL Database Using Data Export Service. ...

Introducing a new set of cloud data security capabilities for protecting sensitive #CRM data in #Dynamics365 - ...

The creator of Voice of the Customer for #MSDYN365 strikes again with a new chatbot solution! ...

Setup and use resource scheduling optimization in Dynamics 365 for #fieldservice @msdyn365 #MSDyn365 #MSDynCRM ...

#MSDYN365 Business & Enterprise edition: What's the difference? Find out in our new #blog - ...

Examine the different ways #enterprises & #SaaS firms can connect their #applications in this white paper!… ...

PowerApps and the Common Data Service - and it works great with #D365O. Empower the power user #MSDYN365 ...

#PowerBI, #Flow, and #PowerApps Webinars for February 23 - April 6 #MSFTAdvocate ...

Do you find the reports available within #DynamicsCRM restrictive? Extend you #reporting capabilities with #PowerBI ...

The 9 Microsoft events not to miss in 2017 #MsDyn365 #MsDynAX #MsDynCRM #MsDynNAV #MsDynGP ...

Nice little workaround for tracking sent items via folder level tracking #MSDYN365 ...

Quickly extract JSON or XML hierarchal data to use within SSIS #sqlserver #sql ...

Dynamics 365 - The Perfect Demo #msdyn365 #mspartner #perfectdemo ...

UK police use Microsoft Dynamics CRM network visualization to process incident data ...

Set up QR code reader in Dynamics. Quick tip via @msdynamicsblog #MSdyn365 ...

#Dynamics365 #Dynamicscrm - #XRMToolbox Iconator Guide via @YouTube ...

How to fix Query Builder Editor error in Dynamics 365 Global Search after upgrade. #Dynamics365 #MSDYN365 ...

Monday, February 13, 2017

Twitter noise-reduction solution in Microsoft Azure is working well

I've been running my Azure-based Twitter "noise-reduction" solution for a few days now. Below are some observations.

First, a recap of what the solution is doing...

The solution runs in Azure to help identify new and unique tweets, eliminating retweets, duplicates and unwanted "noise" tweets by keyword. It sends the tweets that pass the filters to an email folder. I then review the tweets (about 75/day related to Dynamics 365 CRM and Azure) and drag them to another folder. An Azure Logic App reads from that folder and posts the tweets to this blog. So, it's mostly automated, and becomes better over time as it catches duplicate tweets.

This screenshot (Azure Portal) shows the solution services. The solution includes three Azure Logic Apps, a Function App with one function and Azure Storage queues and tables.




Why do this? Mostly because I want to continue to learn how to use Azure Logic Apps, Azure Functions, Microsoft Flow, etc. Second, I have $150 in Azure credits and this seemed like a good use of some of them. And lastly, part of my job is to keep on top of what's happening with Dynamics 365, so creating an intelligent Twitter spy tool seemed like a reasonable way to meet that goal as well.


Lessons learned so far:

  • Cost: It costs about $0.75/day to run this solution in Azure. Besides the Azure services shown in the screenshot above, I have two Microsoft Flow workflows querying Twitter for the following hashtags.
    • #msdyncrm OR #dynamics365 OR #msdyn365 OR #dynamicscrm OR #dyn365 OR xrmtoolbox 
    • #azurefunctions OR #logicapps OR #webjobs OR #powerapps OR #microsoftflow OR #azuresql OR #sqlazure OR @logicappsio
So, it's a relatively inexpensive way to save me a lot of time reading about new CRM and Azure happenings.

  • Part of the solution is for a Logic App to auto-send a tweet about the new "Favorite Tweets" blog post. After a few hours of that tweet, each page is getting about 50 unique visitors, so the automated solution is leading to a respectable number of page views. That's not my goal, but if I ran a business then this solution could be used to provide timely and relevant content to site visitors.

  • It's reliable. The Azure Logic Apps, Functions, etc. that I created for the solution have run on-time and without fail each day. I didn't really expect them to fail, it was just reassuring to see all green checkmarks in the runtime history.

I'm not sure what my next rainy day side project will be with Azure but I'm sure I'll come up with something soon.

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-13, Part II

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!


Run workflows on child records without custom development - #msdyn365 ...

Integrate with #AzureServiceBus message queue using #SSIS #sqlserver #sql ...

Play with @Azure Functions for free. No need for Azure account: #azureFunctions ...

Happy 15th Birthday .NET! #dotnet #dotnetcore #visualstudio ...

What's new to #MSDyn365 #AppSource ...

Looking for a comprehensive online guide to #MSDyn365? Then you'll want to check out #TheCRMBook: #MSDynCRM ...

#digital transformation and your face #realized365 #dynamics365 #azure ...

Dynamics 365 - The Perfect Demo #msdyn365 #mspartner #PerfectDemo ...

If you need to bulk assign record, check-ou my first #xrmtoolbox #plugin #GTBulkAssigner #dynamicscrm #mscrm… ...

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-13

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Have a great day!


What’s new in Microsoft Social Engagement 2017 Update 1.1 #MSDYN365 ...

6 Technology Trends Shaping Digital Transformation - Microsoft Dynamics Blog #msdyncrm #msdyn365 ...

Use #MicrosoftFlow to Convert, Merge, Watermark, Secure and OCR files ...

5 reasons why #enterprise should consider #microsoft #powerapps ...

Sentiment Analysis Solution in #DynamicsCRM Using Microsoft #Cognitive Services (Part 2) ...

Learning Paths in Dynamics 365 #MSDYN365 ...

Thanks to our many sponsors for #eXtreme365 Lisbon (13-17 March). The Dynamics365 community thrive! #MSDyn365 ...

Hosk’s favourite Hosk Dynamic blog posts of 2016 #msdyncrm #MSDYN365 ...

Now posted! A great list of speakers for #eXtreme365 for Customers (16-17 March). #MSDyn365 #Dynamics365 ...

An incomplete list of the various config/development options and where to use them for #MSDYN365 ...

Microsoft must look like everyone, every organisation: CEO Satya Nadella #eXtreme365 #eXtremeCRM #Dynamics365 ...

JonasPluginBase, my handy little plugin base class for #MSDyn365 #MSDynCRM is now on @nuget Take your dev from 🐌to… ...

Meet The New Microsoft Dynamics 365 App For Outlook: #MSDyn365 #CRM #Office365 #Outlook ...

Slide deck of my #azurefunctions talk at #meetupmadness at #msauignite ...

40 of the most advanced ETL components available for SSIS #sqlserver #sql ...

Release of #Dynamics365 introduced a powerful new feature called business recommendations. Find more: @AliMillerLive ...

Dynamics 365 Configuration Data Mover v2.0 by @lucas_is #MSDyn365 #MSDynCRM ...

Start the week with this thought ..#CRM #CustomerService #Dynamics365 #sales #inspiration ...

Yep. #XRMToolbox is the #SwissArmyChainsaw of @MSFTDynamics365 CRM Utilities.πŸ› ️ ...

From developing & debugging in #VisualStudio, to using LUIS to add smarts to your bot, meet #Azure #bot svce @Azure ...

Sunday, February 12, 2017

Favorite Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-12

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Please follow me on Twitter @toolmandutch. I often post original content on how to get the most out of Dynamics 365 (CRM) and how to extend CRM with Microsoft Azure.

Have a great day!


I did a post on using #powerapps with #msdyn365 and related records. Included an example for you to play with ...

Dynamics 365 - How to Evaluate #D365Eval #msdyn365 #mspartner ...

Reminds me of many #MSDynCRM projects. "No, we don't have a Dev environment, we do it all in live - carefully" ...

Watch how Cloud Nine Healthcare used #MSDYN365 to enhance customer engagement with their patients-… ...

Infer Unveils New Connector for Microsoft Dynamics 365 to Fuel Customer Growth. #MSDYN365 ...

PSA – Expense Recording by @ParkhurstNeil #MSDyn365 ...

Saturday, February 11, 2017

Top Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-11

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Please follow me on Twitter @toolmandutch. I often post original content on how to get the most out of Dynamics 365 (CRM) and how to extend CRM with Microsoft Azure.

Have a great day!


Hey #Dynamics365 admins! Make sure you know about Organizational Insights! ...

Q&A: What's New in #VisualStudio 2017 -- Visual Studio Magazine ...

It's a match made in heaven! #MSOneNote & #DynamicsCRM – Get the most out of this #dynamic duo! ---->… ...

What's new in the Common Data Service - Feburary 7 edition #MSDyn365 ...

Quickly find duplicates and clean your data using SSIS & the Duplicate Detector #sqlserver #SSIS #sql ...

"53% of customers expect a response to a tweet in less than an hour" See how #MSDyn365 can help: #CustomerCentric ...

10 Benefits of Hiring a #Microsoft Certified #DynamicsCRM Partner ...

Refresh Quick View form control programmatically using new Client side API for Quick View forms in #MSDyn365 ...

Data integration for #MSDyn365 #MSDynCRM #MSDynAX or #MSDynNAV in one easy-to-use solution ...

Look at Visual Studio 97. My how far they’ve come #dev #microsoft #VisualStudio ...

Friday, February 10, 2017

Top Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-10

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Please follow me on Twitter @toolmandutch. I often post original content on how to get the most out of Dynamics 365 (CRM) and how to extend CRM with Microsoft Azure.

Have a great day!


Microsoft Dynamics 365 Adoption Model #msdyncrm #msdyn365 via @nz365guy ...

This just in, “Everything-as-a-Service” - Microsoft Dynamics Blog #msdyn365 ...

The essential event for Microsoft Dynamics users. Summit EMEA - Microsoft Dynamics Blog #msdyn365 #msdyncrm ...

Bringing #DevOps capabilities to the IDE, the Continuous Delivery Tools Extension for #VS2017 is now available -… ...

Dynamics 365 - The Enemy has a Name: Data #evildata #msdyn365 #msdyncrm #mspartner ...

Makes troubleshooting online plugins even easier! #MSDYN365 ...

Use AI to power your prospecting with the Dynamics 365 #MSDynCRM #MSDyn365 ...

Visual Studio 2017 release date announced #vs2017 ...

Join Us: Visual Studio 2017 Launch Event and 20th Anniversary #VisualStudio ...

VisualStudio: Learn #Git with #VisualStudio Team Services ( - #VSTeamServices, #VSTS #TFS ...

Read and write data to #AzureServiceBus easily with our new #SSIS components #sqlserver #sql ...

Tip #822: Getting Started with Connected Field Service by @crmtipoftheday #MSDyn365 ...

Problem #4: “I need to stop alt-tabbing to my other applications” See #msdyn365 solution: ...

Microsoft Dynamics 365 reflects evolution of sales challenge #DCRMNorth #CRM #MCDyn365 #Dynamics365 ...

Friday News! Plugin Trace Viewer for #XrmToolBox now displays #MSDyn365 Plugin Statistics for each plugin! Get it f… ...

@MSFTDynamics365 developers: Build custom workflows w #VisualStudio & Azure @MSFTMechanics ...

Here's who's speaking at #eXtreme365 for Partners (13-15 Lisbon). #MSDyn365 #Dynamics365 #CRM ...

Learn #application #integration #bestpractices in - Escape from Integration: An #engineers guide to #iPaaS… ...

Integrate Power BI with Microsoft Dynamics 365 #MSDYN365 ...

#Dynamics365 what matters in the new release ...

5 software development mistakes that spell failure #msdyncrm ...

Flow of the Week Handling form submissions from Typeform. #MicrosoftFlow ...

#PowerApps connectors -Updated with BitBucket, DB2, Eventbrite, File System, Gmail, HelloSign, Informix, OutlookTask ...

Thursday, February 9, 2017

Building a String in an Azure Logic App

In an Azure Logic App, one way to build a string containing multiple values (for example, within a "For Each" loop) is to use an Azure Storage Blob. First, add an action that creates a blob. Then, in your For Each block, use a "Get blob content using path" action along with an "Update blob" action.

To make this work in a loop, though, you'll need to add the following property and value to the For Each block definition in the underlying Logic App code:

"operationOptions": "Sequential"

Example:

"forEach_email": {
       "type": "foreach",
       "foreach": "@body('email_filter')",
       "operationOptions": "Sequential",
       "..."
}

Without that setting, the blob you're building will very likely be incomplete. That's because Logic Apps run loops in parallel. So, by the time the app has retrieved the current blob contents and has appended the next value, another thread of the app has done the same thing and the result will be an unpredictable set of data.

The following For Each block from a Logic App demonstrates this technique.



Note that it's certainly possible that I missed a feature in Logic Apps that helps to build a string, such as some sort of "Append to a String Variable" action, which will make my use of a blob for this look silly. If I did miss this, please leave a comment to set me straight. Otherwise, Logic Apps team: We need an "Append to a String Variable" action.   :)

Top Dynamics 365 (CRM and related) Tweets of the Day - 2017-02-09

Here are some of my favorite Microsoft Dynamics 365 (CRM and related) tweets for today.
(Page auto-generated with an Azure Logic App.)

Please follow me on Twitter @toolmandutch. I often post original content on how to get the most out of Dynamics 365 (CRM) and how to extend CRM with Microsoft Azure.

Have a great day!


Are you prepping to move to #TheCloud? Here are some key points you need to consider - #MSDYN365 #Azure ...

This week on #AzureFriday w/@shanselman 2/2: Arif Kureshy demos #PowerApps using Common Data Service #CDS ...

Great video by Chris Vugrinec on a #Nodejs app getting twitter data from #LogicApps and #CognitiveServices ...

Transform column data into JSON or XML format with our new #SSIS merge components ...

#PowerApps Featured Video: Office Mechanics Extensibility Options in Dynamics 365 ...

Taking the AppSource Path for Dynamics 365 via @SteveMordue #msdyn365 ...

Dynamics 365 Partner Community: Overview of Portals #DYN365 #DYNCRM ...

Microsoft Releases Light CRM Tool for Outlook #msdyncrm ...

There are many advantages to using Data Export Services over oData for your #MSDyn365 #PowerBI reporting ...

Microsoft Dynamics 365 is great for utilities avoiding shameful disasters like SAP at Water Works #Dynamics365 #ERP ...

Yes - this is the best description of the #XRMToolbox I know:πŸ˜€ ...

#MSDyn365 vs #NetSuite: Is Microsoft committed to the SMB space? ...

Power BI capabilities extended to include the Common Data Service! @mmarie #PowerBI #PowerApps #CDS #connectors ...

There are two brand new applications available on the portal! #Flow #PowerApps! ...

#SSISProductivity Pack now includes 40 advanced SSIS components to accomplish more with less effort… ...

@techobloc's #CEO shares his experience implementing #msdyn365 ...

#MSDYN365 First look #video ! ...

New MS Dynamics developer toolkit released: #MSDYN365 create, develop & deploy CRM plug-ins ...

Demo for #MSDyn365 power users: natively configure your company’s #Sales business processes:  ...

@slowxrm has a pretty good introduction to portals in #MSDYN365 a recommended read ...

PowerApps and Microsoft Flow are creating "Power Users." Are you one of them? #MSDyn365 ...

Dynamics 365 Portals - Why You Need Them (and How to Try Them Out for Free) #MSDYN365 by… ...

Podcast and Overview: December 2016 Update for Dynamics 365 #MSDyn365 ...

CRM MVP Question and Answer – Leon Tribe #msdyncrm #mvpbuzz ...

Monday, February 6, 2017

Taming Twitter with Microsoft Azure

Twitter is noisy.

At least 50% of tweets are duplicates, retweets or auto-generated from old content. And another 25% are likely tweets that, if you're busy, you don't really care to see at the moment. Thus, trying to use Twitter as a source for learning and new information is often time-consuming and not worth the effort. For example, on the topic of Dynamics 365/CRM and Azure, people and bots around the world send out over 1,000 tweets per day -- far too many for most of us to view.

Twitter is useful.

On the other hand, there are tweets that are important (or at least interesting) to see. It's a great resource for keeping up-to-date on just about any topic.

Twitter can be tamed.

This blog post demonstrates one way to tame Twitter: To cast aside unwanted or duplicate tweets to get to the good stuff.

The solution described below utilizes various Microsoft Azure and Office 365 services to achieve the following goals:
  • Receive Tweets by e-mail that match a keyword or hashtag
  • Eliminate duplicate tweets, retweets and bot tweets
  • Eliminate tweets that contain a particular keyword (e.g., #jobs)
  • Categorize tweets within e-mail folders
  • Benefit from Twitter by significantly reducing the "noise"
  • Have full control over the tweet filtering process to further enhance the solution

Get Ready to Build

If you're like me and find benefit in using Twitter but find it too time-consuming to wade through the noisy tweets, and if you're a DIY type of person who would rather build a solution then buy one, then this tweet tamer solution will be worth the effort.


Solution Components

This solution utilizes the following components:
  • Microsoft Azure:
    • 1 Logic App
    • 1 Azure Function
    • 1 Azure Storage Queue
    • 2 Azure Storage Tables
  • Microsoft Office 365
    • 1+ Microsoft Flow workflows
    • Outlook (desktop or web)
Time to implement: About 1 hour

Cost per month: It depends. If your Twitter searches are relatively narrow, running this solution might be free or not more than a few dollars per month. To avoid a big bill, avoid searching Twitter for keywords or hashtags (in your Flows) that will return hundreds or thousands of tweets per query.

Prerequisites


Solution Runtime Overview

In a nutshell, this tweet-taming solution works in this way:
  1. Microsoft Flow monitors Twitter for specific hashtags, keywords or phrases and posts matching tweets to an Azure Storage Queue.
  2. Azure Logic App reads messages from the queue every 30 minutes, sends tweet messages to an Azure Function for analysis and storage.
  3. The Azure Function determines whether the tweet is a duplicate or is an unwanted tweet by keyword. It does this by storing and matching tweet messages with Azure Storage Tables.
  4. The Azure Logic App conditionally sends the tweet message to an email account. Office 365 Email rule moves tweets to specific folders based on keywords.

Note: In addition to Microsoft Flow, it's also possible to retrieve tweets with an Azure Logic App and other means (e.g., Twitter API). I chose to use Flow for this solution because it's easier to add additional tweet retrievers with Flow compared with creating separate Logic Apps to capture tweets. Plus, Flow is included with my Office 365 account, so using it does not use up my Azure Subscription credits.








Implementing the Solution


This section provides the steps for creating this tweet-taming solution.

Note: Since the procedures for creating and managing Azure services changes often, and since there are lots of online resources available, I am not providing complete step-by-step instructions. For example, when I say to create an Azure Storage account, I don't provide the specific steps for doing that, but I believe I've provided sufficient instructions to understand and build the solution. It just might take some research on your part to complete a step that you haven't done before.

Create an Azure Resource Group for this solution

In the Azure Portal, start by creating a Resource Group in Azure to assign to the services that you'll be creating in the steps below. Using a Resource Group helps organize Azure services that are part of the same solution.

Create the Azure Storage Queue and Tables

  1. Create an Azure Storage account.
  2. In Microsoft Azure Storage Explorer (or similarly capable tool), create a queue named "tweets" and two tables, one named "tweets" and the other named "unwantedTweetKeywords". There's no need to add additional columns to the Tables.

Create the Azure Function

  1. Get the Azure Function files from the GitHub Gist location.
  2. Create an Azure Function App. Name it something like "TweetTamer".
  3. Create the Azure Function. Use the GenericWebHook-CSharp template. Name it "ProcessTweet".
  4. Create the Azure Function files to correspond with the files you retrieved from the provided Gist location. Your function should have three files: run.csx, function.json and project.json.

Create the Azure Logic App

Create the Logic App as shown in the provided screenshots. Name it "ProcessTweets" or any name that you choose.

The "ProcessTweet" action shown below is where the Logic App calls the Azure Function. Construct the JSON string to pass to the function. If the return value from the function does not contain "ignore_tweet" then the tweet text is sent via email. The last step removes the Azure Storage queue message.






Create Rules In Outlook to Move Tweets

The solution is almost ready for use. One optional but recommended step is to create one or more email routing rules in your email application to move emails that start with "New Tweet" to a particular folder. Doing this will help keep your inbox clear of tweets and will help categorize the tweets to further put them into context.

Create Microsoft Flow workflows to receive Tweets and Send to Queue

The last step is to create one or more Microsoft Flow workflows to periodically query Twitter and send tweets to the Azure Storage queue that you created in a previous step.
  1. Login to Microsoft Flow
  2. Create a blank Flow.
  3. Search for "Twitter" and select the trigger named "Twitter - When a new tweet is posted"
  4. For the search text, enter one or more hashtags or keywords separate by the word "OR". Example: #msdyn365 OR #msdyncrm OR #dynamics365
  5. Click "Next Step" and search actions for "azure queues". Select the "Azure Queues" action then select "Azure Queues - Put a message on a queue".
  6. For the queue name, enter "tweets". For the message, select the "Tweet text" option from the dynamic content list. If you want to include a URL to the tweet, then see the image below for an example of how to construct the URL.
  7. Click "Create flow" to save the flow and then click "Done".




Twitter is Tamed!

Within 15 minutes of creating one or more of the Microsoft Flow workflows that retrieve tweets and sends them to the Azure Storage queue, you should start receiving tweets in email.

Over time, the number of tweets you receive will decrease because you will not be receiving as many duplicate tweets, no retweets and no tweets that contain the keywords you specify (see "Ongoing Maintenance" below for details).

The end result is that you can now benefit from Twitter without the noise!

Here's my own tweet about this blog post in Outlook online...



Ongoing Maintenance

Ignoring Tweets by hashtag or keyword

As you receive tweets in email, when you see a word or hashtag appear that you'd like to ignore, you can add the word or hashtag to the Azure Storage table "unwantedTweetKeywords".  For the PartitionKey, enter "Keyword" and for the RowKey, enter the word or hashtag. Since Azure Storage tables don't allow the pound character ("#") in the RowKey column, use "HT" instead. For example, to ignore tweets that have #jobs in the text, enter "HTjobs" into the RowKey column. The Azure Function provided in this solution converts "HT" to the "#" character.

Other Ideas

Below are some other thoughts on using and extending this solution.
  • Within your email client, create a folder named "Tweets to Read" and use it to store tweets (links) that you want to review later.
  • Also within the email client, one idea is to create a folder for tweets that you want to share with others. You can set up a Microsoft Flow workflow to monitor a "To Share" folder and post the tweets on Slack or Yammer.