SlideShare a Scribd company logo
1 of 26
Download to read offline
Delivering Powerful
Integrations Without Code
Anshul Verma, President
anshul.verma@cynoteck.com
@toanshulverma
CynoteckTechnology Solutions LLC
Forward Looking Statement
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation contains forward-looking statements about the company’s financial and operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results,
including revenue, net income, diluted earnings per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected
tax rates, the one-time accounting non-cash charge that was incurred in connection with the Salesforce.org combination; stock-based compensation expenses, amortization of purchased intangibles, shares outstanding,
market growth and sustainability goals. The achievement or success of the matters covered by such forward-looking statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize
or if any of the assumptions prove incorrect, the company’s results could differ materially from the results expressed or implied by the forward-looking statements we make.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of geopolitical events; the impact of foreign
currency exchange rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud computing applications
and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature of the market in which we participate; our international
expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer base and operations, including as a result of acquisitions; our service performance and security,
including the resources and costs required to avoid unanticipated downtime and prevent, detect and remediate potential security breaches; the expenses associated with new data centers and third-party infrastructure
providers; additional data center capacity; real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM
market; our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair value of our investments in
complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and investments; the impact of future gains or losses from our
strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly traded companies within the company's strategic investment portfolio; our ability to execute our
business plans; our ability to successfully integrate acquired businesses and technologies, including delays related to the integration of Tableau due to regulatory review by the United Kingdom Competition and Markets
Authority; our ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our reliance on third-party
hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of evolving domestic and foreign government regulations, including
those related to the provision of services on the Internet, those related to accessing the Internet, and those addressing data privacy, cross-border data transfers and import and export controls; the valuation of our
deferred tax assets and the release of related valuation allowances; the potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our
ability to estimate our tax rate; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our outstanding debt, revolving credit facility, term loan and
loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes with the Securities and Exchange
Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s website at www.salesforce.com/investor.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
Anshul Verma
President
anshul.verma@cynoteck.com
@toanshulverma
Speaker Logo
Introduction to Integration
What is Software Integration
“In Information Technology, process of linking together different computing systems and software
applications physically or functionally, to act as a coordinated whole” (WikiPedia)
Subtitle placeholder
Billing
Inventory
Sales
Service
Finance
HR
Banking
Types of Integrations
Data Integration
Invoice Payment Invoice Payment
Salesforce Data Warehouse/ Lake
Data Integration
- Data (at rest) sent from one system to other
Types of Integrations
Subtitle placeholder
Application Integration
- Transaction data sent from one system to another, mostly on occurrence of an event
- Source expects Target to initiate additional processing upon receiving data
Invoice Payment Create Invoice
Salesforce ERP
Account Receivable
Cubes (Analytical)
Integrations by Code
Not for the faint hearted
Manage
Authentication
Code
Integration
(Complex)
Error Handling
Testing (Lots
and Lots)
Maintenance
Integration by Point and Click
Outbound Messaging
Introduction
PROS CONS
SimpleComplexity Data IntegrationPurpose
1. Send Salesforce data (SOAP messages) to
external web service endpoint
2. Trigger integration via workflow
3. Automated retry and batching
1. Mandates Message format
2. Doesn’t support complex structure
3. Doesn’t support various authentication
mechanisms
Outbound Messaging
How does it work?
Salesforce
Account
User
User updates data
1
1
Workflow
Outbound message
External Service
Workflow triggered2
Outbound Message Queued3
Outbound Message Sent4
4
3
2
Outbound Messaging – How To?
How to build/ use?
Create Workflow
Create Outbound
Message
Share Service
WSDL with External
Developer
Pre-Requisites:
1. Endpoint URL
External Objects
Introduction
PROS CONS
SimpleComplexity Data IntegrationPurpose
1. Access remote data like native data/
objects without consuming salesforce data
storage
2. Ability to search, view and report on data
like native data and basic CRUD operations
3. Uses widely used common data standards
(OData, FederatedSearch etc.)
1. Limited OData support across legacy
applications
2. Higher network usage
3. Salesforce connect licenses costs
Salesforce
External Objects
How does it work?
Account – Record view
User
User opened account record
1
1
Related list
External
Query
External Data Source
Related list invoked2
Request for External Data3
Query sent to External Data Source4
4
3
2
Receive
Records
Related list
5
6
7
Salesforce receive external data5
Related list data populated6
Related list displayed7
External Objects
How to build/ use?
Create External
Data Source
Create External
Object
(Optional) Create
Relationship /
Tab
Pre-Requisites:
1. Endpoint URL
2. Authentication Details
3. Schema of external service
External Services
Introduction
PROS CONS
ModerateComplexity ApplicationPurpose
1. Invoke custom Web APIs (Interagent,
Swagger Open API 2.0)
2. Trigger integration via Flow
1. Schema limited to 100,000 characters
2. Less options to debug
Salesforce
External Services
How does it work?
Issue Refund (Flow)
User
User initiates Issue Refund flow
1
1
Payment
Service
External Service
Flow invokes external service action2
Request sent to External Service3
Response received from External
Service
43
2
Process
Response
4
5
Response Parsed and Processed5
External Services
How to build/ use?
Add Named
Credential
Register
External
Service
Create Flow
Pre-Requisites:
1. Endpoint URL
2. Authentication Details
3. External service schema (Interagent or
Swagger OpenAPI 2.0)
Platform Events
Introduction
PROS CONS
Moderate - ComplexComplexity ApplicationPurpose
1. Persistent and immutable messages
2. Enables Loosely coupled functionalities
3. Enables pub-sub pattern (publisher –
subscriber)
4. Replay past events
1. Can result in complicated technical design
2. DML limits apply
3. Limits on subscribers and events to
publish
Billing
Salesforce
Platform Event
How does it work?
ERP publishes platform event with
order fulfilment status
1
1
Lifetime
Metrics
Process Builder updates customer
lifetime order data
2
Billing system updates billing
details
3
Process Builder updates order
information
4
2
Update
Order
3
ERP
Create Billing
4
Salesforce sends notification to
all subscribers
5
5
App 2
App 3
App N
Platform event publisher
Order Platform Event
Platform Events – How To?
How to build/ use?
Define New
Platform Event
Type
Add Event
Fields/
Attributes
Publish Events
Subscribe to
Events
Pre-Requisites:
1. Event design (attributes)
Working Demo – External Objects
Working Demo – External Services
Working Demo – Platform Events
More Learning
External Objects: https://trailhead.salesforce.com/content/learn/projects/quickstart-lightning-
connect
External Services: https://trailhead.salesforce.com/en/content/learn/modules/external-services/get-
started-with-external-services
Platform Events: https://trailhead.salesforce.com/en/content/learn/modules/platform_events_basics
Delivering powerful integrations without code using out-of-the-box Salesforce integration features

