microsoft dynamics crm breakthrough webinar series: workflows and processes
DESCRIPTION
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.TRANSCRIPT
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Microsoft Dynamics CRM Breakthrough Webinar Series:
Workflows and Processes
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Presenter:
Michael HammonsDirector, Solution ArchitectsEmail: [email protected]
Jenn Van PeltMarketing AssociateEmail: [email protected]
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Agenda
• What• Why• Capabilities/Benefits• Workflow Examples/Demo• Testing & Troubleshooting• Wrap up/QA
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
WHAT ARE PROCESSES (WORKFLOW)
Infinity Info Systems
Copyright © 2010 Infinity Info Systems – Proprietary and Confidential
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
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
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
WHY WORKFLOWInfinity Info Systems
Copyright © 2010 Infinity Info Systems – Proprietary and Confidential
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
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
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
WORKFLOW BENEFITSInfinity Info Systems
Copyright © 2010 Infinity Info Systems – Proprietary and Confidential
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
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
Queues and Queue Items
• Any record type can be routed to queues• How it works:
1. A record is routed to Queue A2. A queue item is created in Queue A (1:1 to underlying
record)3. If removed from Queue A, queue item goes away4. If routed to Queue B, queue item is moved to Queue B
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Queues, Queue Items and Workflows
• Typical scenarios: routing, assignment, escalation
In CRM workflow designer, route to queue with Create Queue Item
In workflow designer, route to queue with Create Queue Item
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Example
Round-Robin Lead Routing and Service Level Agreement (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 counter2. Assigns/routes based on value of counter field3. Increments (eventually resets) counter field
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Round-Robin Record Assignment
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
Dialog Process Drill-Down
• Workflows– Asynchronous– May require UI to start,
never to complete– Can be triggered by
events or started by user– Run in background
• Dialogs– Synchronous– Always require UI to
start and to complete– Always started by a user– User interacts with
dialog process through to completion
– Can call other Processes
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
Review: User Experience
Dialog Name
Here is a Prompt and Response pair
This is one Page
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Review: Designer Experience
Page
Prompt and Response
Query CRM Data
Input Argument gets value passed from parent dialog
Variables used for storing intermediate values as dialog runs
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Actions and Conditions
• Add Step for Dialogs • Add Step for Workflows
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
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
Labels and Query Variables• …so give them good names!
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
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
Checking Record CountQueries have Record Count property can use in conditional:
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Link Child Dialog and Recursive Processes
Conceptually: In the Designer:
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
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 ID
Dialog GUID
User GUID
https://infinityinfo2011.crm.dynamics.com/cs/dialog/rundialog.aspx?DialogId=%7b5EDDF228-4220-491F-B752-A825A85A5B64%7d&EntityName=lead&ObjectId=%7b50E6EC5F-DA07-410F-B1BC-611CC7538FE2%7d
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Use an HTML Web Resource
<HTML><HEAD><SCRIPT src="../../ClientGlobalContext.js.aspx"></SCRIPT><META charset=utf-8></HEAD><BODY contentEditable=true> <BR><BR><A onclick='window.navigate(“<<orgurl>>/cs/dialog/rundialog.aspx?DialogId=%7b<<DialogGUID>>%7d&EntityName=systemuser&ObjectId="+GetGlobalContext().getUserId() )' href="#">Run Dialog Process</A></BODY></HTML>
HTML like this can be called from custom ribbon button, or from dashboard component:
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
Demonstrations
• Dialog Basics• Query CRM Data• Dynamic Queries
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
TESTING & TROUBLESHOOTINGInfinity Info Systems
Copyright © 2010 Infinity Info Systems – Proprietary and Confidential
Copyright © 2011 Infinity Info Systems | Proprietary and Confidential – Not For Distribution
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
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
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
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
http://www.infinityinfo.com/events/upcoming
For more information contact: Jennifer Van Pelt
Marketing AssociateTel: 646.747.6403
Email: [email protected]
Microsoft Dynamics CRM Breakthrough Series: Social Media and CRM
March 29th / 2pm-3pm
Microsoft Dynamics i3 EventMicrosoft Offices, NYC
February 28th / 9am-3pmFor more information, visit: www.infinityi3.com