SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Twilio and Salesforce: Building SMS and
Voice Integrations into Force.com
Pat Patterson
Principal Developer Evangelist

   /metadaddy
   @metadaddy
   in/metadaddy
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 intellectual
property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively
limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and
successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise
customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report
on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This 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.
Agenda




SMS lead generation


Call routing
SMS Lead Generation
User story




As a marketer, I want to run
campaigns that generate leads by
inviting prospective customers to send
their email addresses to us via SMS.
Three challenges

 Calling in to Salesforce from Twilio
  with an incoming SMS


 Creating a Lead record and associating it with
  the correct Campaign record


 Calling out from Salesforce to Twilio with an
  SMS reply
Sidebar: Force.com


 Force.com is a Platform-as-a-Service that
  allows you to create and extend business apps

 Code is in Apex, markup in Visualforce

 All code runs on the Force.com platform

      Twilio Helper Library for Salesforce
    – https://github.com/twilio/twilio-salesforce
    – Apex bindings for Twilio API
Webhooks on Force.com



 Create an Apex REST method


 Expose it on a public URL via a Force.com Site
  – Don’t forget to make the class accessible!
Try it out!


$ curl https://twilioapi-developer-edition
  .na14.force.com/services/apexrest/hello?
  name=Pat


$ curl -H 'Content-Type: application/json' 
  -d '{"name" : "Pat"}' 
  https://twilioapi-developer-edition
  .na14.force.com/services/apexrest/hello


"Well, hello Pat"
Creating a Lead, attaching it to a Campaign


 Campaign has custom field ‘Phone’

 Look up Campaign via recipient caller id

 Create a new Lead record
   – Populate with email and phone number

 Link Lead to Campaign

 Reply via SMS, email
Remember security!




 Validate signature on incoming request
  – Otherwise…

    ALL YOUR SYSTEM ARE BELONG TO
                 US!
SMS from Force.com



 Twilio Helper Library abstracts away the details




 Remember security!
  – Configure https://api.twilio.com as a remote site
Try it out!

SMS your email to 408-724-8777
Call Routing
User story




As a customer service manager, I want
callers to be greeted by name and then
automatically connected to their
account representative.
Four challenges

 Connecting a voice call with Salesforce


 Locating the record for the caller’s account rep


 Responding with the rep’s name


 Connecting call with account rep
Receiving a call


 Render TwiML via Visualforce page on Force.com site
  (publicly accessible)
  https://twilioapi-developer-edition.na14.force.com/Connector



 Call data passed as request parameters
   – AccountSid
   – From
   – To
   – etc
Locating the caller’s account rep
Responding with the rep’s name,
connecting the call
Did you spot the security hole?
Validate Incoming Parameters
Wrapping up

 The Twilio Helper Library for Salesforce
  provides an Apex binding for interacting with
  Twilio from Force.com


 Implementing business requirements requires
  surprisingly little code


 Don’t forget about security – have your implementation
  reviewed!
Twilio and Salesforce - Building SMS and Voice Integrations into Force.com

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (11)

Mygram.me - Aadhar eKYC over SMS | Secure URLs over SMS
Mygram.me - Aadhar eKYC over SMS | Secure URLs over SMSMygram.me - Aadhar eKYC over SMS | Secure URLs over SMS
Mygram.me - Aadhar eKYC over SMS | Secure URLs over SMS
 
Smart Learning: teaching and learning with smartphones and tablets in post co...
Smart Learning: teaching and learning with smartphones and tablets in post co...Smart Learning: teaching and learning with smartphones and tablets in post co...
Smart Learning: teaching and learning with smartphones and tablets in post co...
 
Análisis dafo
Análisis dafoAnálisis dafo
Análisis dafo
 
Delphos Word
Delphos WordDelphos Word
Delphos Word
 
Productizing Twilio Applications
Productizing Twilio ApplicationsProductizing Twilio Applications
Productizing Twilio Applications
 
Twilio Signal 2016 API Architecture
Twilio Signal 2016 API ArchitectureTwilio Signal 2016 API Architecture
Twilio Signal 2016 API Architecture
 
Scaling Company Values - Twilio - TechWeek 2012
Scaling Company Values - Twilio - TechWeek 2012Scaling Company Values - Twilio - TechWeek 2012
Scaling Company Values - Twilio - TechWeek 2012
 
Why Mobile Messaging Works?
Why Mobile Messaging Works?Why Mobile Messaging Works?
Why Mobile Messaging Works?
 
Scaling Twilio - Evan Cooke - Twilio Conference 2011
Scaling Twilio - Evan Cooke - Twilio Conference 2011Scaling Twilio - Evan Cooke - Twilio Conference 2011
Scaling Twilio - Evan Cooke - Twilio Conference 2011
 
What Can You Do With Twilio
What Can You Do With TwilioWhat Can You Do With Twilio
What Can You Do With Twilio
 
Mobile commerce
Mobile commerce Mobile commerce
Mobile commerce
 

Mehr von Pat Patterson

Mehr von Pat Patterson (20)

DevOps from the Provider Perspective
DevOps from the Provider PerspectiveDevOps from the Provider Perspective
DevOps from the Provider Perspective
 
How Imprivata Combines External Data Sources for Business Insights
How Imprivata Combines External Data Sources for Business InsightsHow Imprivata Combines External Data Sources for Business Insights
How Imprivata Combines External Data Sources for Business Insights
 
Data Integration with Apache Kafka: What, Why, How
Data Integration with Apache Kafka: What, Why, HowData Integration with Apache Kafka: What, Why, How
Data Integration with Apache Kafka: What, Why, How
 
Project Ouroboros: Using StreamSets Data Collector to Help Manage the StreamS...
Project Ouroboros: Using StreamSets Data Collector to Help Manage the StreamS...Project Ouroboros: Using StreamSets Data Collector to Help Manage the StreamS...
Project Ouroboros: Using StreamSets Data Collector to Help Manage the StreamS...
 
Dealing with Drift: Building an Enterprise Data Lake
Dealing with Drift: Building an Enterprise Data LakeDealing with Drift: Building an Enterprise Data Lake
Dealing with Drift: Building an Enterprise Data Lake
 
Integrating with Einstein Analytics
Integrating with Einstein AnalyticsIntegrating with Einstein Analytics
Integrating with Einstein Analytics
 
Efficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryEfficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema Registry
 
Dealing With Drift - Building an Enterprise Data Lake
Dealing With Drift - Building an Enterprise Data LakeDealing With Drift - Building an Enterprise Data Lake
Dealing With Drift - Building an Enterprise Data Lake
 
Building Data Pipelines with Spark and StreamSets
Building Data Pipelines with Spark and StreamSetsBuilding Data Pipelines with Spark and StreamSets
Building Data Pipelines with Spark and StreamSets
 
Adaptive Data Cleansing with StreamSets and Cassandra
Adaptive Data Cleansing with StreamSets and CassandraAdaptive Data Cleansing with StreamSets and Cassandra
Adaptive Data Cleansing with StreamSets and Cassandra
 
Building Custom Big Data Integrations
Building Custom Big Data IntegrationsBuilding Custom Big Data Integrations
Building Custom Big Data Integrations
 
Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?
 
Open Source Big Data Ingestion - Without the Heartburn!
Open Source Big Data Ingestion - Without the Heartburn!Open Source Big Data Ingestion - Without the Heartburn!
Open Source Big Data Ingestion - Without the Heartburn!
 
Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?
 
All Aboard the Boxcar! Going Beyond the Basics of REST
All Aboard the Boxcar! Going Beyond the Basics of RESTAll Aboard the Boxcar! Going Beyond the Basics of REST
All Aboard the Boxcar! Going Beyond the Basics of REST
 
Provisioning IDaaS - Using SCIM to Enable Cloud Identity
Provisioning IDaaS - Using SCIM to Enable Cloud IdentityProvisioning IDaaS - Using SCIM to Enable Cloud Identity
Provisioning IDaaS - Using SCIM to Enable Cloud Identity
 
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
 
Enterprise IoT: Data in Context
Enterprise IoT: Data in ContextEnterprise IoT: Data in Context
Enterprise IoT: Data in Context
 
OData: A Standard API for Data Access
OData: A Standard API for Data AccessOData: A Standard API for Data Access
OData: A Standard API for Data Access
 
API-Driven Relationships: Building The Trans-Internet Express of the Future
API-Driven Relationships: Building The Trans-Internet Express of the FutureAPI-Driven Relationships: Building The Trans-Internet Express of the Future
API-Driven Relationships: Building The Trans-Internet Express of the Future
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Twilio and Salesforce - Building SMS and Voice Integrations into Force.com

  • 1. Twilio and Salesforce: Building SMS and Voice Integrations into Force.com Pat Patterson Principal Developer Evangelist /metadaddy @metadaddy in/metadaddy
  • 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 intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This 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.
  • 5. User story As a marketer, I want to run campaigns that generate leads by inviting prospective customers to send their email addresses to us via SMS.
  • 6. Three challenges  Calling in to Salesforce from Twilio with an incoming SMS  Creating a Lead record and associating it with the correct Campaign record  Calling out from Salesforce to Twilio with an SMS reply
  • 7. Sidebar: Force.com  Force.com is a Platform-as-a-Service that allows you to create and extend business apps  Code is in Apex, markup in Visualforce  All code runs on the Force.com platform  Twilio Helper Library for Salesforce – https://github.com/twilio/twilio-salesforce – Apex bindings for Twilio API
  • 8. Webhooks on Force.com  Create an Apex REST method  Expose it on a public URL via a Force.com Site – Don’t forget to make the class accessible!
  • 9. Try it out! $ curl https://twilioapi-developer-edition .na14.force.com/services/apexrest/hello? name=Pat $ curl -H 'Content-Type: application/json' -d '{"name" : "Pat"}' https://twilioapi-developer-edition .na14.force.com/services/apexrest/hello "Well, hello Pat"
  • 10. Creating a Lead, attaching it to a Campaign  Campaign has custom field ‘Phone’  Look up Campaign via recipient caller id  Create a new Lead record – Populate with email and phone number  Link Lead to Campaign  Reply via SMS, email
  • 11. Remember security!  Validate signature on incoming request – Otherwise… ALL YOUR SYSTEM ARE BELONG TO US!
  • 12. SMS from Force.com  Twilio Helper Library abstracts away the details  Remember security! – Configure https://api.twilio.com as a remote site
  • 13. Try it out! SMS your email to 408-724-8777
  • 15. User story As a customer service manager, I want callers to be greeted by name and then automatically connected to their account representative.
  • 16. Four challenges  Connecting a voice call with Salesforce  Locating the record for the caller’s account rep  Responding with the rep’s name  Connecting call with account rep
  • 17. Receiving a call  Render TwiML via Visualforce page on Force.com site (publicly accessible) https://twilioapi-developer-edition.na14.force.com/Connector  Call data passed as request parameters – AccountSid – From – To – etc
  • 18. Locating the caller’s account rep
  • 19. Responding with the rep’s name, connecting the call
  • 20. Did you spot the security hole?
  • 22. Wrapping up  The Twilio Helper Library for Salesforce provides an Apex binding for interacting with Twilio from Force.com  Implementing business requirements requires surprisingly little code  Don’t forget about security – have your implementation reviewed!