More Related Content

What's hot

Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Firoz Muhammed
 
CRM System RFP Template
CRM System RFP TemplateCRM System RFP Template
CRM System RFP TemplateDemand Metric
 
MIcrosoft Dynamics CRM 2013 - Deep Dive
MIcrosoft Dynamics CRM 2013 - Deep DiveMIcrosoft Dynamics CRM 2013 - Deep Dive
MIcrosoft Dynamics CRM 2013 - Deep DiveBrad Tornberg
 
New Feature in CRM 2016
New Feature in CRM 2016New Feature in CRM 2016
New Feature in CRM 2016Naveen Kumar
 
Working with entities and data in CDS - Power Platform
Working with entities and data in CDS - Power PlatformWorking with entities and data in CDS - Power Platform
Working with entities and data in CDS - Power PlatformSanjaya Prakash Pradhan
 
Whats the problem_ebook
Whats the problem_ebookWhats the problem_ebook
Whats the problem_ebookVC-ERP
 
Customer Insights in An Hour - Summit EMEA 2020
Customer Insights in An Hour - Summit EMEA 2020Customer Insights in An Hour - Summit EMEA 2020
Customer Insights in An Hour - Summit EMEA 2020Nico Fernandez
 
Budget entries import in Dynamics AX 2012
Budget entries import in Dynamics AX 2012Budget entries import in Dynamics AX 2012
Budget entries import in Dynamics AX 2012Bilal Jawarneh
 
