Microsoft Dynamics CRM Breakthrough Webinar Series: Workflows and Processes

1,956 views

Published on

Workflows and business processes are an integral part of any enterprise software application. In Microsoft Dynamics CRM, a workflow/process enables users to create and manage automated and interactive business processes.

Published in: Technology, Business
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
1,956
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
54
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Microsoft Dynamics CRM Breakthrough Webinar Series: Workflows and Processes

  1. 1. Microsoft Dynamics CRM Breakthrough Webinar Series:Workflows and Processes Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  2. 2. Presenter: Director, Solution Architects Email: mhammons@infinityinfo.com Marketing Associate Email: jvanpelt@infinityinfo.com Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  3. 3. Agenda• What• Why• Capabilities/Benefits• Workflow Examples/Demo• Testing & Troubleshooting• Wrap up/QA Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  4. 4. Infinity Info SystemsWHAT ARE PROCESSES(WORKFLOW) Copyright ©Copyright © 2010 Infinity Info Systems – Proprietary and Confidential Distribution 2011 Infinity Info Systems | Proprietary and Confidential – Not For
  5. 5. What are processes?• A business process is a collection of related, structured activities or tasks that produce a specific service, product or goal• Two Types – automated processes that rely solely on communication among applications based on a set of rules, and – interactive processes that also rely on people to initiate and run the process, and to make the appropriate decisions during the running of the process. Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  6. 6. Dynamics CRM Processes• Automates business tasks – Creates consistency in how you interact with your customers• Consist of: – Workflows - Automated processes that may require user inputs to start. These processes do not require user inputs to run until they are completed. Run in the background. – Dialogs - Interactive processes that require user inputs to start and run until they are completed. When a user starts the dialog process, they are presented with a wizard-like interface, and must make appropriate selections in the wizard pages, and continue to run it until it is completed. Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  7. 7. Dynamics CRM Processes• Based on Windows® Workflow Foundation® 4• SharePoint and CRM share the same foundational workflow layer, the two can share the same workflow processes and data.• Can use Web Builder (in CRM), XAML or Visual Studio Workflow Designer to visually design and create workflows. Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  8. 8. Infinity Info SystemsWHY WORKFLOW Copyright ©Copyright © 2010 Infinity Info Systems – Proprietary and Confidential Distribution 2011 Infinity Info Systems | Proprietary and Confidential – Not For
  9. 9. Why• Reduce the amount of manual unnecessary actions between people as they perform business functions. – E.g. to reach a decision, groups typically follow a series of steps.• The number of actions that occur can inhibit speed and the quality of decisions.• Software that simplifies and manages this "human workflow" results in more speed, overall effectiveness of the interactions, and often a reduction in errors. Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  10. 10. Example Uses• Contract approval Guiding a proposed contract among members of an organization who must approve or reject it.• Expense reporting Managing the submission of an expense report and associated receipts, reviewing the report, approving it, and reimbursing the submitter.• Technical support Guiding the progress of a technical support incident as it is opened by a customer, investigated by a support engineer, routed to technical experts, resolved, and added to a knowledge base.• Interviewing Managing the process of interviewing a job candidate. This includes scheduling and tracking interview appointments, collecting interview feedback as it accumulates, making that feedback available to subsequent interviewers, and facilitating the hire/no-hire decision.• Content publishing Managing the approval of the publication of content on the Internet presence site of an enterprise. Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  11. 11. Benefits• Increase productivity• Increase response times• Lower cost• Reduce errors• Create consistency• Automate (Remove) the mundane Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  12. 12. Infinity Info SystemsWORKFLOW BENEFITS Copyright ©Copyright © 2010 Infinity Info Systems – Proprietary and Confidential Distribution 2011 Infinity Info Systems | Proprietary and Confidential – Not For
  13. 13. Workflow Deep Dive • Workflows can do a lot more… • …because they have a lot more to do! Entity Can be triggered by Can create SharePoint Site Yes Yes SharePoint Document Location Yes Yes Goal Metric Yes No Goal Yes Yes Queue Yes No Queue Item Yes Yes Connection Role Yes No Connection Yes Yes Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  14. 14. Dialogs – Prompts & Responses• Pages (think of them as Steps)• Prompts the user• Collects responses• Captures details• Triggers updates and next actions Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  15. 15. Queues and Queue Items • Any record type can be routed to queues • How it works: 1. A record is routed to Queue A 2. A queue item is created in Queue A (1:1 to underlying record) 3. If removed from Queue A, queue item goes away 4. If routed to Queue B, queue item is moved to Queue B Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  16. 16. Queues, Queue Items and Workflows• Typical scenarios: routing, assignment, escalationIn CRM workflowdesigner, route to In workflowqueue with Create designer, route toQueue Item queue with Create Queue Item Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  17. 17. ExampleRound-Robin Lead Routing and Service LevelAgreement (SLA) Enforcement• Round-Robin process: – Custom Counter entity with 1:N to Lead – Automatic workflow does this: 1. Makes selected lead record a child of counter 2. Assigns/routes based on value of counter field 3. Increments (eventually resets) counter field Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  18. 18. Round-Robin Record Assignment Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  19. 19. SLA Enforcement• Set a timer• Check for status changes• Trigger next action based on field change or lack of change – E.g. notify manager Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  20. 20. Dialog Process Drill-Down • Workflows • Dialogs – Asynchronous – Synchronous – May require UI to – Always require UI to start, never to complete start and to complete – Can be triggered by – Always started by a user events or started by user – User interacts with – Run in background dialog process through to completion – Can call other Processes Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  21. 21. Dialog Topics• Dialog Basics• Query CRM Data and dynamic queries• Searching for records and handling results• Link Child Dialog and recursive dialogs• Using Variables in dialogs• Calling dialogs with URLs Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  22. 22. Review: User Experience Dialog NameThis is one Page Here is a Prompt and Response pair Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  23. 23. Review: Designer ExperienceInputArgumentgets valuepassedfrom Variables used for storingparent intermediate values asdialog dialog runs Query CRM Data Page Prompt and Response Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  24. 24. Actions and Conditions• Add Step for Dialogs • Add Step for Workflows Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  25. 25. Dialog Conditions• New options in Local Values section shed light on important new concepts: – Dialog gives access to variables defined in dialog process – Responses store value of response to prompt – Queries, e.g., Contacts for Account, give access to Records property that contains record count returned by query! Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  26. 26. Using Query CRM Data• Virtually any CRM data can be queried in a dialog: accounts, contacts, products, users, business units…• A query’s label becomes its Query Variable name… Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  27. 27. Labels and Query Variables• …so give them good names! Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  28. 28. Dynamic Queries• While you can query for “all active accounts”, you generally won’t want to!• How many records are too many?• And how do you narrow them down?• Dynamic queries let you filter query results: – By the current record – By a user’s response – By a previous query Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  29. 29. Dynamic Queries• Basic technique always the same: use the Define Query dialog’s Modify Query Variables tab to substitute a value into fetchxml• Consider this dialog, written for the account entity Written against Account, so we can substitute in using Dynamic values Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  30. 30. Checking Record CountQueries have Record Count property can use inconditional: Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  31. 31. Link Child Dialog and Recursive ProcessesConceptually: In the Designer: Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  32. 32. Calling Dialogs with URLs• The dialog user experience is presented in Dynamics CRM forms• Therefore, they can be called with the URL- addressable forms technique• Why would you want to do this?• What about a dialog written for the User entity? – Approach 1: Do you want to force users to navigate to the User data grid and select their record and run it from the ribbon? – Approach 2: Let them click a button on a dashboard labeled “Lead Intake Process” Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  33. 33. URL-Addressable Dialogs • By-hand approach: run a dialog and on the first form, press Ctrl+N • Question is: how to create a URL like this one dynamically? Org IDhttps://infinityinfo2011.crm.dynamics.com/cs/dialog/rundialog.aspx?DialogId=%7b5EDDF228-4220-491F-B752-A825A85A5B64%7d Dialog GUID&EntityName=lead&ObjectId=%7b50E6EC5F-DA07-410F-B1BC-611CC7538FE2%7d User GUID Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  34. 34. Use an HTML Web ResourceHTML like this can be called from custom ribbonbutton, or from dashboard component:<HTML><HEAD><SCRIPTsrc="../../ClientGlobalContext.js.aspx"></SCRIPT><META charset=utf-8></HEAD><BODY contentEditable=true>&nbsp;<BR><BR><A onclick=window.navigate(“<<orgurl>>/cs/dialog/rundialog.aspx?DialogId=%7b<<DialogGUID>>%7d&amp;EntityName=systemuser&amp;ObjectId="+GetGlobalContext().getUserId() ) href="#">Run Dialog Process</A></BODY></HTML> Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  35. 35. Demonstrations• Dialog Basics• Query CRM Data• Dynamic Queries Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  36. 36. Infinity Info SystemsTESTING & TROUBLESHOOTING Copyright ©Copyright © 2010 Infinity Info Systems – Proprietary and Confidential Distribution 2011 Infinity Info Systems | Proprietary and Confidential – Not For
  37. 37. Troubleshooting• Retry Count – This simply shows how many times the workflow has failed and been tried again.• Postponed Until - This shows until when the workflow is postponed Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  38. 38. Troubleshooting• Test in a safe environment• Package as a solution then deploy to production Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  39. 39. Detailed Error Info• This shows the full XML error and exception that was produced by Workflow Foundation Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  40. 40. Process Cleanup• Per Workflow job deletion – In CRM 4.0, this was handled globally via a registry key setting. – CRM 2011 you can decided if you want to preserve history on some workflows, while deleting lots of noise from others. Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
  41. 41. http://www.infinityinfo.com/events/upcoming Microsoft Dynamics i3 Event Microsoft Offices, NYC February 28th / 9am-3pm For more information, visit: www.infinityi3.com Microsoft Dynamics CRM Breakthrough Series: Social Media and CRM March 29th / 2pm-3pm For more information contact: Jennifer Van Pelt Marketing Associate Tel: 646.747.6403 Email: jvanpelt@infinityinfo.com Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution

×