Sage CRM Developers Course

Slides:



Advertisements
Similar presentations
Basic SharePoint Workflows
Advertisements

Overview and Demonstration of declarative workflows in SharePoint using Microsoft SharePoint Designer 2007 Kevin Hughes MCT, MCITP, MCSA, MCTS, MCP, Network+,
Little Used, but Powerful Features with GP Cathy Fregelette, CPA, PMP Practice Manager BroadPoint Technologies September 20, 2012.
CC SQL Utilities.
SupportCenter Plus Product Overview. Overview 1.What is SupportCenter Plus (SCP) 2.Benefits of SCP 3.Licensing & Pricing 4.Questions.
Workflows in Archie IMS Support Person: Sonja Henderson
Adempiere Technical Training Day 5. Processes prepare method for getting the parameters into variables – Record_ID just work for buttons doIt method for.
Week 6: Chapter 6 Agenda Automation of SQL Server tasks using: SQL Server Agent Scheduling Scripting Technologies.
CNT 4603: Managing/Maintaining Server 2008 – Part 3 Page 1 Dr. Mark Llewellyn © CNT 4603: System Administration Spring 2014 Managing And Maintaining Windows.
Sage CRM Developers Course Entities and the Data Model (Part 2)
Page 1 of 16 The Work in Progress screen is accessed from the ETS main menu. The screen will be displayed when a user clicks on the ‘Work in Progress’
ClubRunner Connect. Communicate. Collaborate. ClubRunner and Rotary International Database Integration Introduction and Overview November 2010.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Sage CRM Developers Course Programming for the Advanced Manager.
Sage CRM Developers Course
ManageEngine ADAudit Plus A detailed walkthrough.
Sage CRM Developers Course
Sage CRM v7.2 Developers Course An Introduction to the Developer Program.
Presented By: Product Activation Group Syndication.
Sage CRM Developers Course
Web Self Service Take Home Message Web Self Service gives CRM information access to assigned non-CRM users.
Classroom User Training June 29, 2005 Presented by:
LBTO IssueTrak User’s Manual Norm Cushing version 1.3 August 8th, 2007.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
Sage CRM Developers Course
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
SDL Proprietary and Confidential IMS Campaign Manager Intra-day Updates and Response Attribution SDL Campaign Management Solutions.
1 The following presentation is from the Oracle Webcast “What’s New in P6 EPPM Release 8.1.” As a partner, you may not use the Oracle Power Point template,
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Creating a Web Site to Gather Data and Conduct Research.
ALLIANCE Administration 20 Oct 2009 (Based on Release 2.2) Michaël Petit.
SALESFORCE.COM SALESFORCE.COM
Managing Clients in the IEZ Quote System Objective: Become an expert in managing your clients in the IEZ Quote System.
1 of 8 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Setting Up Alerts and Dashboard Links. When you first start using the Active Orders system, you will need to establish the settings for two types.
Triggers A Quick Reference and Summary BIT 275. Triggers SQL code permits you to access only one table for an INSERT, UPDATE, or DELETE statement. The.
Oracle Data Integrator Procedures, Advanced Workflows.
Chapter 17 Creating a Database.
Module 15 Monitoring SQL Server 2008 R2 with Alerts and Notifications.
© 2006 Cisco Systems, Inc. All rights reserved.1 Connection 7.0 Serviceability Reports Todd Blaisdell.
Sage CRM Developers Course Using the Component Manager.
37 Copyright © 2007, Oracle. All rights reserved. Module 37: Executing Workflow Processes Siebel 8.0 Essentials.
Sage CRM Developers Course
TE002 Coming to grips with management with Sage CRM Robert Tan.
Using Workflow With Dataforms Tim Borntreger, Director of Client Services.
Interactions & Automations
SQL Triggers, Functions & Stored Procedures Programming Operations.
Sagecrm.com Sage CRM An Introduction to the Developer Program.
American Diploma Project Administrative Site Training.
American Diploma Project Administrative Site Training.
Company LOGO Sage CRM – Marketing Sage CRM 7.3 provides a new integration with MailChimp for marketing campaigns. In this.
Manage your projects efficiently and on a high level PROJECT MANAGEMENT SYSTEM Enovatio Projects Efficient project management Creating project plans Increasing.
Web Content And Customer Relationship Management Solution. Transforming web sites into a customer-focused, revenue generating channel with less stress.
Architecture Review 10/11/2004
Project Management: Messages
Welcome to all Salesforce Enthusiasts Once Again
Data-Basics Training & Support
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
IPOM and E-Booking.
TE004 Smart Change Management with Sage CRM Component Manager
Additional Configuration The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on additional.
Active Orders Supplier Administrator Training Getting Started Activities This training presentation describes the Getting Started activities that will.
Dreaming of a Paperless Office
Additional Configuration The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on additional.
SupportCenter Plus Product Overview.
This presentation document has been prepared by Vault Intelligence Limited (“Vault") and is intended for off line demonstration, presentation and educational.
Contract Management Software 100% Cloud-Based ContraxAware provides you with a deep set of easy to use contract management features.
Presentation transcript:

Sage CRM Developers Course Workflow (2)

Looking ahead to the classes DP01: Introduction to the Development Partner Program DP02: Entities and the Data Model (Part 1 of 2) DP03: Entities and the Data Model (Part 2 of 2) DP04: Implementing Screen Based Rules (Part 1 of 2) DP05: Implementing Screen Based Rules (Part 2 of 2) DP06: Screen and User Independent Business Rules DP07: Workflow (Part 1 of 2) DP08: Workflow (Part 2 of 2) DP09: Using the API Objects in ASP Pages (Part 1 of 2) DP10 : Using the API Objects in ASP Pages (Part 2 of 2) DP11: Using the Component Manager DP12: Programming for the Advanced Email Manager DP13: Using the Web Services API DP14: Using the Web Services API (Part 2 of 2) DP15: Coding the Web Self Service COM API (Part 1 of 2) DP16: Coding the Web Self Service COM API (Part 2 of 2) DP17: Using the .NET API (Part 1 of 2) DP18: Using the .NET API (Part 2 of 2)

Agenda Workflow 2 Escalations and Simple Notifications Mechanisms Used Escalation Service Workflow Rules Table Escalation Table Building Escalation rules using views Structure of an escalation rule Controlling the firing point Concept of Succession and Interactions with other rules Limitations and available actions for escalation rules

Workflow Control of process and data tasks Rules CRM offers graphical representation Progress through logical arbitrary steps/states using ‘rules’ that govern transition Rules Time driven action Uses SQL to check the data and time condition E.g. whether the rule is executed 2 types of rule (Quick) Notification Escalation rules

Workflow Configuration 1 The Reminder field on the Enter New Task and Enter New Appointment pages is enabled. Setting this field to, for example, 10 minutes, displays a notification message on the user's screen 10 minutes prior to the planned time of the communication. Quick Notifications are activated. Escalation rules within Administration Timings Service Level Agreements are activated. Escalation This is the "Master Switch" that activates notification reminders and escalation rules. When this is set to Yes the follow behavior changes All escalation-type rules within workflow are activated. All escalation-type rules outside of workflow, including the default escalation rules supplied with the system are activated. Notify Interval The interval expressed in seconds between the server polling clients for notification reminders or escalation rules to be run if the CRM Escalation Service is not being used. If you are using the CRM Escalation Service, the minimum is 5 minutes by default. (300 second = 5 minutes)

Workflow Configuration 2 Notification Display Count The most commonly used type of workflow action associated with escalation rules is the "Notification", the on screen alert. This setting controls the number of notifications that can be shown on-screen at any one time. Notify E-mail Name If your Escalation rules or Quick Notifications are set to issue emails, then this field holds the name that appears on any e-mail sent by the rules. Notify E-mail Address The valid e-mail account that is used to send the e-mails. Escalation Engine Tuned For Selecting "Immediate Delivery" means that the notification gets processed when the Communication, or associated entity record, is created or edited, as well as every time the system polls at the Notification Interval.

Notifications & Escalations Notifications are much easier for the System Administrator to define but are more limited in scope. Both expressed using SQL Both stored in workflow rules table To list existing escalation rules from database use: select * from workflowrules where wkrl_ruletype = 'Time‘ Both fired and controlled by the escalation mechanism Both logged in escalations and SQL logs Notifications tied to the use of the Escalations table Table data used for basis of timings and SLA data.

Tracking Rule behaviour Nov 19 2007 21:44:50.031 1160 2148 3 fselectsql,time,sql 31 select * from vWorkflowRulesTransitionInfo where ( WkRl_WorkflowId IS NULL OR (WkTr_TransitionId IS NOT NULL AND Work_Enabled = N'y')) AND WkRl_RuleType = N'Time' AND ((WkRl_NextRunTime < '20071119 21:44:50' OR WkRl_NextRunTime is NULL) OR WkRl_RunInterval IS NULL) AND WkRl_Enabled = N'Y' order by WkRl_Entity Nov 19 2007 21:44:50.046 1160 2148 3 fselectsql,time,sql 0 select * from vWorkflowActions where COALESCE(WkRl_RuleId, 0) = 65 AND Wkac_action = N'Notify‘ Nov 19 2007 21:44:50.046 1160 2148 3 fselectsql,time,sql 0 select * from vWorkflowActions where COALESCE(WkRl_RuleId, 0) = 117 AND Wkac_action = N'Notify‘ Nov 19 2007 21:44:50.093 1160 2148 3 fselectsql,time,sql 32 select * from vEscalationComms WITH (NOLOCK) WHERE Escl_DateTime<'20071119 21:44:50' And Escl_UserID=1 AND Upper(RTRIM(comm_status))=N'PENDING' ORDER BY Comm_CommunicationId Nov 19 2007 21:44:50.109 1160 2148 3 fselectsql,time,sql 15 select * from vWorkflowActions where COALESCE(WkRl_RuleId, 0) = 10127 AND Wkac_action = N'Notify‘ Nov 19 2007 21:44:50.281 1160 2148 3 fselectsql,time,sql 172 select * from vNotificationOrders WITH (NOLOCK) WHERE orde_repricenotify = 'Y' and 1 = vNotificationOrders.orde_createdby AND ((Escl_EscalationId is NULL ) OR (Escl_WorkflowRuleId <> 10127 ) OR ((Escl_WorkFlowRuleId = 10127 ) AND Escl_Datetime < '20071119 21:44:50' AND Escl_UserId = 1)) ORDER BY Orde_OrderQuoteId Nov 19 2007 21:44:50.296 1160 2148 3 fselectsql,time,sql 0 select * from vWorkflowActions where COALESCE(WkRl_RuleId, 0) = 10128 AND Wkac_action = N'Notify‘ Nov 19 2007 21:44:50.421 1160 2148 3 fselectsql,time,sql 110 select * from vNotificationQuotes WITH (NOLOCK) WHERE quot_repricenotify = 'Y' and 1 = vNotificationQuotes.quot_createdby AND ((Escl_EscalationId is NULL ) OR (Escl_WorkflowRuleId <> 10128 ) OR ((Escl_WorkFlowRuleId = 10128 ) AND Escl_Datetime < '20071119 21:44:50' AND Escl_UserId = 1)) ORDER BY Quot_OrderQuoteId Nov 19 2007 21:44:50.437 1160 2148 3 fselectsql,time,sql 0 select * from vWorkflowActions where COALESCE(WkRl_RuleId, 0) = 10123 AND Wkac_action = N'Notify‘ Nov 19 2007 21:44:50.468 1160 2148 3 fselectsql,time,sql 16 select * from vEscalationQuotes WITH (NOLOCK) WHERE (quot_IsQuote is not null) AND UPPER(RTRIM(quot_Status))=UPPER(RTRIM(N'Active')) AND (Escl_DateTime<'20071119 21:44:50' And Escl_UserID=1) ORDER BY Quot_OrderQuoteId Logs SQL Log Escalations Log SysAdmin extension

Simple Notification Creation Default Primary Entity Support Cases Communication Company Lead Opportunity Person Rule based e.g. send an e-mail to john when case = high priority and customer = xxxx Email Notifications use templates and can have attachments

Building a Notification Meta Data definition WorkflowRules Tables Automatic Implicit use of Escalation rules When creating task with reminder Insert Communication Insert Communication Link Insert Escalation record Rules based on views that link main entity with escalation table vNotificationCases vNotificationCommunication vNoticationCompany vNotificationLead vNotificationOpportunity vNotificationPerson

Example Escalation Rules State to State in workflows Time based (Escalation service) Escalation Rule is set to trigger an action or series of actions based on an SQL WHERE clause. (OrQu_ExpireDelivery<#T) AND (OrQu_IsQuote is not null) AND (UPPER(RTRIM(OrQu_Status))=UPPER(RTRIM(N'Active'))) #Codes

# Codes P O Code Meaning Escalation Rules SQL Dashboard Blocks SQL OrderQuotes Configuration #U Current User ID P #L Current User Logon Name O #T Current System Date/Time #C Current User Team ID #D Current User Team Name #I Current Order/Quote ID #R Recent List Info #O Current Opportunity ID #N Current Version Order/Quote

Action Availability P O NA Set Column Value Reset Column Value Display Field for Amendment Show Message on Screen Show Notification on Screen Send Email Send SMS Message Create Task Create Opportunity Create Case Create Lead Create Solution Create Merge Document Execute SQL Statement Run Stored Procedure Create Task for Target List Create Document for Target List Export Target List to File Create Outbound Call List Primary P O Transitional Global Conditional Escalation NA

Dates and Times in Escalation Rules Example Trigger clause 1 (quot_IsQuote is not null) AND UPPER(RTRIM(quot_Status))=UPPER(RTRIM(N'Active')) AND (Escl_DateTime<#T And Escl_UserID=#U) #T and #U codes represent the current time and the currently logged on user. #T is equivalent to getDate in an implementation on SQL Server. (quot_IsQuote is not null) AND UPPER(RTRIM(quot_Status))=UPPER(RTRIM(N'Active')) AND (Escl_DateTime #T ) and ((oppo_targetclose - 28) < #T) Example Trigger Clause 2 case_assigneduserid=#U and (case_notifytime+7)>#T Or DATEDIFF (mi, case_notifytime, getdate()) > 30

Notification Actions A rule will fire regularly according to the Notification interval. When it fires it will refresh the Notification on the screen. Column: This is the datetime field that is referenced in the trigger clause of the rule. If it is left blank, then the notifications may not be dismissed. When a notification is dismissed the column value in the database is set to null. When the snooze option is used the datetime is changed by the amount indicated. Message: Enter the "Name" of the message. This creates entry in the translation table, custom_captions. The capt_code is the name you have provided, the Capt_Family is ActionText and the Capt_FamilyType will be Tags. To define the actual notification message that appears on the screen you have to edit the message once the action has been saved. In escalation actions, you can use #[field name]# with any field from the current table or any field from the user table. You can use HTML tags such as <BR> to force new lines. Or you can use tags such as <B> and <STRONG> Table: This is the table to be updated. The example rule under discussion "Quote Expiry" is based on the view vEscalationQuotes but you must name the Escalation table here.

Xxxx_notifytime Tables such as Opportunity and Cases have a field called xxxx_notifytime e.g oppo_notifytime. To create an escalation rule that uses this field then your SQL trigger clause should include the predicate xxxx_notifytime < #T Note: New for cases and opportunities the xxxx_notifytime will be blank unless you define the field in the Primary rule to set the xxxx_notifytime to a valid datetime. If the field is null it means that the notification will never fire.

The Escalation Table The two of the default example rules, Quote Expiry Communication Reminder are based on views that include the escalation table. Quick Notification Rules are also based on views that link a main entity with escalation table Case – vNotificationCases Communication – vNotificationCommunication Company – vNoticationCompany Lead – vNotificationLead Opportunity – vNotificationOpportunity Person- vNotificationPerson These types of rules are relying on some inbuilt behavior within CRM to populate the escalation table with the needed row. For example there is automatic implicit use of Escalation rules when you create a task and set a reminder. Not only is there a communication and a comm_link record created but there will also be an escalation record created.

The Stop Clause concept The repeated firing of a rule is not an issue with on screen notifications but it would be an issue for a rule that repeatedly fired emails! How do we stop an escalation rule from re-sending emails every 5 minutes? The default escalation rule Email Reminder has the following SQL trigger clause (CmLi_Comm_NotifyTime<#T) AND (UPPER(RTRIM(Comm_Status))=UPPER(RTRIM(N'Pending'))) AND (CmLi_SMSMessageSent IS NULL) AND (UPPER(RTRIM(Comm_SMSNotification))=UPPER(RTRIM(N'Y'))) It has 2 actions. The first is the sending of the email. The second is an action to set a field value. The field CmLi_SMSMessageSent is being used as the "Stop Clause". The email message is only sent when the field is null and after the email is sent the field is set to "Y". The action of firing the rule will create the condition that prevents it firing again.

The Interval In the definition of an Escalation rule there is a field called "Interval". This defines the interval, expressed in minutes, at which the rule will run. If the Interval is set to 60 minutes, the escalation rule will run every hour. SQL log extract Nov 19 2007 21:44:50.031 1160 2148 3 fselectsql,time,sql 31 select * from vWorkflowRulesTransitionInfo where ( WkRl_WorkflowId IS NULL OR (WkTr_TransitionId IS NOT NULL AND Work_Enabled = N'y')) AND WkRl_RuleType = N'Time' AND ((WkRl_NextRunTime < '20071119 21:44:50' OR WkRl_NextRunTime is NULL) OR WkRl_RunInterval IS NULL) AND WkRl_Enabled = N'Y' order by WkRl_Entity Escalation rules are checked for firing at the interval that is specified in the Workflow Configuration screen. (Default 300 seconds) The system looks for all escalation and notification rules (WkRl_RuleType = N'Time') which are enabled (Work_Enabled = N'y')) and whether they are due to fire. WkRl_NextRunTime < '20071119 21:44:50' OR WkRl_NextRunTime is NULL) OR WkRl_RunInterval IS NULL Each escalation rule has a field called WkRl_NextRunTime. If the rule has an interval defined the WkRl_NextRunTime is updated with a new future due time based on the interval from the time it fires. The Interval can be used to cause rules to fire repeatedly but within certain time frames. For example, for high priority cases we could specify an email is to be sent between 7am and 9am every day to the assigned user reminding them of its importance.

Succession and Recursion Succession You can create a rule that when it fires will cause the conditions that will trigger another rule. Proper succession will progress until data is stable. Recursion It is possible to create rules that trigger rules that trigger the original rules.

Q&A

Looking ahead to the classes DP01: Introduction to the Development Partner Program DP02: Entities and the Data Model (Part 1 of 2) DP03: Entities and the Data Model (Part 2 of 2) DP04: Implementing Screen Based Rules (Part 1 of 2) DP05: Implementing Screen Based Rules (Part 2 of 2) DP06: Screen and User Independent Business Rules DP07: Workflow (Part 1 of 2) DP08: Workflow (Part 2 of 2) DP09: Using the API Objects in ASP Pages (Part 1 of 2) DP10 : Using the API Objects in ASP Pages (Part 2 of 2) DP11: Using the Component Manager DP12: Programming for the Advanced Email Manager DP13: Using the Web Services API DP14: Using the Web Services API (Part 2 of 2) DP15: Coding the Web Self Service COM API (Part 1 of 2) DP16: Coding the Web Self Service COM API (Part 2 of 2) DP17: Using the .NET API (Part 1 of 2) DP18: Using the .NET API (Part 2 of 2)

Visit the Sage CRM Ecosystem at www.sagecrm.com Facebook: Sage CRM Twitter: wwwsagecrmcom LinkedIn: Sage CRM (Official Group) YouTube: wwwsagecrmcom