Smarter Sales Process in Dynamics CRM 2015 - Part 1: Lead Qualification
Smarter Sales Process in Dynamics CRM 2015 - Part 1: Lead QualificationSmarter Sales Process in Dynamics CRM 2015 - Part 1: Lead Qualification
Smarter Sales Process in Dynamics CRM 2015 - Part 1: Lead QualificationJukka Niiranen
 
Using Microsoft Social Engagement Together with Dynamics CRM
Using Microsoft Social Engagement Together with Dynamics CRMUsing Microsoft Social Engagement Together with Dynamics CRM
Using Microsoft Social Engagement Together with Dynamics CRMJukka Niiranen
 
Smarter Sales Process in Dynamics CRM 2015 - Part 3: Pipeline Development
Smarter Sales Process in Dynamics CRM 2015 - Part 3: Pipeline DevelopmentSmarter Sales Process in Dynamics CRM 2015 - Part 3: Pipeline Development
Smarter Sales Process in Dynamics CRM 2015 - Part 3: Pipeline DevelopmentJukka Niiranen
 
Microsoft CRM xRM4legal 2016 for IP Management and More
Microsoft CRM xRM4legal 2016 for IP Management and MoreMicrosoft CRM xRM4legal 2016 for IP Management and More
Microsoft CRM xRM4legal 2016 for IP Management and MoreDavid Blumentals
 
Microsoft Dynamics AX (Microsoft Dynamics Axapta)
Microsoft Dynamics AX (Microsoft Dynamics Axapta)Microsoft Dynamics AX (Microsoft Dynamics Axapta)
Microsoft Dynamics AX (Microsoft Dynamics Axapta)Logic Technology
 
Dynamics Day '11: Deep Dive - Advanced Financial Models and Analysis in Dynam...
Dynamics Day '11: Deep Dive - Advanced Financial Models and Analysis in Dynam...Dynamics Day '11: Deep Dive - Advanced Financial Models and Analysis in Dynam...
Dynamics Day '11: Deep Dive - Advanced Financial Models and Analysis in Dynam...Intergen
 
AX 2012 Functional Track - Steven Hermans
AX 2012 Functional Track - Steven HermansAX 2012 Functional Track - Steven Hermans
AX 2012 Functional Track - Steven Hermansdynamicscom
 
Who is the customer in your CRM? #CRMRocks podcast
Who is the customer in your CRM? #CRMRocks podcastWho is the customer in your CRM? #CRMRocks podcast
Who is the customer in your CRM? #CRMRocks podcastJukka Niiranen
 
Understanding extensibility options for dynamics 365 ce apps
Understanding extensibility options for dynamics 365 ce appsUnderstanding extensibility options for dynamics 365 ce apps
Understanding extensibility options for dynamics 365 ce appsMahender Pal
 

What's hot (20)

Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016
 
CRM System RFP Template
CRM System RFP TemplateCRM System RFP Template
CRM System RFP Template
 
MIcrosoft Dynamics CRM 2013 - Deep Dive
MIcrosoft Dynamics CRM 2013 - Deep DiveMIcrosoft Dynamics CRM 2013 - Deep Dive
MIcrosoft Dynamics CRM 2013 - Deep Dive
 
New Feature in CRM 2016
New Feature in CRM 2016New Feature in CRM 2016
New Feature in CRM 2016
 
Working with entities and data in CDS - Power Platform
Working with entities and data in CDS - Power PlatformWorking with entities and data in CDS - Power Platform
Working with entities and data in CDS - Power Platform
 
Sage SalesLogix Advanced Analytics
Sage SalesLogix Advanced AnalyticsSage SalesLogix Advanced Analytics
Sage SalesLogix Advanced Analytics
 
Whats the problem_ebook
Whats the problem_ebookWhats the problem_ebook
Whats the problem_ebook
 
