SlideShare a Scribd company logo
Javascript on the server side
Processing outbound messages with Node.js
May 14th 2015
Aldo Fernandez
Technical Consultant
@aldoforce
Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve
risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com,
inc. 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 developing and delivering new functionality for our
service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in
our Web hosting, breach of our security measures, risks associated with possible mergers and acquisitions, the immature market in which we operate,
our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and
successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers.
Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the
most recent fiscal quarter ended July 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of
our Web site.
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 the 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.
Follow UYSDUG for the latest news
@uysdug #uysdug
/Uruguay-Salesforce-Developer-User-Group/
www.uysdug.com
Join us and share your knowledge!
▪ Got something to share with the world?
▪ We are open for talks/sessions
▪ Check www.uysdug.com/cfp or get in contact with
someone from the Technical Board for more information
▪ UPCOMING EVENTS:
▪ June (Ruby)*
▪ July (Data Integration)*
▪ August (OAuth2)*
Agenda
▪ An outbound integration scenario example
▪ Quick overview of Outbound Messages
▪ Design considerations
▪ Solution layout
▪ Demo
A process integration example
barkingtshirts.com
▪ yes, they are back!
▪ Using EE
▪ Requirement: for each closed won
Opportunity create an Order on the
external ERP system so the
process can continue. Keep a
reference of the external id at
Opportunity record.
A process integration example
Salesforce org
Opportunity
(closed/won)
ERP system
Create Order
Moving data out of Salesforce
▪ Purpose
▪ Sync
▪ Extract only
▪ Timing
▪ immediate
▪ User/System can wait for results
▪ How
▪ Manually /o (*horror_face)
▪ ETL tools
▪ Poll for changed records
▪ Streaming API
▪ Apex HTTP Callouts (sync/async)
▪ Outbound Messages
Outbound Messages
▪ Allows you to specify that changes to fields within
Salesforce can cause messages with field values to be
sent to designated external servers.
▪ Outbound messaging is part of the workflow rule
functionality in Salesforce. Workflow rules watch for
specific kinds of field changes and trigger automatic
Salesforce actions, such as sending email alerts,
creating task records, or sending an outbound message.
Outbound Messages
▪ Originally created on the golden days of SOA
▪ Defines a contract with WSDL
▪ XML/SOAP based
▪ Triggered by Workflow rules
▪ Declarative friendly
▪ Recommended method for outbound async process
integration (“Integration patterns overview”)
▪ Used to implement the “Fire and Forget” pattern
Fire and Forget
▪ A DML update or insert occurs on a given set of records in
Salesforce
▪ A Salesforce workflow rule triggers based on a given
condition
▪ This rule invokes a pre-configured OM that sends a SOAP
message to a remote listener
▪ The remote listener receives the SOAP, places in a local
queue and return positive ACK.
▪ Salesforce receives the ACK and completes the request. (It
waits 10 seconds, then a retry is sent up to 24hs)
▪ In case remote app needs to perform operations against
Salesforce a SessionID is provided to implement a callback
Fire and Forget
ExpressJS MongoDB ERP
callback
nForce
DEMO
(…or something like that)
Response
Processing
Server console
Resources + Kudos
▪ Jeff Douglas @jeffdonthemic “Salesforce outbound
message catcher”
▪ Kevin O’hara @kevinohara80 “nForce”
▪ “Integration Patterns and Practices” @salesforcedocs
(ebook)
Thank You!
Javascript on the server side
Processing outbound messages with Node.js
Uruguay
Salesforce Developer Group
May 14, 2015 #UYSDUG
Aldo Fernandez
Technical Consultant
@aldoforce
#uysdug
#javascript
#nodejs
#outboundMessages
#integration

More Related Content

PDF
モダンなイベント駆動型システム連携を学ぼう〜Platform Events 入門
PDF
MuleSoft Anypoint Platformのコンセプトとサービス
PDF
Spring '17開発者向け新機能
PDF
Winter '18 開発者向け新機能
PDF
Lightning時代のService Cloud概要とカスタマイズ
PDF
Demystifying Deduplication for Admins - Erin Elliott
PPTX
Dallas Salesforce User Group Meeting - March 2011 (Sponsored by Statera)
PDF
API Design for Your Packaged App
モダンなイベント駆動型システム連携を学ぼう〜Platform Events 入門
MuleSoft Anypoint Platformのコンセプトとサービス
Spring '17開発者向け新機能
Winter '18 開発者向け新機能
Lightning時代のService Cloud概要とカスタマイズ
Demystifying Deduplication for Admins - Erin Elliott
Dallas Salesforce User Group Meeting - March 2011 (Sponsored by Statera)
API Design for Your Packaged App

