The Keyword Parser : by Saturday Art Class


SEPTEMBER 11, 2023


This article is for you if you have the need to work with multiple partners and use keywords to start similar but customised flows for each of them. It also contains some learnings around how to simplify registration flows and reduce data errors.


At Saturday Art Class, our mission is driven to provide sustained access to visual art and social – emotional learning to all children and educators within the education ecosystem. We do so by partnering with education organisations, other nonprofits and schools for our flagship programs. We have a visual arts and social-emotional learning -based curriculum designed for children from ages 6-14; and we capacitate academic educators by providing them training in visual arts and social-emotional learning.We use the bot to disseminate our art class plans and resources to our educators. Subsequently, we gather artworks made by the children and feedback from the educators through the chatbot. 

Our target this year is to work with 600 educators. Currently, we have about 20 odd partner non-profits, each with multiple schools they are affiliated with. Each school has multiple educators or few, who sign up for our “Art for Educator” program and report after every art class is facilitated in their classroom. We onboard our educators on the bot as part of their training Each educator has to register – there were 7 questions which were part of our registration flow

1.     Name of the educator

2.     Name of the organisation

3.      City

4.      Language

5.      Grades they teach

6.      Approx number of students in their classroom. 

We wanted to reduce the friction of registration for these educators, who were onboarded during our training session. This process also took a time investment of 20-25 minutes during our training sessions. Common errors were we had teachers who chose the wrong grade or city. Teachers have misspelt their names also. This was a trend in our first few training sessions. This type of error also used to cause panic as the only solution we knew was to terminate and restart their flow.  We had to repeat each instruction which would also take our time. Also, some teachers would go ahead and start their registration before our instruction. This would also cause errors in registration. We had to invest time post the registration to fix errors. Based on that experience, We wanted to reduce errors in data they submitted during this registration process.

Options for Solutions:

  1. Our first solution in the registration flow was to ask for confirmation after every response to make sure that there are no errors. While this improved data quality, it also increased the number of clicks our educators had to do. This eventually took more time as well. 
  2. We were pulling data from bigquery to check for errors and fix them. We linked the data to google sheets using the excellent guide. While this saved time of pulling data, we still had to manually check for errors.
  3. We tried using keywords to set default organisation, language and city based on the keyword typed in our registration flows. This reduced the errors, and allowed us to do just 1 confirmation at the very end of the registration flow. It made the user experience easy. When we did this, the flow became quite a handful to maintain and modify and meant that we had to give users an easy way to update their user profile. More on this in another article.

Our final Solution: The Keyword Parser

With our mentor Gautham from Glific, we tried a very different approach to modular flows. Our mentor supported us in ideating on best possible ways to keep the user experience in mind while also ensuring that we are able to obtain all the necessary information that we require as part of the registration process without errors or friction. We created a flow with a single function – to handle keywords, set defaults and start the registration flow as a child flow. It meant that we had functionally separated flows. The keyword parser is quite lean when it comes to itself.

  • Any keyword entered is stored in a contact profile variable called keyword (@results.flow_keyword.input)
  • User is opted in
  • Split based on keyword, default values like Organisation name, City and Language are set into respective contact profile variables.
  • Users are added into respective collections.
  • The registration flow is then called and it uses these contact profile variables to ensure an easy and simple user registration flow.

Here is a screenshot of a sample flow, which will help you visualise how we designed the flow-

It is now easy and convenient to replicate flows for every organisation we partner with as the Keyword parser flow handles only taking in keywords and setting default values. This streamlined registration process also allowed us to directly write user inputs to google sheets with the least number of errors. Overall, this process has significantly minimised our need for manual checks that were previously needed. We have saved 10 minutes in training – this is almost 50% of the time, which we feel is significant.

If you are ever in need to have multiple keywords to start a single flow, or multiple keywords to trigger different flows based on conditions and want to use this to set the context for the flow to work with, do think of a Keyword Parser flow! Reach out for any questions-,,


Team Saturday Art Class.

Leave a Reply

%d bloggers like this: