Win $20,000. Help build the future of education. Answer the Call for Code. Learn more

IBM Developer Blog

Follow the latest happenings with IBM Developer and stay in the know.

The Social Campaign Manager is not just another bot

Surveys, surveys, and more surveys

Most people have been presented with a 20+ question with 5 optional answers per question survey at one time or another. The applications used to create these surveys typically provide the same functions, and they produce what amounts to a digital representation of a paper-based survey shared in an email. Presenting 100+ radial buttons to incentivize participants to share valuable feedback is not ideal, is it?

Assuming that enough people do respond to these surveys, they are typically sufficient to collect quantitative statistics. However, they don’t probe for context, intent, or the emotion behind the participants responses. They don’t solicit feedback in the way we naturally would if we were able to chat with the participant directly.

For example, if you are in a personal conversation with a friend or family member, would you ask:

“On a scale of 1-5, how would you rate the meal you had last night, with 1 being very dissatisfied and 5 being very satisfied?”

Probably not. You’re more likely to simply ask “How was dinner?” The way we survey people and gather feedback using surveys is completely different than how we discuss and chat in the “real world.” Taking this analogy one step further, say your friend answered “No!” Would you follow up by launching into a series of multiple-choice questions:

  • “How would rate the service between 1 – 5?”
  • “How fresh was the food between 1 – 5?”
  • “How was the available selection between 1 – 5?”

Of course not, you’d most likely say:

“That’s too bad, what did you not like about it?”

There’s a need to combine the quantitative insights of traditional surveys with the qualitative insights more frequently associated with conversational approaches. To this end, the IBM® Ireland Innovation Exchange has completed a project to see how we can use artificial intelligence, Watson™ services, and IBM Cloud to create a chat-based survey. The result of this project is a prototype application named the Social Campaign Manager (SCM). Recently, we deployed SCM behind the Twitter account and asked our followers to share an update on their experience of being together at home. See what they had to say.

The following video explains how to use the Social Campaign Manager.

The Social Campaign Manager is not just another bot

The prototype Social Campaign Manager allows non-technical users to use Watson Assistant to develop social campaigns that include yes/no, multiple choice, and most importantly, free-form questions. After the campaign owner has structured the conversational flow of the questions they want to ask, they can publish the campaign to Twitter, behind a Slack workspace, or provide a direct messaging capability to their target audience. To publish in this context means that a conversational survey is created and invitations to participate are sent through Twitter, email, or alerts within a chat service as an invitation to engage in a conversation. As an alternative, a link to a generic chat window is created. In our on Twitter example, we sent a tweet and conducted the survey inside the Twitter direct messaging capability. The campaign structures the conversation using yes/no questions, for example, “Are you relying more on technology during the COVID-19 Pandemic?” Depending on how the user responds to these binary or multiple choice questions, we can then probe for further insights, for example, “What makes you feel hopeful about the future?” From here, the user can tell their own story.

As the parallel conversations are managed by Watson Assistant, information is being gathered and added to a dashboard presented to the campaign owner, for example, IBM in our use case. In the dashboard, graphs and pie charts are used to represent statistical information and word clouds. Sentiment analysis tools are used to try to understand the meaning behind participants’ answers. The dashboard will also show if someone gave an answer to one of the questions that was not expected, for example, to a multiple choice question. This allows the campaign owner to identify if participants are understanding the questions or if editing is required. At any time, the owner can amend and republish the campaign. This is why we call these questionnaires and surveys campaigns, that is, they are not disposable yes/no surveys. They are conversational information gathering sessions that can be launched, updated, amended, and be repeatedly deployed to gather new insights.

Use cases for SCM

With SCM, multiple campaigns can be written, launched, and managed in parallel. For illustrative purposes, the following list shows example test campaigns that we created that showcase different use cases of the SCM.

Use case
A company wants to engage its social media following during COVID-19 restrictions and check on how they are doing. #TogetherAtHome
A front-line service or company wants to reach its employees, assess their needs, and give them a voice. #Heroes
A company is only as strong as its team. We want to capture your feedback and give you a voice on how we can unite to get it done! #UniteToGetItDone
Watch the debate on TV. Our hosts will be capturing your feedback and sentiment LIVE during the debate using SCM, directing the interview in line with live reaction to the debate. #LiveDebateSentiment
We want to be your financial partner of choice. We want to hear what you want and need from your bank, so let’s talk! #YourBank

Why is this valuable for developers

Developers can use the prototype SCM as something to build from, focusing on hardening, scale, performance, and security in their application of the existing tool. Developers can use the SCM as a plug-in to a broader system, using it to add contextual information to other use cases and databases.

Alternatively, developers can take the pieces of the SCM that they like the most and use those to build a new application with similar workflows. SCM is API-driven, and we have gone to great lengths to document how it works and what each component does.

What developers can do with the SCM tool

Overview diagram

  • Create Watson-powered chatbots through a simple-to-understand reusable UI.
  • Use a prototype API and framework for integrating with social media to gather the public’s opinions and be represented on a results dashboard.
  • The SCM application comes with a fully functional AngularJS front end, guiding the user through the social media campaign creation process. Questionnaires can be as simple as you want them to be and as complicated as you need them to be.
  • Use SCM to onboard to IBM Cloud, and learn how to use Watson Services by implementing a real-life example of using chatbots, Watson Assistant, and Watson Natural Language Understanding APIs.
  • Master the application using provided APIs. See aggregated results or show each type of response, be it tweets or direct messaging responses.
  • The NodeJS application runs an Express API server, which can be easily expanded to support more features.
  • Learn how to use web sockets in a real-life scenario through a direct chat messaging system.

Watch the following video to learn how to deploy SCM.

Open source code

A version of the Social Campaign Manager has been contributed to open source, and all of the code is on GitHub. Take a moment to think how you can use the existing code to tackle issues in a novel way.


This project received funding as part of the MiDAS project under the EC Horizon 2020 SC1-PMF-18 Big Data Supporting Public Health Policies.

Grant Agreement No. 727721