Salesforce.com SMS Mashup Using the StrikeIron SMS Web Service

by Renat KhasanshynJuly 19, 2007
This article describes a mashup (a situational application) that won the StrikeIron Business Mashup contest.

Mashup background

Where did the StrikeIron Business Mashup Contest happen?

The StrikeIron Business Mashup contest occured during MashupCamp 4, which took place at July 18-19, 2007 in Mountain View, CA. More information is available at http://www.mashupcamp.com.

 
Can I see a demo of the mashup?

A live Mashup demo is available at the official mashup contest website. Please note that you have to be register (registration is free) in order to use/edit the mashup.

 

What does this mashup do?
Business objectiveIncrease ROI of CRM application implementation through adding an intelligent SMS notification service using Salesforce.com and StrikeIron SMS Web Service
AuthorsRenat Khasanshyn
ScenarioThe “Salesforce.com SMS Mashup Using StrikeIron SMS Web Service” mashup makes the job of Salesforce.com users easier. The mashup aggregates the following information from a Salesforce.com database:

a) Contact information (a name and mobile phone number)

b) The last order placed by a customer (the name of an Item purchased)

c) The length of time between the current date and the last order

The mashup displays aggregated information in a simple format, allowing a Salesforce.com user to send a personal SMS message to the appropriate Salesforce.com record.

Scenarios when such a mashup may be used to gain sagnificant return on its implementation include personal follow ups after a direct mail campaigns, reminders on events (store visits, webinars, conference calls), etc.

The mashup gives a Salesforce.com user relevant and current information about background information (what was ordered last, when did the last order occured), and makes it easy to send a personal note or reminder via SMS.
Mashup use
Salesforce.com is used to maintain a list of prospects and customers, as shown here:


The contact list for the campaign is extracted from Salesforce.com using Apatar Data Integration, automatically published in the form of an RSS feed https://www.altoros.com/blog/tag/data-integration/downloads/rss/salesforce_rss_2.rss at ApatarForge.org and displayed on a Salesforce.com-Apatar-StrikeIron Mashup IBM QEDWiki mashup web page for the salesperson to review and follow up with a customer using a built-in SMS capabilities powered by StrikeIron.

 

How can I create/assemble the same mashup?

  1. Create an RSS feed from aggregated Salesforce.com data.
    • Download Apatar Open Source ETL application
    • Sign up for Apatar account at ApatarForge.Org
    • Drag and drop Salesforce.com connector to Apatar Visual Job Designer, Login into Salesforce.com, select table “Contacts” (this will be repeated for table “Order History”
    • Drag and drop RSS connector to Apatar Visual Job Designer, select “Create a new feed”, link Salesforce.com and RSS connectors using “Transform” feature in Apatar, map the fields between Salesforce.com tables and RSS fields, enter ApatarForge username and password and click “Publish”. For more information, review Apatar Installation, Administration Guides and Online Demos https://www.altoros.com/blog/tag/data-integration/downloads.html (there is an online demo on how to use Apatar’s Salesforce.com connector, found at the bottom of Downloads page)

  2. Go to the IBM QEDWiki page, hosted at http://www.sitapps.net/qedcontest/, register, and login.
  3. Add and display a feed created at step #1 within the IBM QEDWiki:
    • Create a blank page
    • Find the “Feed” widget
    • Drag and drop the “Feed” widget”
    • Modify the feed display page to customize fields of the embedded RSS feed
  4. Find and drag and drop the “SMS” widget.
    • Sign up for StrikeIron Account at http://strikeiron.com/Register.aspx
    • Go back to an IBM QEDWiki page you created during Step 2, Find the “SMSListener” widget
    • Drag and drop the “SMSListener” widget to an IBM QEDWiki page you created during Step 2

Now users can send SMS messages to any contact displayed on the mashup page.

 
Resources used | The data sources

  • Salesforce.com’s Contact table
  • Salesforce.com’s Order History table
  • The Apatar Open Source ETL software (free download is available at www.apatar.com or from sourceforge.net)
  • An RSS feed from Salesforce.com tables generated by Apatar, automatically aggregated, refreshed every 10 minutes, and published at www.ApatarForge.org

 

What are the take-aways I could use?

General scenario observation

The biggest problems we encountered with trying to process data from more than one table in Salesforce.com and in configuring the Feed widget in IBM QEDWiki. Another limitation was RSS may be convenient and popular, but it is a very limiting technology because of the inflexibility and inability to handle more data than a title and description. For business applications, a protocol like Atom is much better suited for passing data because it is extensible. Unfortunately we ran into challenges with every tool we used when attempting to consume data via Atom instead of RSS.

 
Contest technology experience

The tools are all relatively new and we had difficulties with some of the rough edges with each of the products we were using. The biggest surprise was the inability of IBM QEDWiki to consume Atom feeds. It was easy to install and configure Apatar, however mapping the fields between Salesforce.com connector and RSS Connector within Apatar required some “trial and error” efforts. We were happy with our ability to produce a web-based application that combined data and display elements. Doing this type of work even a few years ago required much deeper skills in arcane areas. While ease-of-use is not up to par for end users, developers will definitely be more productive. We were able to build this mashup from start to finish with about 2 hours of work, including all of the data extraction (excluding time spent learning the tools).

 
Best practices used

1. Plan data contents before doing anything else, and source most of the data before starting to build a UI.
2. Keep the data feeds simple and discrete.
3. Have fun and never give up!

 

To learn more about the mashup, check out the official website of Mashup Camp, my blog post about the event, as well as StrikeIron’s announcement of Mashup Contest Results.

 

Further reading