RapidPro spike

This page contains findings from RapidPro research that was done in order to use it as a tool for dealing with sending notification via SMS and dealing with customizable messages. The findings are based on TextIt which is one of the RapidPro providers.

Pros

  • TextIt is easy to configure, I didn't try launching RapidPro locally though.
  • It can be used through the REST API for sending messages once it is configured.
  • Message customization is available and can use custom parameters.

Cons

  • Adds a cost of 1.4 to 2.0¢ per message send on top of the SMS service (Nexmo, Twilio) when a provider is used (like TextIt). However, it can be hosted for free, but it is discouraged (https://rapidpro.github.io/rapidpro/docs/hosting/).
  • Requires additional service for sending SMS like Nexmo or Twilio
  • Message customization felt like hacking rather than using the tool as intended. The way it was achieved was to create a flow with only a single message (flows are designed to gather data through the communication channel rather than sending no-response messages). This way I was able to send a message using the flow-start endpoint and pass some custom parameters with that would then be embedded into the message.
  • Message customization can only be done using the TextIt UI, there is no endpoint for doing that (or it is not documented). So we wouldn't be able to incorporate that intro the OpenLMIS UI.

Conclusion

In my opinion, the tool feels like a bit of an overkill for our requirements. It is designed for some other use cases like gathering data from the users through the SMS, not simply notifying them which means that most of its features wouldn't be used by OpenLMIS (like campaigns, interactive flows etc.). The feature we would use, however, wouldn't be used in the way they were designed to be used.

OpenLMIS: the global initiative for powerful LMIS software