Customer Insights in An Hour - Summit EMEA 2020
Customer Insights in An Hour - Summit EMEA 2020Customer Insights in An Hour - Summit EMEA 2020
Customer Insights in An Hour - Summit EMEA 2020
 
Budget entries import in Dynamics AX 2012
Budget entries import in Dynamics AX 2012Budget entries import in Dynamics AX 2012
Budget entries import in Dynamics AX 2012
 
Smarter Sales Process in Dynamics CRM 2015 - Part 1: Lead Qualification
Smarter Sales Process in Dynamics CRM 2015 - Part 1: Lead QualificationSmarter Sales Process in Dynamics CRM 2015 - Part 1: Lead Qualification
Smarter Sales Process in Dynamics CRM 2015 - Part 1: Lead Qualification
 
Using Microsoft Social Engagement Together with Dynamics CRM
Using Microsoft Social Engagement Together with Dynamics CRMUsing Microsoft Social Engagement Together with Dynamics CRM
Using Microsoft Social Engagement Together with Dynamics CRM
 
Smarter Sales Process in Dynamics CRM 2015 - Part 3: Pipeline Development
Smarter Sales Process in Dynamics CRM 2015 - Part 3: Pipeline DevelopmentSmarter Sales Process in Dynamics CRM 2015 - Part 3: Pipeline Development
Smarter Sales Process in Dynamics CRM 2015 - Part 3: Pipeline Development
 
Microsoft CRM xRM4legal 2016 for IP Management and More
Microsoft CRM xRM4legal 2016 for IP Management and MoreMicrosoft CRM xRM4legal 2016 for IP Management and More
Microsoft CRM xRM4legal 2016 for IP Management and More
 
Microsoft Dynamics AX
Microsoft Dynamics AXMicrosoft Dynamics AX
Microsoft Dynamics AX
 
Microsoft Dynamics AX (Microsoft Dynamics Axapta)
Microsoft Dynamics AX (Microsoft Dynamics Axapta)Microsoft Dynamics AX (Microsoft Dynamics Axapta)
Microsoft Dynamics AX (Microsoft Dynamics Axapta)
 
Dynamics Day '11: Deep Dive - Advanced Financial Models and Analysis in Dynam...
Dynamics Day '11: Deep Dive - Advanced Financial Models and Analysis in Dynam...Dynamics Day '11: Deep Dive - Advanced Financial Models and Analysis in Dynam...
Dynamics Day '11: Deep Dive - Advanced Financial Models and Analysis in Dynam...
 
AX 2012 Functional Track - Steven Hermans
AX 2012 Functional Track - Steven HermansAX 2012 Functional Track - Steven Hermans
AX 2012 Functional Track - Steven Hermans
 
Whats new Sage SalesLogix v7.5.4
Whats new Sage SalesLogix v7.5.4Whats new Sage SalesLogix v7.5.4
Whats new Sage SalesLogix v7.5.4
 
Who is the customer in your CRM? #CRMRocks podcast
Who is the customer in your CRM? #CRMRocks podcastWho is the customer in your CRM? #CRMRocks podcast
Who is the customer in your CRM? #CRMRocks podcast
 
Understanding extensibility options for dynamics 365 ce apps
Understanding extensibility options for dynamics 365 ce appsUnderstanding extensibility options for dynamics 365 ce apps
Understanding extensibility options for dynamics 365 ce apps
 

Similar to Delivering powerful integrations without code using out-of-the-box Salesforce integration features

Deep dive into salesforce connected app part 4
Deep dive into salesforce connected app   part 4Deep dive into salesforce connected app   part 4
Deep dive into salesforce connected app part 4Mohith Shrivastava
 
Admin Best Practices: Explore the Power of Data with Tableau
Admin Best Practices: Explore the Power of Data with TableauAdmin Best Practices: Explore the Power of Data with Tableau
Admin Best Practices: Explore the Power of Data with TableauSalesforce Admins
 
Dreamforce Global Gathering
Dreamforce Global GatheringDreamforce Global Gathering
Dreamforce Global GatheringSudipta Deb ☁
 