What's hot (20)

PDF
[Salesforce] Perforce - Enablers of Rampant Growth
PDF
Salesforce開発入門 Webセミナー
PDF
Winter '19 開発者向け新機能
PDF
アプリケーション開発をモダンに変える Salesforce DX
PDF
アドバンスドLightningコンポーネント:品質の高いコンポーネント開発のためのTips
PDF
API Design for Your Packaged App
PDF
Best Practices and Recommendations for New Salesforce Admins
PPTX
Best Practices and Recommendations for New Salesforce Admins
PDF
Guidez vos utilisateurs en utilisant path
PDF
はじめようLightning Component開発
PDF
Summer '17 リリース開発者向け新機能Webinar
PDF
04 june meetup - An overview of OAuth2 on Force.com projects
PPTX
LMS Lightning Message Service
PDF
Heroku CIを触ってみる
PDF
Cutting Edge Mobile Development in the App Cloud
PDF
アプリを作った後の運用は万全? Heroku リリース & 運用セミナー
PPTX
Singapore dg salesforce einstein by manish
PDF
Wave : Analytics Cloudとは
PPTX
Dreamforce 2014 - Salesforce Python SDK for REST/SOAP APIs
PPTX
How to Weave Diversity and Inclusion into Your Company's DNA by Brad Schneide...
[Salesforce] Perforce - Enablers of Rampant Growth
Salesforce開発入門 Webセミナー
Winter '19 開発者向け新機能
アプリケーション開発をモダンに変える Salesforce DX
アドバンスドLightningコンポーネント:品質の高いコンポーネント開発のためのTips
API Design for Your Packaged App
Best Practices and Recommendations for New Salesforce Admins
Best Practices and Recommendations for New Salesforce Admins
Guidez vos utilisateurs en utilisant path
はじめようLightning Component開発
Summer '17 リリース開発者向け新機能Webinar
04 june meetup - An overview of OAuth2 on Force.com projects
LMS Lightning Message Service
Heroku CIを触ってみる
Cutting Edge Mobile Development in the App Cloud
アプリを作った後の運用は万全? Heroku リリース & 運用セミナー
Singapore dg salesforce einstein by manish
Wave : Analytics Cloudとは
Dreamforce 2014 - Salesforce Python SDK for REST/SOAP APIs
How to Weave Diversity and Inclusion into Your Company's DNA by Brad Schneide...
Ad

Similar to Processing outbound messages with Node.js (20)

PDF
06 august meetup - enterprise integration architecture
PDF
Salesforce1 lightning dev week UYSDUG 2015 - Lightning Connect
PPTX
Build custom user interfaces for your Salesforce data with the UI API
PDF
November meetup - Hello Winter'16
PDF
Continuous Integration - Software development lifecycle for Force.com projects
PDF
#DF17Recap series: Integrate apps easier with the Salesforce platform
PPTX
Elevate Madrid Essentials - Advance Track
PPTX
Force.com Friday : Intro to Apex
PPTX
Go Faster with Lightning Process Builder
PDF
Salesforce Tour Paris - Platform Events - Martin Lezer
PPTX
Understanding Salesforce Streaming API
PDF
Einstein Analytics for Developers
PDF
Docker on Heroku のはじめ方
PPT
Designing custom REST and SOAP interfaces on Force.com
PDF
Gesture Controlled Interactions with Platform Events and IoT Explorer
PDF
Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...
PDF
Building Complex Traversing & Branching Apps Using Visual Workflows and Apex
PPTX
Bangkok Admin Group TrailheaDX 2020 Global Gathering v2
PDF
Force.com Integration Using Web Services With .NET & PHP Apps
PPTX
Integrating with salesforce
06 august meetup - enterprise integration architecture
Salesforce1 lightning dev week UYSDUG 2015 - Lightning Connect
Build custom user interfaces for your Salesforce data with the UI API
November meetup - Hello Winter'16
Continuous Integration - Software development lifecycle for Force.com projects
#DF17Recap series: Integrate apps easier with the Salesforce platform
Elevate Madrid Essentials - Advance Track
Force.com Friday : Intro to Apex
Go Faster with Lightning Process Builder
Salesforce Tour Paris - Platform Events - Martin Lezer
Understanding Salesforce Streaming API
Einstein Analytics for Developers
Docker on Heroku のはじめ方
Designing custom REST and SOAP interfaces on Force.com
Gesture Controlled Interactions with Platform Events and IoT Explorer
Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...
Building Complex Traversing & Branching Apps Using Visual Workflows and Apex
Bangkok Admin Group TrailheaDX 2020 Global Gathering v2
Force.com Integration Using Web Services With .NET & PHP Apps
Integrating with salesforce
Ad

