« IBM PR should be all over these folks... | Main| Deep dish or Fish and Chips? Maybe you want both? »

Interesting new website Twilio.com - can interact well with Domino

Category
I noticed on Chris Millers Google reader share feed the other day he had linked to an article about Twilio.com

Reading the article I discovered that Twilio.com is basically a telephone IVR system operating in the cloud.  What's nice about it, for most developers is that it's language is than VXML and in a matter of minutes a competent Domino developer can have a system up and running that lets you dial in to a telephone number, enter a pin and have it read back to you your days calendar for example, or give you a weather forecast for the zipcode you're calling from, check if your servers are up from the phone etc.  You can even have Twilio record messages, so imagine a support phone number which people call into and leave their their message, this could then be moved straight into your Domino CRM/Support system and have workflow applied to resolving and interacting with the customer.  Twilio can also make outgoing calls, so could automatically call you for example if Domino server goes down, you need to notify employees of snow days etc.  It's also fun having Sametime bots interact with the service.

To use Twilio, you basically need to build Domino agent that outputs XML.  For example, this very simple Domino agent does the following with Twilio:
1. Announces "Hello, thank you for calling my first application"
2. Plays the sound of a monkey howling that is stored as an MP3 file on the Twilio server (could be any mp3 on any public server)
3. Asks the user if they wish to log this call, if the user makes a selection it calls the domino agent TwilioLogSelection with the results.

Sub Initialize
    Print {Content-Type: text/xml}
    Print {<?xml version='1.0' encoding='utf-8' ?>}
    Print {<Response>  }
    Print {<Say>Hello, thank you for calling my first application</Say>}
    Print{<Play>http://demo.twilio.com/hellomonkey/monkey.mp3</Play>}
    Print{<Gather numDigits="1" action="TwilioLogSelection?OpenAgent" method="POST">  }
    Print{<Say>To log this call,  press 1.  Press any other key to start over.</Say>  }
    Print{</Gather> }
    Print {</Response>}
End Sub

How simple is that?

In the agent TwilioLogSelection, it's basically a simple Domino agent that logs the call details and selection choices.  Twilio will provide the following information from CallerID:
CallerCity: The city of the caller.
CallerState: The state or province of the caller.
CallerZip: The postal code of the caller.
CallerCountry: The country of the caller.
CallGuid: A unique ID for the call as it is passed from one URL to another.

This to me is one of the most exciting things about the cloud.  Being able to play with technologies that would normally require hardware investments, payments to telephone companies, waiting weeks for telephone companies to setup accounts etc. then finding out you need additional consultancy to make it work in your environment etc.

You can try this out for yourself by getting a Twilio account, you can also call the above example with your phone using the following details:
Number to call: +1 (866) 583-6913
Pin: 24576889

Here's a movie of it in action.  It shows the logging to a Domino database at the end of the call.

Comments

Gravatar Image1 - Great post. I can think of uses and expanses already.

TTYL

Gravatar Image2 - The interacting with Twilio does require doing a post and use the response from Twilio as the status. You can even connect calls to different people. The system is based on the open source Asterisk software. I found using a Java agent worked best to be able to control the calls. It's the base of activism2go, a campaign manager system.

Gravatar Image3 - Carl - while not build a couple demo apps and put them on OpenNTF - that would be killer!

Gravatar Image4 - Nice video, I'm definitely going to blog about your example on the Twilio blog (blog.twilio.com)! If you email me at danielle@twilio.com I'd also love to send you a t-shirt to thank you for taking the time to contribute your thoughts and help out other Twilio developers.

Since you're just getting started with Twilio, it seems like a perfect time for you to enter into the contest we launched today. We're giving away a Netbook every week to the most creative application submission, and this weeks category is "Improving Customer Service".

More info at: { Link }

Cheers,
Danielle

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::rolleyes:;-)