Using Microsoft Azure Auto Machine Learning, Logic App and Dynamics 365 for AI Predictive Customer Service
Microsoft Azure Machine learning has the potential to automate Customer Service in Dynamics 365. I wanted to see if I could use Azure Machine Learning to help customer service agents predict the most likely fault for a product when a customer contacts them.
3 areas of configuration will be covered:
- Azure Automated Machine Learning — to predict faults
- Dynamics 365 — to capture product and age and show prediction
- Azure Logic App — to glue the above together
Azure Automated Machine Learning
- I created a csv file of faults (this would normally come from the customer’s Dynamics 365 or data warehouse based on historical fault data). 3 fields specified: Product, Age and Fault. Expectation was each row would have been a real reported product fault.
2. In Azure I created a new ‘Machine Learning service workspace’
3. I then clicked ‘Create a new Automated Machine Learning Model’
4. I selected my CSV file
5. I picked Fault column as the target and accepted Categorisation
6. Run the automation — review of models/types
7. When finished I clicked deploy Best Model
Dynamics 365
8. I created a demo Dynamics 365 instance
9. I added the products from my Fake faults csv file to Dynamics
10. I added a new field to the Case entity and form to capture product age; and one field to receive the AI predicted Fault
11. I added the fields to the Case form
12. Publish all customisations
Azure Logic App
13. I created a new Logic App
14. Trigger point was when case updated using Common Data Service
15. I used a Get record to obtain the Product Name from the Product Id — needed for AI prediction
16. I initialised a Variable to store the Product Name for later use
17. I then used a HTTP action to call the Azure Machine learning deployment API, passing the Product Age and Product Name in. URI was obtained from the Automated Machine Learning. Be careful to have square brackets after “data”:
18. Then a Parse JSON action to retrieve the Predicted Fault
19. Finally, an Update a record action from Common Data Service to write the AI predicted Fault into the Case record
Result
1. Click Run in the Logic app
2. Create a new Case record in Dynamics 365
3. Set the Title, Customer, Product and Product Age
4. Save the Record, which triggers the Logic App
5. Refresh Dynamics 365 and see the Predicted Fault from Azure Machine Learning set in the Dynamics 365 field
Comments
Originally, I followed on-line examples of manually creating the experiment and setting the import data steps, split data, test, evaluate, etc. This worked OK. However, when I tried to deploy the predictive model, I had problems. The deployment step refused to ‘see’ my newly created Kubernetes cluster. I then moved to using Azure Automated Machine Learning, which worked well with minimal input.
I found the HTTP action step of the Logic App quite frustrating. I couldn’t find any examples of the syntax needed for the JSON body and it took help from a colleague to realise I needed ‘[‘ after data instead of ‘{‘.
Overall, I think this is quite impressive to be able to load existing customer data into Machine Learning and link this to Dynamics 365 without any code and with minimal effort.
Join the Capgemini Microsoft team, open roles here.