Salesforce Stamford developer group - power of flows
Salesforce Stamford developer group - power of flowsSalesforce Stamford developer group - power of flows
Salesforce Stamford developer group - power of flowsAmol Dixit
 
Save Millions of Clicks! Easily migrate complex schemas from SQL to Salesforce.
Save Millions of Clicks!  Easily migrate complex schemas from SQL to Salesforce.Save Millions of Clicks!  Easily migrate complex schemas from SQL to Salesforce.
Save Millions of Clicks! Easily migrate complex schemas from SQL to Salesforce.Daniel Peter
 
Alba Rivas - Building Slack Applications with Bolt.js.pdf
Alba Rivas - Building Slack Applications with Bolt.js.pdfAlba Rivas - Building Slack Applications with Bolt.js.pdf
Alba Rivas - Building Slack Applications with Bolt.js.pdfMarkPawlikowski2
 
Stamford developer group Experience Cloud
Stamford developer group   Experience CloudStamford developer group   Experience Cloud
Stamford developer group Experience CloudAmol Dixit
 
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...Amol Dixit
 
WT19: Platform Events Are for Admins Too!
WT19: Platform Events Are for Admins Too! WT19: Platform Events Are for Admins Too!
WT19: Platform Events Are for Admins Too! Salesforce Admins
 
Salesforce Sydney Trailblazer User Group Global Gathering Dreamforce ‘19 High...
Salesforce Sydney Trailblazer User Group Global Gathering Dreamforce ‘19 High...Salesforce Sydney Trailblazer User Group Global Gathering Dreamforce ‘19 High...
Salesforce Sydney Trailblazer User Group Global Gathering Dreamforce ‘19 High...Alek Gokiert
 
Stamford developer group - 8 easy steps to master in lightning web components
Stamford developer group - 8 easy steps to master in lightning web componentsStamford developer group - 8 easy steps to master in lightning web components
Stamford developer group - 8 easy steps to master in lightning web componentsAmol Dixit
 
WT19: 5 Game-Changing Flow Solutions to Level Up Your Org
WT19: 5 Game-Changing Flow Solutions to Level Up Your OrgWT19: 5 Game-Changing Flow Solutions to Level Up Your Org
WT19: 5 Game-Changing Flow Solutions to Level Up Your OrgSalesforce Admins
 
TrailheadX Presentation - 2020 Cluj
TrailheadX Presentation -  2020 ClujTrailheadX Presentation -  2020 Cluj
TrailheadX Presentation - 2020 ClujArpad Komaromi
 
Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"Sudipta Deb ☁
 
Admin Best Practices: 3 Steps to Seamless Deployments
Admin Best Practices: 3 Steps to Seamless DeploymentsAdmin Best Practices: 3 Steps to Seamless Deployments
Admin Best Practices: 3 Steps to Seamless DeploymentsSalesforce Admins
 
Dreamforce 2019 Five Reasons Why CLI Plugins are a Salesforce Partners Secret...
Dreamforce 2019 Five Reasons Why CLI Plugins are a Salesforce Partners Secret...Dreamforce 2019 Five Reasons Why CLI Plugins are a Salesforce Partners Secret...
Dreamforce 2019 Five Reasons Why CLI Plugins are a Salesforce Partners Secret...Vivek Chawla
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
Introduction to Salesforce Pub-Sub APIs/Architecture
Introduction to Salesforce Pub-Sub APIs/ArchitectureIntroduction to Salesforce Pub-Sub APIs/Architecture
Introduction to Salesforce Pub-Sub APIs/ArchitectureAmol Dixit
 
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program ArchitectSalesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architectgemziebeth
 
Lightning Components 101: An Apex Developer's Guide
Lightning Components 101: An Apex Developer's GuideLightning Components 101: An Apex Developer's Guide
Lightning Components 101: An Apex Developer's GuideAdam Olshansky
 

Similar to Delivering powerful integrations without code using out-of-the-box Salesforce integration features (20)

Deep dive into salesforce connected app part 4
Deep dive into salesforce connected app   part 4Deep dive into salesforce connected app   part 4
Deep dive into salesforce connected app part 4
 
