Multiple Profiles: A possible way to increase chatbot’s reach beyond one person per number
Akhilesh Negi
July 15, 2022

One WhatsApp + Multiple Profiles = Greater Impact!

Well, the equation seems simple and makes more sense as we go deeper into the impact of a chatbot and its reach to beneficiaries. Especially for NGOs working in sectors where mobile device availability is not common and thus the same device is shared among beneficiaries. How most chatbots work is that one phone number is treated as one individual contact. So when multiple users like two children in the same household try to use the chatbot, the NGO doesn’t know which individual is interacting with the bot and when.  Thus tracking and consolidating the information shared with the bot becomes difficult on an individual person level.

This is a similar problem we came across through our discussion with NGOs who have been using Glific to have two-way communication with their beneficiaries. Through our discussion with  The Apprentice Project (TAP), Key Education Foundation (KEF), and Antarang Foundation, we build our understanding of their use case and how we can incorporate functionality to handle multiple profiles in Glific. As in Layman’s terms message is sent from the organization’s number to the beneficiaries’ number in WhatsApp thus the ability to handle the profile must be added from Glific’s side. 

Use case Scenario

Before we began development work, we started with a common use case for multiple profiles feature in mind where NGO targets to complete the daily activity for each profile.  It involved five steps:

  1. A beneficiary can start their daily activity at their convenience
  2. Before beginning the activity they need to confirm details of the current profile 
  3. Once confirmed they can continue with the activity and complete
  4. When the second user starts the activity they can switch the profile and choose the profile they want to continue with
  5. Once the profile is switched they can begin the daily activity

In addition to the above scenario, two things we wanted to keep in check

  1. Keeping things simple for NGOs so they will be able to create flows where they can prompt beneficiaries to create or switch their profile
  2. Creating a seamless experience from the beneficiaries’ perspective while they interact with the bot

Development Journey

There were several core level changes that required more information at different levels, such as handling and maintaining profiles, unifying information at the profile level, and ensuring a smooth swapping of profile level information when switching profiles. One of the most significant changes was at the contact level, where before all information was saved in a single contact, but now each contact will have numerous profiles, and information gathered is relevant to only the current or active profile. Consequently, each contact will appear as

We added a new node called Manage profile with two choices to the flow level. Switch Profile allows you to change between profiles, while Create Profile creates a new profile for contact.

Create Profile: Create profile node fits perfectly with the registration flow where an NGO can add an additional node of the Manage Profile with Create Profile option chosen and once the profile is created successfully update all the information. Anytime a new profile is created, it is set as the active profile for the contact and the information will then be saved on the profile level.  Thus at a point, one contact can have multiple profiles but will have only one active profile where current information is saved

Switch Profile: Switching profile will be a two-step process:

  1. Showing the list of profiles to choose from: We added a new variable, @contact.list profiles, whose value is changed to the profile names with the index starting from one, in order to display a list of profiles for each contact in flow. As a result, the variable’s value varies according to the number of profiles for the contact in the flow.
  2. Switching to profile:  For switching the profile, add the Manage Profile node with the Switch Profile option chosen, this node takes one argument i.e. profile index, and switches to the profile with the index entered or gives an error and we can customize the error message.

What’s Next

As we have completed the first phase in development for incorporating multiple profiles in Glific, currently the feature is in the testing phase and we will keep on refining the feature as we move along.
We had a demo session where we invited The Apprentice Project (TAP), Key Education Foundation (KEF), and Antarang Foundation for their early thoughts and the next areas they would like us to be focusing on.

Check out here what they shared.

The areas we will be focusing on after hearing from them will be from the analytics perspective like:

  1. Tracking user activity based on profile
  2. Number of messages sent and received per profile
  3. Flows traversed per profile

Over the next few weeks, we will be working on this feature to refine it further for wider reach and greater impact!