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

23
Twilio and Salesforce: Building SMS and Voice Integrations into Force.com Pat Patterson Principal Developer Evangelist /metadaddy @metadaddy in/metadaddy

description

The Twilio Helper Library for Salesforce provides an Apex interface to Twilio, making it easy to send and receive voice calls and text messages from the Sales and Service Clouds, and your own Force.com applications. This session will get you started with the helper library, show you how to leverage Twilio for SMS lead generation in just a few lines of Apex code, and walk you through creating a simple, yet powerful, interactive voice response (IVR) system that greets callers by name and routes their calls to the correct representative.

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

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

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

Pat PattersonPrincipal Developer Evangelist

/metadaddy

@metadaddy

in/metadaddy

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

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.

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

Agenda

SMS lead generation

Call routing

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

SMS Lead Generation

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

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.

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

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

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

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

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

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!

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

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"

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

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

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

Remember security!

Validate signature on incoming request– Otherwise…

ALL YOUR SYSTEM ARE BELONG TO US!

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

SMS from Force.com

Twilio Helper Library abstracts away the details

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

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

Try it out!

SMS your email to 408-724-8777

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

Call Routing

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

User story

As a customer service manager, I want

callers to be greeted by name and then

automatically connected to their

account representative.

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

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

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

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

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

Locating the caller’s account rep

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

Responding with the rep’s name, connecting the call

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

Did you spot the security hole?

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

Validate Incoming Parameters

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

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!

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