Admin Best Practices: Explore the Power of Data with Tableau
Admin Best Practices: Explore the Power of Data with TableauAdmin Best Practices: Explore the Power of Data with Tableau
Admin Best Practices: Explore the Power of Data with Tableau
 
Dreamforce Global Gathering
Dreamforce Global GatheringDreamforce Global Gathering
Dreamforce Global Gathering
 
Salesforce Stamford developer group - power of flows
Salesforce Stamford developer group - power of flowsSalesforce Stamford developer group - power of flows
Salesforce Stamford developer group - power of flows
 
Save Millions of Clicks! Easily migrate complex schemas from SQL to Salesforce.
Save Millions of Clicks!  Easily migrate complex schemas from SQL to Salesforce.Save Millions of Clicks!  Easily migrate complex schemas from SQL to Salesforce.
Save Millions of Clicks! Easily migrate complex schemas from SQL to Salesforce.
 
Alba Rivas - Building Slack Applications with Bolt.js.pdf
Alba Rivas - Building Slack Applications with Bolt.js.pdfAlba Rivas - Building Slack Applications with Bolt.js.pdf
Alba Rivas - Building Slack Applications with Bolt.js.pdf
 
Stamford developer group Experience Cloud
Stamford developer group   Experience CloudStamford developer group   Experience Cloud
Stamford developer group Experience Cloud
 
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
 
WT19: Platform Events Are for Admins Too!
WT19: Platform Events Are for Admins Too! WT19: Platform Events Are for Admins Too!
WT19: Platform Events Are for Admins Too!
 
Salesforce Sydney Trailblazer User Group Global Gathering Dreamforce ‘19 High...
Salesforce Sydney Trailblazer User Group Global Gathering Dreamforce ‘19 High...Salesforce Sydney Trailblazer User Group Global Gathering Dreamforce ‘19 High...
Salesforce Sydney Trailblazer User Group Global Gathering Dreamforce ‘19 High...
 
Stamford developer group - 8 easy steps to master in lightning web components
Stamford developer group - 8 easy steps to master in lightning web componentsStamford developer group - 8 easy steps to master in lightning web components
Stamford developer group - 8 easy steps to master in lightning web components
 
WT19: 5 Game-Changing Flow Solutions to Level Up Your Org
WT19: 5 Game-Changing Flow Solutions to Level Up Your OrgWT19: 5 Game-Changing Flow Solutions to Level Up Your Org
WT19: 5 Game-Changing Flow Solutions to Level Up Your Org
 
TrailheadX Presentation - 2020 Cluj
TrailheadX Presentation -  2020 ClujTrailheadX Presentation -  2020 Cluj
TrailheadX Presentation - 2020 Cluj
 
Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"
 
Admin Best Practices: 3 Steps to Seamless Deployments
Admin Best Practices: 3 Steps to Seamless DeploymentsAdmin Best Practices: 3 Steps to Seamless Deployments
Admin Best Practices: 3 Steps to Seamless Deployments
 
Dreamforce 2019 Five Reasons Why CLI Plugins are a Salesforce Partners Secret...
Dreamforce 2019 Five Reasons Why CLI Plugins are a Salesforce Partners Secret...Dreamforce 2019 Five Reasons Why CLI Plugins are a Salesforce Partners Secret...
Dreamforce 2019 Five Reasons Why CLI Plugins are a Salesforce Partners Secret...
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
Introduction to Salesforce Pub-Sub APIs/Architecture
Introduction to Salesforce Pub-Sub APIs/ArchitectureIntroduction to Salesforce Pub-Sub APIs/Architecture
Introduction to Salesforce Pub-Sub APIs/Architecture
 
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program ArchitectSalesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
 
Lightning Components 101: An Apex Developer's Guide
Lightning Components 101: An Apex Developer's GuideLightning Components 101: An Apex Developer's Guide
Lightning Components 101: An Apex Developer's Guide
 

More from Cynoteck Technology Solutions Private Limited

More from Cynoteck Technology Solutions Private Limited (20)

Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Business process flow enhancement
Business process flow enhancementBusiness process flow enhancement
Business process flow enhancement
 
