Omnichannel for Customer Service – Twitter

Microsoft’s Omnichannel for Customer Service allows us to communicate with customers on many channels, in this post I will review how to configure the ability to converse with customers using Twitter.

I guess I don’t really need to explain how popular Twitter is …. Twitter averages 330 million monthly active users every month, with 500 million tweets being sent every day! With statistics like these using Twitter to converse with customers seems like a no brainer. Yet many companies I visit still don’t routinely use Twitter, so maybe it is time for some of them to implement Microsoft’s Omnichannel for Customer Service app.

Below you can see that within Omnichannel for Customer Service my agent has had a request to commence a conversation from Twitter. If you are familiar with Microsoft’s Omnichannel web chat then you’ll quickly realise that “talking” on Twitter is really no different to chatting on other channels. You get all the same agent productivity aids like sentiment analysis, agent scripts etc. The customer simply sends a direct message in Twitter and it will be routed to the next available agent.

Once the conversation has started the agent can chat with the customer via Twitter in the familiar manner. The only real limitation I could see was that I couldn’t exchange images with my customer, maybe that capability will come in a later release. (This is a pretty new feature!)

So using Twitter is really simple! But how can we configure Twitter to work with Dynamics 365 and Omnichannel for Customer Service?? In the rest of this post I will focus on how to create a Twitter App and connect it with Omnichannel.

This was the first Twitter app I’d created, it was a pretty simply process. I just used the free approach! This was ideal to get me started but you might need to explore Twitter’s premium options for anything more serious.

In these notes, I’ll assume you’ll also be creating your first Twitter app. So, you will need to follow all of the following steps to setup Twitter and Omnichannel. (If you already have a Twitter developer account you can skip some steps.)

  1. Create a Twitter account
  2. Set your privacy settings
  3. Apply for a developer account
  4. Create a Twitter App
  5. Set up dev environment
  6. Set up Omnichannel workstream
  7. Set up Twitter Channel in Omnichannel
  8. Add Twitter handles in Omnichannel

Note: I am assuming you have already installed Omnichannel for Customer Service and installed the social channels option.

Step One – Create a Twitter account

Like the other millions of users out there …. I guess I could assume you have a Twitter account already! But you may wish to create a new account for testing purposes.

In my example I created a new account simply to support my tests. (Please don’t tweet @NPDynamicsLtd …. I won’t answer!!)

I do have one tip ….. make sure you send a test direct message from / to your new Twitter account before configuring Omnichannel. As my account didn’t work with Omnichannel until I’d actually sent some messages!

Step Two – Set your privacy settings

Even though you may be using an existing Twitter account, before proceeding you might need to check your privacy settings. As you will want to allow direct messages from anyone.

And also prevent read receipts. You don’t want your agents to get a receipt message every time a customer reads a message they sent. That could get very annoying very quickly!!

Below you can see that I have opened my privacy settings and enabled the option to “Receive messages from anyone” and also disabled the “Show read receipts” option.

Step Three – Apply for developer account

Next I needed to create a Twitter developer account. That process involved more steps than I expected, it seems Twitter does want to know why you are creating apps.

To begin the process login into you twitter account and navigate to

Simply click the “Apply for a developer account” button to start the process. You’ll begin by entering the primary purpose of your use of the Twitter API. You can see below that I said I was a hobbyist. As I was simply creating an app for testing purposes.

Next you will be asked to confirm this is you. It was me so I clicked next!

One tip:
Before starting this process verify a phone number against your Twitter account. As the verification process does require you to have a verified phone number.

Now you will be asked to complete loads of information about your use of the Twitter API. Notice that you must enter at least 200 characters, so they are looking for a proper description here not just a few bullets. You also need to state what functionality you plan to use, as I just wanted to test direct messages to Omnichannel I only selected that option.

Once I’d completed my detailed descriptions I clicked next.

Having checked all my details I submitted my application which involves accepting the developer agreement.

Finally I received confirmation that I’d completed my application. At this point it then sends you an email, only after you have confirmed your email can Twitter review your application.

Having confirmed my email I expected to wait whilst my application was reviewed. But actually this must have been an automated process as almost immediately my application was accepted.

I was now ready to create my first Twitter app.

Step Four – Create a Twitter App

Obviously initially I had no applications, so I needed to created one. To start the process just click “Create an app” from the Twitter developer portal.

To create your app, give it’s a name and description.

Y0ou will also need to enter a link to a website url and give the app a description.

Once you’ve configured Twitter in Omnichannel you’ll need to edit the settings on this screen to include a call back URL. But for now leave that blank.

After you have clicked “Create”, use the “Keys and tokens” tab to access the API key and APD secret. Copy these! You will need them later whilst setting up Omnichannel!

Step Five – Set up Dev Environment

Now you have a Twitter app, you’ll need to create a development environment and link that to you application. Below you can see that I opened the menu under my username and selected “Dev environments”.

Click “Set up dev environment” on the “Account Activity API / Sandbox” option. Next you’ll give you environment a name and select your app. Make a note of your environment name, you will need it later.

Below you can see that my environment has been created and is ready to use.

Step Six – Set up Omnichannel work stream

I will create the channel for Twitter in a second but before doing that it is probably easiest to check you have a Twitter work stream. Or create one if required. I say this as when creating your Twitter channels you will link to a work stream and it will need to already exist when you reach that stage in the process. Hence why I like to create my work streams first.

Below you can see that I opened my Omnichannel Administration app and created a Twitter work stream. The channel is work stream and I opted for a capacity of 30 for each incoming message.

Next I created a very simple routing rule, as this was just a test!

You can see that my routing rule was about as simple as it could be. I have no conditions, so all Tweets will apply. And I routed all Tweets to my default queue.

In a real world scenario, I might only want to route to a queue that contains agents who routinely handle Tweets. Also I might need multiple rules that are conditional. Below you can see that with in the conditions I could opt to add conditions on various attributes specific to Twitter. For example, I could route customers with large numbers of followers on Twitter differently to people with less social media influence!

Step Seven – Set up Twitter Channel in Omnichannel

Having created my work stream I next used the channels option in the Omnichannel Administration app to create my Twitter channel.

I entered the API key and API secret that I copies when I created my Twitter app.

I also entered the name of my Twitter dev environment.

After saving the Twitter channel details a callback url will be generated. Copy this you’ll need it in the next step.!

Below you can see that I have returned to my Twitter developer portal and entered the call back URL into my application.

Step Eight – Add Twitter handles in Omnichannel

Next I need to create a Twitter handle in my Twitter channel within Omnichannel. So use the “New Twitter handle” option within the Twitter handles section of the form.

Firstly enter a name, this isn’t your Twitter hanle name. It is a name that references your handle.

At this point you can also select your work stream.

You will now click the sign in to Twitter button.

A popup will display allowing you to authenticate your Twitter account with Omnichannel for Customer Service.

Tip: If this dialog doesn’t show double check that your browser hasn’t stopped the popup.

Once your authentication with Twitter has completed successfully the Twitter handle field will be automatically populated for you. (As shown below.)

You are now ready to test that Twitter and Omnichannel are connected. Send a direct message to you Twitter handle from another Twitter account and hopefully it will work as expected.

For me I found I had some delay / issues in being able to authenticate with Twitter account initially. These seemed to be because my Twitter account was new. As soon I sent some messages to / from that account it started to operate as expected. So all in all I found setting up Twitter as a channel to be a pretty simple process. Enjoy. 

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s