SlideShare a Scribd company logo
Control Your World Using the Salesforce1 
Platform (IoT) 
Chris Ferraro 
Chief IT Architect 
@chrisf_59
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 product or service 
availability, 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, 
new products and services, 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, the outcome of any litigation, risks associated with completed and any 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 year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and 
others containing important disclosures 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 presentations, 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.
Chris Ferraro 
Chief IT Architect
About Internet Creations 
http://www.internetcreations.com 
• Salesforce Consulting & AppExchange Apps 
• Member of the Cloud Collective: AppExchange Category Leaders 
• #1 Rated App for Agent Productivity 
Internet Creations Labs 
We balance work with the passion for learning. Technical 
staff are encouraged to spend up to 20% of their time on 
developing and pursuing their own creative ideas.
Agenda 
- The Internet of Things & Salesforce1 
- Platform APIs 
- Project: Controlling Christmas Lights using HTTP Class 
- Project: Flash lights upon new P1 Case using workflow & IFTTT (Live Demo) 
- Project: Temperature Monitoring using REST API (Live Demo) 
- Questions & Comments
Internet of Things 
• Interconnected things using low cost (usually) networkable devices 
• Connect smart devices/physical objects/sensors 
• Connecting devices to the Internet allows 
automation of anything from anywhere
Salesforce1 
Salesforce1 Platform 
(Force.com, Heroku, and ExactTarget Fuel) 
Salesforce1 Mobile App
Platform API: Salesforce Web Services 
Did you know? 
Common Uses 
• Integrate external systems 
• Load records with Dataloader 
• Connect with IoT devices 
60% of Salesforce 
transactions are API calls
Platform API: Salesforce Web Services 
• Outbound 
– HTTP Class 
– WSDL2Apex 
– Outbound messaging 
– Streaming API 
• Inbound 
– SOAP API 
– REST API 
– Custom web services
Platform API: Salesforce Web Services 
Type 
• HTTP Classes 
• WSDL2Apex 
Advantages 
• Highly customizable, 
request and response can 
be formatted in any way. 
• Auto-generates Apex code 
to interact with a SOAP 
based web service 
Uses 
• Callouts to simple or complex 
external systems. Custom 
parsing logic for all types of 
responses including XML, 
JSON, and Custom formats. 
• Integration with external 
systems 
Outbound
Platform API: Salesforce Web Services 
Type 
• Outbound Messaging 
• Streaming API 
Advantages 
• Triggered by workflow, 
automatic retries guarantee 
delivery 
• No need to poll for data, 
application is notified of 
changes 
Uses 
• Integration with middleware 
applications 
• Use in lieu of polling for 
record changes 
Outbound (continued)
Platform API: Salesforce Web Services 
Type 
• SOAP API 
• REST API 
• Custom Web Services 
Advantages 
• Structured access to 
Salesforce data 
• Simplified access to 
Salesforce data 
• Implement custom logic 
Uses 
• External applications that 
interact with SF data 
• Mobile applications, external 
web sites that pull data 
• Exposing complex custom 
business logic to external 
apps 
Inbound
HTTP Class for Callouts 
• IoT devices frequently have a REST or JSON based API 
– REST 
– JSON-RPC 
• Invoke callouts to devices using the HTTP class 
• Use @future or the Queueable interface to invoke callouts from a trigger 
– Queueable is new in Winter 15 and allows events to be chained. This can be helpful if you need 
to contact multiple devices and the actions are dependent. 
• Need to control the local network and open firewall ports inbound from SF
Project: Controlling Christmas Lights (HTTP Class)
Project: Controlling Christmas Lights (HTTP Class) 
• Configure endpoint under Remote Site Settings 
Arduino Yun Sainsmart relay board
Project: Controlling Christmas Lights (HTTP Class)
Project: Controlling Christmas Lights (HTTP Class) 
public class ChristmasLights { 
@Future(callout=true) 
public static void doCallout(string action){ 
string URL = 'http://123.81.144.87:8800/arduino/' + action + '/go'; 
Http h = new Http(); 
HttpRequest req = new HttpRequest(); 
req.setTimeout(30000); 
req.setEndpoint(url); 
req.setMethod('GET'); 
HttpResponse res = h.send(req); 
} 
}
Project: Flashing Lights (Workflow & IFTTT) 
• No need to write code 
• Salesforce workflow sends email alert to IFTTT 
IFTTT Rule Belkin Wemo Switch Light
Project: Flashing Lights (Workflow & IFTTT)
Inbound data to Salesforce 
• REST API or Custom Web Service 
– Create a Connected App 
– Login to get a session token for use in API calls 
• Custom Web Service exposed on a force.com site 
– Not particularly secure. Anyone could execute the web service!
Project: Temperature Monitoring (REST API) 
Tessel 
(A microcontroller that runs Javascript) 
Temperature probe
Project: Temperature Monitoring (REST API) 
OAuth Authentication – Username & Password 
‘grant_type=password&client_id=3M1234Z_r.QzrS7gqVEDhgIEgmfljZJ_I8eqZpdwZgzaZhMVU1vAv43VT37PimUNPUgHY5oABV3sH7AT0oYGx& 
client_secret=123456789090124&username=tessel@domain.com&password=Basdfgavz!DPAB4MDJVLKxjdhTLKeAaGv7’ 
• grant_type=password 
• client_id= Consumer key from Connect App 
• client_secret = Consumer Secret from Connect App 
• username= Salesforce username 
• password= Password + Security Token 
API returns JSON by default which is parsed to get the session token and instance URL: 
...res.on('data', function(d) { 
var parsed = JSON.parse(d); 
var instanceURL = parsed.instance_url; 
var token = parsed.access_token; 
}
Project: Temperature Monitoring (REST API) 
REST API Call 
var options = { port: 443, 
method: 'POST', 
hostname: instanceURL, 
path: '/services/data/v31.0/sobjects/Inbound_Data__c/', 
headers: { 
Host: 'na10.salesforce.com', 
'Accept': '*/*', 
"User-Agent": "tessel", 
'Content-Type': 'application/json', 
'Authorization': ‘Bearer ‘ + token 
} 
var temperature = getTemperature(); 
var requestBody = ‘{ “Temperature__c" : ‘ + temperature + ‘ }’; 
var req = https.request(options, callbackFunction); 
req.write(requestBody); 
req.end();
Resources 
• https://developer.salesforce.com/page/Creating_REST_APIs_using_Apex_REST 
• http://www.salesforce.com/us/developer/docs/integration_patterns/integration_patte 
rns_and_practices.pdf 
• https://www.salesforce.com/us/developer/docs/api_rest/ 
• https://tessel.io/
Questions? Comments?
Control your world using the Salesforce1 Platform (IoT)

More Related Content

What's hot

Lightning Flow Actions
Lightning Flow ActionsLightning Flow Actions
Lightning Flow Actions
misswlee
 
Salesforce Spring'20 Features
Salesforce Spring'20 FeaturesSalesforce Spring'20 Features
Salesforce Spring'20 Features
Bordeaux Salesforce Developer Group
 
Event Monitoring: Use Powerful Insights to Improve Performance and Security
Event Monitoring: Use Powerful Insights to Improve Performance and SecurityEvent Monitoring: Use Powerful Insights to Improve Performance and Security
Event Monitoring: Use Powerful Insights to Improve Performance and Security
Dreamforce
 
You've Changed: Field Audit Trails and the Salesforce Time Machine
You've Changed: Field Audit Trails and the Salesforce Time MachineYou've Changed: Field Audit Trails and the Salesforce Time Machine
You've Changed: Field Audit Trails and the Salesforce Time Machine
Dreamforce
 
Understanding Salesforce Streaming API
Understanding Salesforce Streaming APIUnderstanding Salesforce Streaming API
Understanding Salesforce Streaming API
gwestr
 
Salesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUGSalesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUGTom Gersic
 
JDF18 - Connecting the customer success platform
JDF18 - Connecting the customer success platformJDF18 - Connecting the customer success platform
JDF18 - Connecting the customer success platform
Deepu Chacko
 
Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer Week
Pat Patterson
 
Modev presentation
Modev presentationModev presentation
Modev presentation
Ryan Upton
 
Boxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too MuchBoxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too Much
Peter Chittum
 
Durable Streaming and Enterprise Messaging
Durable Streaming and Enterprise MessagingDurable Streaming and Enterprise Messaging
Durable Streaming and Enterprise Messaging
Salesforce Developers
 
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through ControllersLightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Salesforce Developers
 
Modern Architectures: The Road to App Cloud 2020
Modern Architectures: The Road to App Cloud 2020Modern Architectures: The Road to App Cloud 2020
Modern Architectures: The Road to App Cloud 2020
Dreamforce
 
Driving the Internet of Things into the Dreamforce App: The Social Shuttle Bus
Driving the Internet of Things into the Dreamforce App: The Social Shuttle BusDriving the Internet of Things into the Dreamforce App: The Social Shuttle Bus
Driving the Internet of Things into the Dreamforce App: The Social Shuttle Bus
Salesforce Developers
 
Mobile Packs From Salesforce.com
Mobile Packs From Salesforce.comMobile Packs From Salesforce.com
Mobile Packs From Salesforce.com
Shivanath Devinarayanan
 
Create Lightning with Lightning & IoT
Create Lightning with Lightning & IoTCreate Lightning with Lightning & IoT
Create Lightning with Lightning & IoT
Salesforce Developers
 
2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers againEuroCloud
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 Platform
John Stevenson
 

What's hot (19)

Lightning Flow Actions
Lightning Flow ActionsLightning Flow Actions
Lightning Flow Actions
 
Salesforce Spring'20 Features
Salesforce Spring'20 FeaturesSalesforce Spring'20 Features
Salesforce Spring'20 Features
 
Event Monitoring: Use Powerful Insights to Improve Performance and Security
Event Monitoring: Use Powerful Insights to Improve Performance and SecurityEvent Monitoring: Use Powerful Insights to Improve Performance and Security
Event Monitoring: Use Powerful Insights to Improve Performance and Security
 
You've Changed: Field Audit Trails and the Salesforce Time Machine
You've Changed: Field Audit Trails and the Salesforce Time MachineYou've Changed: Field Audit Trails and the Salesforce Time Machine
You've Changed: Field Audit Trails and the Salesforce Time Machine
 
Understanding Salesforce Streaming API
Understanding Salesforce Streaming APIUnderstanding Salesforce Streaming API
Understanding Salesforce Streaming API
 
Salesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUGSalesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUG
 
JDF18 - Connecting the customer success platform
JDF18 - Connecting the customer success platformJDF18 - Connecting the customer success platform
JDF18 - Connecting the customer success platform
 
Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer Week
 
Streaming API with Java
Streaming API with JavaStreaming API with Java
Streaming API with Java
 
Modev presentation
Modev presentationModev presentation
Modev presentation
 
Boxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too MuchBoxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too Much
 
Durable Streaming and Enterprise Messaging
Durable Streaming and Enterprise MessagingDurable Streaming and Enterprise Messaging
Durable Streaming and Enterprise Messaging
 
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through ControllersLightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
 
Modern Architectures: The Road to App Cloud 2020
Modern Architectures: The Road to App Cloud 2020Modern Architectures: The Road to App Cloud 2020
Modern Architectures: The Road to App Cloud 2020
 
Driving the Internet of Things into the Dreamforce App: The Social Shuttle Bus
Driving the Internet of Things into the Dreamforce App: The Social Shuttle BusDriving the Internet of Things into the Dreamforce App: The Social Shuttle Bus
Driving the Internet of Things into the Dreamforce App: The Social Shuttle Bus
 
Mobile Packs From Salesforce.com
Mobile Packs From Salesforce.comMobile Packs From Salesforce.com
Mobile Packs From Salesforce.com
 
Create Lightning with Lightning & IoT
Create Lightning with Lightning & IoTCreate Lightning with Lightning & IoT
Create Lightning with Lightning & IoT
 
2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 Platform
 

Similar to Control your world using the Salesforce1 Platform (IoT)

Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Salesforce Partners
 
February 2020 Salesforce API Review
February 2020 Salesforce API ReviewFebruary 2020 Salesforce API Review
February 2020 Salesforce API Review
Lydon Bergin
 
Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...
Salesforce Deutschland
 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.com
Steven Herod
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
Mark Adcock
 
Salesforce platform session 2
 Salesforce platform session 2 Salesforce platform session 2
Salesforce platform session 2
Salesforce - Sweden, Denmark, Norway
 
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsOur API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Dreamforce
 
Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3
Mark Adcock
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum
BeMyApp
 
Developer Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 PlatformDeveloper Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 Platform
Salesforce Deutschland
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
Salesforce Developers
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreSalesforce Developers
 
Connect Your Clouds with Force.com
Connect Your Clouds with Force.comConnect Your Clouds with Force.com
Connect Your Clouds with Force.com
Jeff Douglas
 
Enterprise and Social Integration Using Force.com
Enterprise and Social Integration Using Force.comEnterprise and Social Integration Using Force.com
Enterprise and Social Integration Using Force.com
Salesforce Developers
 
Real Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform EventsReal Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform Events
Salesforce Developers
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance Track
CarolEnLaNube
 
Tour of Heroku + Salesforce Integration Methods
Tour of Heroku + Salesforce Integration MethodsTour of Heroku + Salesforce Integration Methods
Tour of Heroku + Salesforce Integration Methods
Salesforce Developers
 
AWS re:Invent 2016: Deliver Engaging Experiences with Custom Apps Built on Sa...
AWS re:Invent 2016: Deliver Engaging Experiences with Custom Apps Built on Sa...AWS re:Invent 2016: Deliver Engaging Experiences with Custom Apps Built on Sa...
AWS re:Invent 2016: Deliver Engaging Experiences with Custom Apps Built on Sa...
Amazon Web Services
 
Designing Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.comDesigning Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.com
Salesforce Developers
 
Salesforce1 Platform for programmers
Salesforce1 Platform for programmersSalesforce1 Platform for programmers
Salesforce1 Platform for programmers
Salesforce Developers
 

Similar to Control your world using the Salesforce1 Platform (IoT) (20)

Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)
 
February 2020 Salesforce API Review
February 2020 Salesforce API ReviewFebruary 2020 Salesforce API Review
February 2020 Salesforce API Review
 
Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...
 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.com
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Salesforce platform session 2
 Salesforce platform session 2 Salesforce platform session 2
Salesforce platform session 2
 
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsOur API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
 
Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum
 
Developer Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 PlatformDeveloper Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 Platform
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
 
Connect Your Clouds with Force.com
Connect Your Clouds with Force.comConnect Your Clouds with Force.com
Connect Your Clouds with Force.com
 
Enterprise and Social Integration Using Force.com
Enterprise and Social Integration Using Force.comEnterprise and Social Integration Using Force.com
Enterprise and Social Integration Using Force.com
 
Real Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform EventsReal Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform Events
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance Track
 
Tour of Heroku + Salesforce Integration Methods
Tour of Heroku + Salesforce Integration MethodsTour of Heroku + Salesforce Integration Methods
Tour of Heroku + Salesforce Integration Methods
 
AWS re:Invent 2016: Deliver Engaging Experiences with Custom Apps Built on Sa...
AWS re:Invent 2016: Deliver Engaging Experiences with Custom Apps Built on Sa...AWS re:Invent 2016: Deliver Engaging Experiences with Custom Apps Built on Sa...
AWS re:Invent 2016: Deliver Engaging Experiences with Custom Apps Built on Sa...
 
Designing Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.comDesigning Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.com
 
Salesforce1 Platform for programmers
Salesforce1 Platform for programmersSalesforce1 Platform for programmers
Salesforce1 Platform for programmers
 

More from InternetCreations

Salesforce Developer Console for Admins
Salesforce Developer Console for AdminsSalesforce Developer Console for Admins
Salesforce Developer Console for Admins
InternetCreations
 
Proactive vs Reactive Support to Drive Success
Proactive vs Reactive Support to Drive SuccessProactive vs Reactive Support to Drive Success
Proactive vs Reactive Support to Drive Success
InternetCreations
 
Why Salesforce Lightning? Why Now?
Why Salesforce Lightning? Why Now?Why Salesforce Lightning? Why Now?
Why Salesforce Lightning? Why Now?
InternetCreations
 
The Life-Changing Magic of Tidying Up in Salesforce
The Life-Changing Magic of Tidying Up in SalesforceThe Life-Changing Magic of Tidying Up in Salesforce
The Life-Changing Magic of Tidying Up in Salesforce
InternetCreations
 
KCS® is for Closers
KCS® is for ClosersKCS® is for Closers
KCS® is for Closers
InternetCreations
 
Bundling up for Improved Case Metrics in Salesforce
Bundling up for Improved Case Metrics in SalesforceBundling up for Improved Case Metrics in Salesforce
Bundling up for Improved Case Metrics in Salesforce
InternetCreations
 
Service Cloud Crystal Ball: The Now, the Soon, and the Future of Customer Ser...
Service Cloud Crystal Ball: The Now, the Soon, and the Future of Customer Ser...Service Cloud Crystal Ball: The Now, the Soon, and the Future of Customer Ser...
Service Cloud Crystal Ball: The Now, the Soon, and the Future of Customer Ser...
InternetCreations
 
Reach Salesforce Service Cloud Nirvana in 5 Steps
Reach Salesforce Service Cloud Nirvana in 5 StepsReach Salesforce Service Cloud Nirvana in 5 Steps
Reach Salesforce Service Cloud Nirvana in 5 Steps
InternetCreations
 
Yes, Your Salesforce Community Can Do That
Yes, Your Salesforce Community Can Do ThatYes, Your Salesforce Community Can Do That
Yes, Your Salesforce Community Can Do That
InternetCreations
 
Salesforce New Jersey User Group - Security Awareness
Salesforce New Jersey User Group - Security Awareness Salesforce New Jersey User Group - Security Awareness
Salesforce New Jersey User Group - Security Awareness
InternetCreations
 
Spring '16 Release Notes & AppExchange 10th Birthday Bash
Spring '16 Release Notes & AppExchange 10th Birthday BashSpring '16 Release Notes & AppExchange 10th Birthday Bash
Spring '16 Release Notes & AppExchange 10th Birthday Bash
InternetCreations
 
Accelerating Cash Flow with Accounting Seed and Chargent
Accelerating Cash Flow with Accounting Seed and ChargentAccelerating Cash Flow with Accounting Seed and Chargent
Accelerating Cash Flow with Accounting Seed and Chargent
InternetCreations
 
Summer of trailhead - Salesforce NJ User Group
Summer of trailhead - Salesforce NJ User GroupSummer of trailhead - Salesforce NJ User Group
Summer of trailhead - Salesforce NJ User Group
InternetCreations
 
Working at Internet Creations
Working at Internet Creations Working at Internet Creations
Working at Internet Creations
InternetCreations
 
PhillyForce 2015: Moving from Firefighting to Prevention with Voice of the Cu...
PhillyForce 2015: Moving from Firefighting to Prevention with Voice of the Cu...PhillyForce 2015: Moving from Firefighting to Prevention with Voice of the Cu...
PhillyForce 2015: Moving from Firefighting to Prevention with Voice of the Cu...
InternetCreations
 
Salesforce Spring '15 Release Notes Review with Alex Sutherland
Salesforce Spring '15 Release Notes Review with Alex SutherlandSalesforce Spring '15 Release Notes Review with Alex Sutherland
Salesforce Spring '15 Release Notes Review with Alex Sutherland
InternetCreations
 
Deliver World-Class Customer Service with Salesforce
Deliver World-Class Customer Service with SalesforceDeliver World-Class Customer Service with Salesforce
Deliver World-Class Customer Service with Salesforce
InternetCreations
 
Salesforce and Gmail Fully Integrated (NJ Salesforce User Group Event)
Salesforce and Gmail Fully Integrated (NJ Salesforce User Group Event)Salesforce and Gmail Fully Integrated (NJ Salesforce User Group Event)
Salesforce and Gmail Fully Integrated (NJ Salesforce User Group Event)
InternetCreations
 
Customer Service in Salesforce: Managing Cases Effectively
Customer Service in Salesforce: Managing Cases EffectivelyCustomer Service in Salesforce: Managing Cases Effectively
Customer Service in Salesforce: Managing Cases Effectively
InternetCreations
 
5 apps to be more productive with salesforce cases
5 apps to be more productive with salesforce cases5 apps to be more productive with salesforce cases
5 apps to be more productive with salesforce casesInternetCreations
 

More from InternetCreations (20)

Salesforce Developer Console for Admins
Salesforce Developer Console for AdminsSalesforce Developer Console for Admins
Salesforce Developer Console for Admins
 
Proactive vs Reactive Support to Drive Success
Proactive vs Reactive Support to Drive SuccessProactive vs Reactive Support to Drive Success
Proactive vs Reactive Support to Drive Success
 
Why Salesforce Lightning? Why Now?
Why Salesforce Lightning? Why Now?Why Salesforce Lightning? Why Now?
Why Salesforce Lightning? Why Now?
 
The Life-Changing Magic of Tidying Up in Salesforce
The Life-Changing Magic of Tidying Up in SalesforceThe Life-Changing Magic of Tidying Up in Salesforce
The Life-Changing Magic of Tidying Up in Salesforce
 
KCS® is for Closers
KCS® is for ClosersKCS® is for Closers
KCS® is for Closers
 
Bundling up for Improved Case Metrics in Salesforce
Bundling up for Improved Case Metrics in SalesforceBundling up for Improved Case Metrics in Salesforce
Bundling up for Improved Case Metrics in Salesforce
 
Service Cloud Crystal Ball: The Now, the Soon, and the Future of Customer Ser...
Service Cloud Crystal Ball: The Now, the Soon, and the Future of Customer Ser...Service Cloud Crystal Ball: The Now, the Soon, and the Future of Customer Ser...
Service Cloud Crystal Ball: The Now, the Soon, and the Future of Customer Ser...
 
Reach Salesforce Service Cloud Nirvana in 5 Steps
Reach Salesforce Service Cloud Nirvana in 5 StepsReach Salesforce Service Cloud Nirvana in 5 Steps
Reach Salesforce Service Cloud Nirvana in 5 Steps
 
Yes, Your Salesforce Community Can Do That
Yes, Your Salesforce Community Can Do ThatYes, Your Salesforce Community Can Do That
Yes, Your Salesforce Community Can Do That
 
Salesforce New Jersey User Group - Security Awareness
Salesforce New Jersey User Group - Security Awareness Salesforce New Jersey User Group - Security Awareness
Salesforce New Jersey User Group - Security Awareness
 
Spring '16 Release Notes & AppExchange 10th Birthday Bash
Spring '16 Release Notes & AppExchange 10th Birthday BashSpring '16 Release Notes & AppExchange 10th Birthday Bash
Spring '16 Release Notes & AppExchange 10th Birthday Bash
 
Accelerating Cash Flow with Accounting Seed and Chargent
Accelerating Cash Flow with Accounting Seed and ChargentAccelerating Cash Flow with Accounting Seed and Chargent
Accelerating Cash Flow with Accounting Seed and Chargent
 
Summer of trailhead - Salesforce NJ User Group
Summer of trailhead - Salesforce NJ User GroupSummer of trailhead - Salesforce NJ User Group
Summer of trailhead - Salesforce NJ User Group
 
Working at Internet Creations
Working at Internet Creations Working at Internet Creations
Working at Internet Creations
 
PhillyForce 2015: Moving from Firefighting to Prevention with Voice of the Cu...
PhillyForce 2015: Moving from Firefighting to Prevention with Voice of the Cu...PhillyForce 2015: Moving from Firefighting to Prevention with Voice of the Cu...
PhillyForce 2015: Moving from Firefighting to Prevention with Voice of the Cu...
 
Salesforce Spring '15 Release Notes Review with Alex Sutherland
Salesforce Spring '15 Release Notes Review with Alex SutherlandSalesforce Spring '15 Release Notes Review with Alex Sutherland
Salesforce Spring '15 Release Notes Review with Alex Sutherland
 
Deliver World-Class Customer Service with Salesforce
Deliver World-Class Customer Service with SalesforceDeliver World-Class Customer Service with Salesforce
Deliver World-Class Customer Service with Salesforce
 
Salesforce and Gmail Fully Integrated (NJ Salesforce User Group Event)
Salesforce and Gmail Fully Integrated (NJ Salesforce User Group Event)Salesforce and Gmail Fully Integrated (NJ Salesforce User Group Event)
Salesforce and Gmail Fully Integrated (NJ Salesforce User Group Event)
 
Customer Service in Salesforce: Managing Cases Effectively
Customer Service in Salesforce: Managing Cases EffectivelyCustomer Service in Salesforce: Managing Cases Effectively
Customer Service in Salesforce: Managing Cases Effectively
 
5 apps to be more productive with salesforce cases
5 apps to be more productive with salesforce cases5 apps to be more productive with salesforce cases
5 apps to be more productive with salesforce cases
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

Control your world using the Salesforce1 Platform (IoT)

  • 1. Control Your World Using the Salesforce1 Platform (IoT) Chris Ferraro Chief IT Architect @chrisf_59
  • 2. 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 product or service availability, 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, new products and services, 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, the outcome of any litigation, risks associated with completed and any 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 year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures 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 presentations, 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.
  • 3. Chris Ferraro Chief IT Architect
  • 4. About Internet Creations http://www.internetcreations.com • Salesforce Consulting & AppExchange Apps • Member of the Cloud Collective: AppExchange Category Leaders • #1 Rated App for Agent Productivity Internet Creations Labs We balance work with the passion for learning. Technical staff are encouraged to spend up to 20% of their time on developing and pursuing their own creative ideas.
  • 5. Agenda - The Internet of Things & Salesforce1 - Platform APIs - Project: Controlling Christmas Lights using HTTP Class - Project: Flash lights upon new P1 Case using workflow & IFTTT (Live Demo) - Project: Temperature Monitoring using REST API (Live Demo) - Questions & Comments
  • 6. Internet of Things • Interconnected things using low cost (usually) networkable devices • Connect smart devices/physical objects/sensors • Connecting devices to the Internet allows automation of anything from anywhere
  • 7. Salesforce1 Salesforce1 Platform (Force.com, Heroku, and ExactTarget Fuel) Salesforce1 Mobile App
  • 8. Platform API: Salesforce Web Services Did you know? Common Uses • Integrate external systems • Load records with Dataloader • Connect with IoT devices 60% of Salesforce transactions are API calls
  • 9. Platform API: Salesforce Web Services • Outbound – HTTP Class – WSDL2Apex – Outbound messaging – Streaming API • Inbound – SOAP API – REST API – Custom web services
  • 10. Platform API: Salesforce Web Services Type • HTTP Classes • WSDL2Apex Advantages • Highly customizable, request and response can be formatted in any way. • Auto-generates Apex code to interact with a SOAP based web service Uses • Callouts to simple or complex external systems. Custom parsing logic for all types of responses including XML, JSON, and Custom formats. • Integration with external systems Outbound
  • 11. Platform API: Salesforce Web Services Type • Outbound Messaging • Streaming API Advantages • Triggered by workflow, automatic retries guarantee delivery • No need to poll for data, application is notified of changes Uses • Integration with middleware applications • Use in lieu of polling for record changes Outbound (continued)
  • 12. Platform API: Salesforce Web Services Type • SOAP API • REST API • Custom Web Services Advantages • Structured access to Salesforce data • Simplified access to Salesforce data • Implement custom logic Uses • External applications that interact with SF data • Mobile applications, external web sites that pull data • Exposing complex custom business logic to external apps Inbound
  • 13. HTTP Class for Callouts • IoT devices frequently have a REST or JSON based API – REST – JSON-RPC • Invoke callouts to devices using the HTTP class • Use @future or the Queueable interface to invoke callouts from a trigger – Queueable is new in Winter 15 and allows events to be chained. This can be helpful if you need to contact multiple devices and the actions are dependent. • Need to control the local network and open firewall ports inbound from SF
  • 14. Project: Controlling Christmas Lights (HTTP Class)
  • 15. Project: Controlling Christmas Lights (HTTP Class) • Configure endpoint under Remote Site Settings Arduino Yun Sainsmart relay board
  • 16. Project: Controlling Christmas Lights (HTTP Class)
  • 17. Project: Controlling Christmas Lights (HTTP Class) public class ChristmasLights { @Future(callout=true) public static void doCallout(string action){ string URL = 'http://123.81.144.87:8800/arduino/' + action + '/go'; Http h = new Http(); HttpRequest req = new HttpRequest(); req.setTimeout(30000); req.setEndpoint(url); req.setMethod('GET'); HttpResponse res = h.send(req); } }
  • 18. Project: Flashing Lights (Workflow & IFTTT) • No need to write code • Salesforce workflow sends email alert to IFTTT IFTTT Rule Belkin Wemo Switch Light
  • 19. Project: Flashing Lights (Workflow & IFTTT)
  • 20. Inbound data to Salesforce • REST API or Custom Web Service – Create a Connected App – Login to get a session token for use in API calls • Custom Web Service exposed on a force.com site – Not particularly secure. Anyone could execute the web service!
  • 21. Project: Temperature Monitoring (REST API) Tessel (A microcontroller that runs Javascript) Temperature probe
  • 22. Project: Temperature Monitoring (REST API) OAuth Authentication – Username & Password ‘grant_type=password&client_id=3M1234Z_r.QzrS7gqVEDhgIEgmfljZJ_I8eqZpdwZgzaZhMVU1vAv43VT37PimUNPUgHY5oABV3sH7AT0oYGx& client_secret=123456789090124&username=tessel@domain.com&password=Basdfgavz!DPAB4MDJVLKxjdhTLKeAaGv7’ • grant_type=password • client_id= Consumer key from Connect App • client_secret = Consumer Secret from Connect App • username= Salesforce username • password= Password + Security Token API returns JSON by default which is parsed to get the session token and instance URL: ...res.on('data', function(d) { var parsed = JSON.parse(d); var instanceURL = parsed.instance_url; var token = parsed.access_token; }
  • 23. Project: Temperature Monitoring (REST API) REST API Call var options = { port: 443, method: 'POST', hostname: instanceURL, path: '/services/data/v31.0/sobjects/Inbound_Data__c/', headers: { Host: 'na10.salesforce.com', 'Accept': '*/*', "User-Agent": "tessel", 'Content-Type': 'application/json', 'Authorization': ‘Bearer ‘ + token } var temperature = getTemperature(); var requestBody = ‘{ “Temperature__c" : ‘ + temperature + ‘ }’; var req = https.request(options, callbackFunction); req.write(requestBody); req.end();
  • 24. Resources • https://developer.salesforce.com/page/Creating_REST_APIs_using_Apex_REST • http://www.salesforce.com/us/developer/docs/integration_patterns/integration_patte rns_and_practices.pdf • https://www.salesforce.com/us/developer/docs/api_rest/ • https://tessel.io/