Editable Grids
Editable GridsEditable Grids
Editable Grids
 
Multi Select Option set in Microsoft Dynamics 365
Multi Select Option set in Microsoft Dynamics 365Multi Select Option set in Microsoft Dynamics 365
Multi Select Option set in Microsoft Dynamics 365
 
Microsoft Dynamics 365 for customer services
Microsoft Dynamics 365 for customer servicesMicrosoft Dynamics 365 for customer services
Microsoft Dynamics 365 for customer services
 
Configuring AWS with IoT
Configuring AWS with IoTConfiguring AWS with IoT
Configuring AWS with IoT
 
An Overview of Google Assistant
An Overview of Google Assistant An Overview of Google Assistant
An Overview of Google Assistant
 
An overview of Ionic
An overview of IonicAn overview of Ionic
An overview of Ionic
 
What's new in Xcode 9?
What's new in Xcode 9? What's new in Xcode 9?
What's new in Xcode 9?
 
An overview of Beacons
An overview of BeaconsAn overview of Beacons
An overview of Beacons
 
An Overview of Angular 4
An Overview of Angular 4 An Overview of Angular 4
An Overview of Angular 4
 
Microsoft Dynamics NAV
Microsoft Dynamics NAV Microsoft Dynamics NAV
Microsoft Dynamics NAV
 
Dynamics 365 for financials
Dynamics 365 for financials Dynamics 365 for financials
Dynamics 365 for financials
 
Microsoft Dynamics 365 for Marketing
Microsoft Dynamics 365 for MarketingMicrosoft Dynamics 365 for Marketing
Microsoft Dynamics 365 for Marketing
 
What is power apps
What is power appsWhat is power apps
What is power apps
 
Microsoft Dynamics 365 for sales
Microsoft Dynamics  365 for sales Microsoft Dynamics  365 for sales
Microsoft Dynamics 365 for sales
 
What is project service automation in dynamics 365
What is project service automation in dynamics 365What is project service automation in dynamics 365
What is project service automation in dynamics 365
 
An overview of what is dynamics 365
An overview of what is dynamics 365An overview of what is dynamics 365
An overview of what is dynamics 365
 
Here’s, how microsoft social engagement boost lead
Here’s, how microsoft social engagement boost leadHere’s, how microsoft social engagement boost lead
Here’s, how microsoft social engagement boost lead
 
Ms dynamics crm consultant
Ms dynamics crm consultantMs dynamics crm consultant
Ms dynamics crm consultant
 

Recently uploaded

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

