Title: Wielding Workflow
1Wielding Workflow
Track Advanced AppExchange Developers
- Varadarajan Rajaram, Salesforce.com
2Safe Harbor Statement
- Safe harbor statement under the Private
Securities Litigation Reform Act of 1995 This
presentation may contain forward-looking
statements the achievement of which involves
risks, uncertainties and assumptions. If any such
risks or uncertainties materialize or if any of
the assumptions proves incorrect, our results
could differ materially from the results
expressed or implied by the forward-looking
statements we make. All statements other than
statements of historical fact could be deemed
forward-looking, including any projections of
subscriber growth, earnings, revenues, or other
financial items and any statements regarding
strategies or plans of management for future
operations, statements of belief, any statements
concerning new, planned, or upgraded services or
technology developments and customer contracts or
use of our services. - The risks and uncertainties referred to above
include - but are not limited to - risks
associated with the integration of Sendia
Corporations technology, operations,
infrastructure and personnel with ours
unexpected costs or delays incurred in
integrating Sendia with salesforce.com, which
could adversely affect our operating results and
rate of growth any unknown errors or limitations
in the Sendia technology any third party
intellectual property claims arising from the
Sendia technology customer and partner
acceptance and deployment of the AppExchange and
AppExchange Mobile platforms interruptions or
delays in our service or our Web hosting our new
business model breach of our security measures
possible fluctuations in our operating results
and rate of growth the emerging market in which
we operate our relatively limited operating
history our ability to hire, retain and motivate
our employees and manage our growth competition
our ability to continue to release and gain
customer acceptance of new and improved versions
of our CRM service unanticipated changes in our
effective tax rate fluctuations in the number of
shares outstanding the price of such shares
foreign currency exchange rates and interest
rates. - Further information on these and other factors
that could affect our financial results is
included in the reports on Forms 10-K, 10-Q and
8-K and in other filings we make with the
Securities and Exchange Commission from time to
time, including our Form 10-K for the fiscal year
ended January 31, 2006. These documents are
available on the SEC Filings section of the
Investor Information section of our website at
www.salesforce.com/investor. - Any unreleased services or features referenced in
this or other press releases or public statements
are not currently available and may not be
delivered on time or at all. Customers who
purchase our services should make purchase
decisions based upon features that are currently
available. Salesforce.com, inc. assumes no
obligation and does not intend to update these
forward-looking statements, except as required by
law.
3Agenda
- Introduction
- Winter 07 Workflow Whats new?
- Focus on approvals
- QA Approvals API
4Definition
- Workflow enables the automation of a business
process, in while or part within your
organization from sales, to service, to HR, to
finance. It enforces a process within your
organization which is consistently followed and
improves efficiency and productivity.
5Current Workflow Capabilities (Pre Winter 07)
- Automated notification
- Review current discount policies on Opportunities
- Follow up on Cases for Platinum Customers
- Limited action types
- Email Alerts
- Create Tasks
6Winter 07 Workflow Capabilities
- Automate your business processes
- Field Updates, Outbound Messages, Approvals
- Enforce business processes
- Lock down Opportunities when it is closed
- Improve customer satisfaction
- Initiate a customer survey as soon as a Platinum
customer case is closed - Improved data quality
- Store only the last 4 digits of the SSN
7Winter 07 Workflow Capabilities
- Approval process automation
- Simple and complex multi-step processes
- Supported in the API
- Eliminate laborious manual processes
- Automate and eliminate your paper-based PTO
requests - Control business processes
- Discount policy controls Enforce approvals on
large discounts - Campaign spending controls Force approvals on
costly campaigns
8Winter 07 Workflow
9Field Update Action
- Automatically change the value in a field as a
result of a workflow trigger, including owner and
record type!
10Outbound Message Action
- Send a customizable XML message to any desired
Web-available listener. No more polling for
changes! - Can be used to automate updates to dependent
records! - Gain automated asynchronous integration with
external systems
11Other Workflow Enhancements
- Workflow rule limit increased from 50 to 300 per
object - More standard objects supported
- Opportunity Product
- Order Product
- Advanced or filters
- New filter options
- Current user
- Special date values Next X days, Last Week etc
12Approval Process Automation
- Define simple or multi-step approval processes
for any object - Specify actions at each step of process
- Send approval requests to a queue
- Define one or more user hierarchies for approval
request routing
13Approvals Demo
14Sample Approval Process
15Anatomy of an Approval Process
- Process Definition (Global Characteristics)
- Entry Criteria
- Email Template Sent to Approvers
- Record Editability During Approval
- Approval Page Layout
- Approval Page Accessibility
- Allowed Submitters
16Anatomy of an Approval Process
- Initial Submission Actions (Workflow Actions)
- Lock the Record
- Change Field Values
- Send Notification
17Anatomy of an Approval Process
- Step Definition (Decision Criteria Approval
Assignment) (1) - Optional Decision Criteria
- Auto-Approve / Reject
- Assign Approver
- Allow Delegated Approval?
- Rejection Behavior
18Anatomy of an Approval Process
- Final Rejection Actions (Workflow Actions)
- Unlock Record
- Change Field Values
- Send Notification
19Anatomy of an Approval Process
- Final Approval Actions (Workflow Actions)
- Keep Record Locked
- Change Field Values
- Send Notification
- Integrate w/ External System
20PTO Request The Finished Product
21Summary of Key Features
- New Workflow Action Field Update Automatically
change the value in a field as a result of a
workflow trigger, including owner and record
type! Use Formula Editor wherever applicable to
derive value from other fields, expressions, or
values. - New Workflow Action Outbound API Message Send
a customizable XML message to any desired
Web-available listener. No more polling for
changes! Use it to update dependent records - Approval Process Automation Create simple or
multi-step approval processes to automate and
enforce the approval of virtually anything in
your company, from sales discount requests, to
expense reports, to vacation requests.
22QUESTION ANSWER
Varadarajan Rajaram
Salesforce.com
Sr. Product Manager
Steve Tamm
Salesforce.com
Technical Architect
23Approvals API
- New API process
- Syntax
- ProcessResult sfdc.process(ProcessRequest)
- ProcessRequest
- ProcessSubmitRequest Submit a record for
approval - ProcessWorkitemRequest Approve or Reject an
approval request
24Approvals API
- Access to approval history and requests through
new objects - ProcessInstanceStep
- The contents of the approval history for a given
approval process. - ProcessInstanceWorkitem
- The current approval requests assigned to a user
- Update this record to reassign workitems.
25Approvals API - ProcessRequest
26Approvals API ProcessResult
27Sample Code
public ProcessResult doProcessSample(String
comments, String id, String approverIds) throws
ApiFault ProcessResult
processResults ProcessSubmitRequest
request new ProcessSubmitRequest()
request.setComments(comments)
request.setNextApproverIds(approverIds)
request.setObjectId(id) try
PartnerConnection connection
Connector.newConnection(xconfig)
//calling process on the approval
submission processResults
connection.process(new ProcessSubmitRequestrequ
est) for (ProcessResult
processResult processResults)
if(processResult.getSuccess(
)) if(xconfig.isTraceMess
age())
log.debug("Approval submitted for " id ",
approverIds " approverIds.toString() "
successful.")
log.debug("Process Instance Status "
processResult.getInstanceStatus())
else log.error("Approval
submitted for " id ", approverIds "
approverIds.toString() " FAILED.")
log.error("ERRORS "
processResult.getErrors().toString())
catch
(ConnectionException ce) ApiFault
fault getApiFault(ce)
ce.printStackTrace() throw
fault return
processResults
28Additional Resources
- Tips and Tricks for Advanced Workflow Tuesday
345PM - See how 144 Workflow helps Deutsche Bank reduce
costs and increase efficiency - Join ADN!
- http//www.salesforce.com/developer
- Documents, toolkits, discussion boards and more!
29Session FeedbackLet us know how were doing!
Session ID 239
Save time! Use your cell phone or mobile device
to send Feedback via SMS/Text Messaging!
- Please score the session from 5 to 1
(5excellent,1needs improvement) on the
following categories - Overall rating of the session
- Quality of content
- Strength of presentation delivery
- Relevance of the session to your organization
Send a message to 26335
In the message body Session 239,
Session ID
Scores for 4 categories
For example, Session 123, 5555
SMS Voting powered by