CommConnect can also be set up to allow users (mobile workers or cases) to initiate interact with the system themselves.  For example, a mobile worker may want to register a new beneficiary or a beneficiary may need to request a service or report some information.

This type of functionality is can be setup through SMS Keywords.  A mobile worker or case  can message the keyword to a CommConnect phone number.  This will trigger a form to be run for the user.  Some caveats:

  1. Only known phone numbers can use keywords.  To allow users to register themselves in the system, see Self Registration
  2. Mobile worker phone numbers cannot trigger forms that depend on a case.  There is no functionality to allow mobile workers to select a case.

Keyword Setup

To setup the reminder, navigate to www.commcarehq.org/a/<yourprojectname>/reminders.  In the left side bar, select "Keywords", then click the "+Add Keyword" button.

When setting up a keyword, you need to specify the following:

Once you've specified the keyword and form, save the keyword. 

Set Up All Questions In One SMS (Structured SMS)

If the Answer Method is changed to All Questions In One SMS, users are able to send an SMS that looks like <keyword> <answer1> <answer2> <answer3> etc. The defaults assumes that the user provides answers to each question, separated by spaces.  This will work well for most situations.  However, there are additional options available:

A summary of what a sample SMS will look like is shown at the bottom of the page. 

Custom Delimiter

To setup a custom separation character, check the custom delimiter option and choose the characters you want to use to separate each answer. This could be a "," or "|" or even multiple characters like "||".  

Named Answers

To use named answers, check the named answer option.  You can then specify the name that the user enters, and the question (via xpath in the form) that it maps to.  For example, you may want to to map the name "a" to the question /data/age.  This is setup as shown.  It is also possible to add a character to join the name and the answer (ex. a ":").  This is also shown.