ServiceNow and Twitter Integration: Mitigating Reputation Risk


Recently we received a request from a financial services customer to integrate ServiceNow with Twitter as part of an initiative to mitigate reputational risk by acting upon complaints and negative tweets posted on the famous online social networking service.

In order to accomplish this request we divided the work in two main focus areas. On one hand Twitter specific tasks, where we needed to investigate what capabilities Twitter provided for searching and providing the relevant data. On the other, we needed to design a framework in ServiceNow to only store relevant tweets and then trigger different actions based on their content.

The first step was clear, we needed to find out what the Twitter Search was capable of: The Twitter API delivers a REST web service that is accurate and fast regardless of how many parameters are passed to the search function. After the initial search it paginates the results, providing mechanisms to access the previous and next pages. All this information is provided through the JSON open standard which is compatible with JavaScript, which is perfect! The Twitter stage was complete, and thankfully all the search filtering and pagination would be provided by the external system.

We could now focus on the ServiceNow stage. Our first observation was that the Berlin release was a requisite in order to use the Web Services Outbound REST Message functionality, which is the enabler of our implementation. We then configured the REST Messages module to consume the information provided by the twitter search URI together with parameters that needed setting for the GET function.

We then created three modules within our Twitter Integration Application: Load Configuration, Loaded Messages and Words and Actions.

 

  • Load Configuration: In this module users are able to see which keywords ServiceNow is looking for in Twitter, and can define new keywords for future twitter searches. Hashtags and twitter users are valid keywords, i.e., #servicenow, @servicenow, etc. All this information is stored in a table called u_twitter_load_config
  • Loaded Messages: In this module users can see which messages were loaded from twitter into ServiceNow. This information is stored in a table called u_twitter_messages
  • Words and Actions: This was the trickiest one; it allows users to identify words that will trigger a specific action within ServiceNow. The actions we defined by default were to raise new incidents based on a negative comment and post these on the ServiceNow Social IT Live Feed. However other actions can be implemented as each one is represented by a new script include. All this information is saved in a table called u_twitter_words_and_actions.

 

The load process is configured via scheduled jobs, where a job will call the script include responsible for launching the twitter search that subsequently loads the results into the u_twitter_messages table. The search keywords are retrieved from the Load Configuration module (u_twitter_load_config), and each insert into the u_twitter_messages table executes a business rule that evaluates whether the tweet contains any words form the Words and Actions module.

So when one of the words is identified, the related action is triggered and the company then can keep track of all tweets and manage the risk properly!

If you would like to knowmore about GFT and ServiceNow, you can find additional information here.