Wow! what an incredible journey it had been. You start with a product and see it evolving over time helping more and more people with so many features. I have been working on Glific for quite some time now and I still remember the first project that I did with Arogya World. You can read more about the project in this blog.
Glific was feature packed at that time but still we had to make a large number of modifications to get the program going. A lot of code specific for the program. We developed scheduling hourly triggers for that project i.e. a user can schedule messages for a particular hour in a day.
It has been over a year and now I am working on the second bot for the project and this time I realized how much Glific has evolved over the past year. The same work that would have taken a week earlier was just done in a day. Starting with
Bulk Apply templates
Arogya worlds has 58 templates in 3 languages to be applied and earlier this was one of the biggest challenges that we faced. Applying them one by one copying from google sheets which also resulted in manual errors. Later in one we also realized there was a spelling mistake in the Kannada templates and had to reapply them. Quite a lot of pain.
This time it just took some time to create the sheet but after that it was applied within 10 minutes using that sheet.
Google sheet integration
Once this was done. We had to create a mapping in Glific for the day on which day a template needs to be sent. This was done earlier using code where we mapped each template with the day to be sent.
Now with google sheet integration it was incredibly easy. Just create a mapping of templates with a day in a sheet and load them in Glific using google sheet integration.
Now for the actual implementation part. Previously it was a static program that would start on a single day for everyone and that too in batches.
We were able to make it dynamic now, i.e., whenever someone opt-ins on the bot we start the program for that contact. There is no need for batches anymore.
This was done with the help of contact fields and checking the date of sending of the messages. When someone starts the program we set two contact fields
1. Message number
2. Next message date.
Then we run a daily trigger for all these contacts. If the current date matches the next message date we send the message with that message number and update both the message number and the next message date.
Once you understand how your program is going to be executed it is quite easy to think of the best way to create flows and special credit goes to Pankaj who always share the best and easy ways to see and tackle the problem
Now the final part comes in reporting where we had the option to create dynamic labels. This helped us to easily categorize data based on the labels and create reports in the best possible manner.
While developing these features you don’t actually realize how they are going to be used or even if they are going to be used. But when you work with the program team on the implementation you realize how much these features have easified creation of flows and launch the program.