The Business Analyst Story
In my opinion, corporate Twitter accounts fall into two categories:
- Large company’s corporate Twitter account that is run by a team of millennials tweeting marketing jargon
- Small company’s Twitter account that one or two people have access to and Tweet every once in a while when they think about it (which is never)
Both of these scenarios make for Twitter accounts that are not interesting or meaningful to follow (of course with some exceptions). By no means do I consider myself a Twitter expert or even someone who loves the company, but I see its value. I stopped using Twitter a few years ago because I don’t want to hear marketing jargon from companies that I follow. I would rather read correspondence from the field; hearing what goes on in the day to day life and what matters to the people making an organization run. This is the problem Service Catalyst has recently been facing. How do we keep our Twitter account relevant, up to date, and allow all of our consultants to contribute to our social media presence without giving our Twitter accounts password to each person? This is a perfect service management puzzle! We need a process to manage our Wild West, and a technology to help manage it.
To solve the issue, Jon (our lead technical architect) and I put our heads together to figure out a solution. We needed to allow all of our employees to Tweet as Service Catalyst without compromising our account’s security. We also needed to allow our employees to easily Tweet on the move, as we are a very mobile, well-traveled workforce. We currently use ServiceNow to manage many of our internal activities (project tracking, time management, etc), so why not create a requested item in our service catalog that allows any employee to Tweet? First we would build a simple request form with a Tweet field (of course limited to 140 characters). Next, we would need a simple approval workflow. Once the employee submits their Tweet, someone from our marketing team would need to approve the Tweet, and then through the magic of technology (and Jon’s coding) it would Tweet as Service Catalyst. I’ll let Jon fill in the technical integration details of how this actually happened, but in a matter of a long afternoon, we had something up and running. The next step was to mobile-ize. We created a simple mobile app using ServiceNow’s mobile technology to allow anyone in our company to Request to Tweet.
Hopefully, this new process and simple solution will reinvigorate our Twitter presence and is a great example of how process and technology can be married to solve a simple issue. We can offer this simple solution to any of our customers who are facing similar issues with their corporate Twitter accounts. Here’s to making the Twittersphere a slightly more interesting place by allowing multiple people to Tweet with a corporate account, while still regulating the content!
The Developer Story
Tackling tough integrations is always a fun challenge for me and Twitter was one I had my eye on for quite some time. Twitter uses OAuth authentication much like many modern web applications. Up until the Fuji release of ServiceNow, OAuth was something you would need to build from scratch, since ServiceNow mostly supported Basic Authentication. With security being so important with modern cloud web applications ServiceNow added OAuth capabilities to the REST apis. When I first read that OAuth was a new platform capability my first thought was, lets integrate with Twitter. After looking into the documentation I found that this would not work. The issue is ServiceNow implemented OAuth 2.0 and Twitter uses OAuth 1.0a for requests on behalf of users. This is actually pretty common with most web applications, they tend to use OAuth 1.0a for App to App communication on behalf of a user.
Flash forward to the Helsinki release and Knowledge 16 prep. Being a small company our marketing department wanted a way to tweet while at Knowledge and schedule tweets while still following an approval process. We started talking over the design, approach and technology, but in the back of my mind I knew about the OAuth limitation. Though the Twitter integration was not in place for Knowledge 16, it will be ready for Knowledge 17.
To solve the OAuth issue, we built a OAuth 1.0a script include that follows the specification. This way we can use it for other OAuth applications that use the same authentication mechanism. We created a catalog item, which is mobile capable of course! (If you are not building things for mobile, you should be!) We built a Twitter client script include which handles all of the twitter specific API requirements and lastly connected all of those pieces.
I really love the ability to create for mobile while leveraging the platform capabilities. This allows for infinite flexibility and creativity and solving complex business problems.
Want more? Listen to our podcast on this topic here: https://www.service-catalyst.com/2016/09/episode-33-twitter-integration-and-servicenow/