Recently uploaded (20)

PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
Lecture Notes Electrical Wiring System Components
PDF
composite construction of structures.pdf
PPTX
Construction Project Organization Group 2.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Digital Logic Computer Design lecture notes
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
bas. eng. economics group 4 presentation 1.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
Lecture Notes Electrical Wiring System Components
composite construction of structures.pdf
Construction Project Organization Group 2.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Digital Logic Computer Design lecture notes
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
CH1 Production IntroductoryConcepts.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Foundation to blockchain - A guide to Blockchain Tech
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
bas. eng. economics group 4 presentation 1.pptx

Processing outbound messages with Node.js

  • 1. Javascript on the server side Processing outbound messages with Node.js May 14th 2015
  • 3. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. 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 developing and delivering new functionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal quarter ended July 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of our Web site. 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 the 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.
  • 4. Follow UYSDUG for the latest news @uysdug #uysdug /Uruguay-Salesforce-Developer-User-Group/ www.uysdug.com
  • 5. Join us and share your knowledge! ▪ Got something to share with the world? ▪ We are open for talks/sessions ▪ Check www.uysdug.com/cfp or get in contact with someone from the Technical Board for more information ▪ UPCOMING EVENTS: ▪ June (Ruby)* ▪ July (Data Integration)* ▪ August (OAuth2)*
  • 6. Agenda ▪ An outbound integration scenario example ▪ Quick overview of Outbound Messages ▪ Design considerations ▪ Solution layout ▪ Demo
  • 7. A process integration example barkingtshirts.com ▪ yes, they are back! ▪ Using EE ▪ Requirement: for each closed won Opportunity create an Order on the external ERP system so the process can continue. Keep a reference of the external id at Opportunity record.
  • 8. A process integration example Salesforce org Opportunity (closed/won) ERP system Create Order
  • 9. Moving data out of Salesforce ▪ Purpose ▪ Sync ▪ Extract only ▪ Timing ▪ immediate ▪ User/System can wait for results ▪ How ▪ Manually /o (*horror_face) ▪ ETL tools ▪ Poll for changed records ▪ Streaming API ▪ Apex HTTP Callouts (sync/async) ▪ Outbound Messages
  • 10. Outbound Messages ▪ Allows you to specify that changes to fields within Salesforce can cause messages with field values to be sent to designated external servers. ▪ Outbound messaging is part of the workflow rule functionality in Salesforce. Workflow rules watch for specific kinds of field changes and trigger automatic Salesforce actions, such as sending email alerts, creating task records, or sending an outbound message.
  • 11. Outbound Messages ▪ Originally created on the golden days of SOA ▪ Defines a contract with WSDL ▪ XML/SOAP based ▪ Triggered by Workflow rules ▪ Declarative friendly ▪ Recommended method for outbound async process integration (“Integration patterns overview”) ▪ Used to implement the “Fire and Forget” pattern
  • 12. Fire and Forget ▪ A DML update or insert occurs on a given set of records in Salesforce ▪ A Salesforce workflow rule triggers based on a given condition ▪ This rule invokes a pre-configured OM that sends a SOAP message to a remote listener ▪ The remote listener receives the SOAP, places in a local queue and return positive ACK. ▪ Salesforce receives the ACK and completes the request. (It waits 10 seconds, then a retry is sent up to 24hs) ▪ In case remote app needs to perform operations against Salesforce a SessionID is provided to implement a callback
  • 13. Fire and Forget ExpressJS MongoDB ERP callback nForce
  • 18. Resources + Kudos ▪ Jeff Douglas @jeffdonthemic “Salesforce outbound message catcher” ▪ Kevin O’hara @kevinohara80 “nForce” ▪ “Integration Patterns and Practices” @salesforcedocs (ebook)
  • 19. Thank You! Javascript on the server side Processing outbound messages with Node.js Uruguay Salesforce Developer Group May 14, 2015 #UYSDUG Aldo Fernandez Technical Consultant @aldoforce #uysdug #javascript #nodejs #outboundMessages #integration