Delivering powerful integrations without code using out-of-the-box Salesforce integration features

  • 1. Delivering Powerful Integrations Without Code Anshul Verma, President anshul.verma@cynoteck.com @toanshulverma CynoteckTechnology Solutions LLC
  • 2. Forward Looking Statement Statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company’s financial and operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates, the one-time accounting non-cash charge that was incurred in connection with the Salesforce.org combination; stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth and sustainability goals. The achievement or success of the matters covered by such forward-looking statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could differ materially from the results expressed or implied by the forward-looking statements we make. The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of geopolitical events; the impact of foreign currency exchange rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and prevent, detect and remediate potential security breaches; the expenses associated with new data centers and third-party infrastructure providers; additional data center capacity; real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market; our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly traded companies within the company's strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies, including delays related to the integration of Tableau due to regulatory review by the United Kingdom Competition and Markets Authority; our ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our outstanding debt, revolving credit facility, term loan and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving us; and the impact of climate change. Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s website at www.salesforce.com/investor. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
  • 5. What is Software Integration “In Information Technology, process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole” (WikiPedia) Subtitle placeholder Billing Inventory Sales Service Finance HR Banking
  • 6. Types of Integrations Data Integration Invoice Payment Invoice Payment Salesforce Data Warehouse/ Lake Data Integration - Data (at rest) sent from one system to other
  • 7. Types of Integrations Subtitle placeholder Application Integration - Transaction data sent from one system to another, mostly on occurrence of an event - Source expects Target to initiate additional processing upon receiving data Invoice Payment Create Invoice Salesforce ERP Account Receivable Cubes (Analytical)
  • 8. Integrations by Code Not for the faint hearted Manage Authentication Code Integration (Complex) Error Handling Testing (Lots and Lots) Maintenance
  • 10. Outbound Messaging Introduction PROS CONS SimpleComplexity Data IntegrationPurpose 1. Send Salesforce data (SOAP messages) to external web service endpoint 2. Trigger integration via workflow 3. Automated retry and batching 1. Mandates Message format 2. Doesn’t support complex structure 3. Doesn’t support various authentication mechanisms
  • 11. Outbound Messaging How does it work? Salesforce Account User User updates data 1 1 Workflow Outbound message External Service Workflow triggered2 Outbound Message Queued3 Outbound Message Sent4 4 3 2
  • 12. Outbound Messaging – How To? How to build/ use? Create Workflow Create Outbound Message Share Service WSDL with External Developer Pre-Requisites: 1. Endpoint URL
  • 13. External Objects Introduction PROS CONS SimpleComplexity Data IntegrationPurpose 1. Access remote data like native data/ objects without consuming salesforce data storage 2. Ability to search, view and report on data like native data and basic CRUD operations 3. Uses widely used common data standards (OData, FederatedSearch etc.) 1. Limited OData support across legacy applications 2. Higher network usage 3. Salesforce connect licenses costs
  • 14. Salesforce External Objects How does it work? Account – Record view User User opened account record 1 1 Related list External Query External Data Source Related list invoked2 Request for External Data3 Query sent to External Data Source4 4 3 2 Receive Records Related list 5 6 7 Salesforce receive external data5 Related list data populated6 Related list displayed7
  • 15. External Objects How to build/ use? Create External Data Source Create External Object (Optional) Create Relationship / Tab Pre-Requisites: 1. Endpoint URL 2. Authentication Details 3. Schema of external service
  • 16. External Services Introduction PROS CONS ModerateComplexity ApplicationPurpose 1. Invoke custom Web APIs (Interagent, Swagger Open API 2.0) 2. Trigger integration via Flow 1. Schema limited to 100,000 characters 2. Less options to debug
  • 17. Salesforce External Services How does it work? Issue Refund (Flow) User User initiates Issue Refund flow 1 1 Payment Service External Service Flow invokes external service action2 Request sent to External Service3 Response received from External Service 43 2 Process Response 4 5 Response Parsed and Processed5
  • 18. External Services How to build/ use? Add Named Credential Register External Service Create Flow Pre-Requisites: 1. Endpoint URL 2. Authentication Details 3. External service schema (Interagent or Swagger OpenAPI 2.0)
  • 19. Platform Events Introduction PROS CONS Moderate - ComplexComplexity ApplicationPurpose 1. Persistent and immutable messages 2. Enables Loosely coupled functionalities 3. Enables pub-sub pattern (publisher – subscriber) 4. Replay past events 1. Can result in complicated technical design 2. DML limits apply 3. Limits on subscribers and events to publish
  • 20. Billing Salesforce Platform Event How does it work? ERP publishes platform event with order fulfilment status 1 1 Lifetime Metrics Process Builder updates customer lifetime order data 2 Billing system updates billing details 3 Process Builder updates order information 4 2 Update Order 3 ERP Create Billing 4 Salesforce sends notification to all subscribers 5 5 App 2 App 3 App N Platform event publisher Order Platform Event
  • 21. Platform Events – How To? How to build/ use? Define New Platform Event Type Add Event Fields/ Attributes Publish Events Subscribe to Events Pre-Requisites: 1. Event design (attributes)
  • 22. Working Demo – External Objects
  • 23. Working Demo – External Services
  • 24. Working Demo – Platform Events
  • 25. More Learning External Objects: https://trailhead.salesforce.com/content/learn/projects/quickstart-lightning- connect External Services: https://trailhead.salesforce.com/en/content/learn/modules/external-services/get- started-with-external-services Platform Events: https://trailhead.salesforce.com/en/content/learn/modules/platform_events_basics