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:
- Only known phone numbers can use keywords. To allow users to register themselves in the system, see Self Registration.
- Mobile worker phone numbers cannot trigger forms that depend on a case. There is no functionality to allow mobile workers to select a case.
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.
- Keyword: This is the word that the user will message to initiate the interaction. Keywords need to be unique within a project.
- Form: This is the form that will run for the user. If you select a form that depends on a case, it will only work for phone numbers associated that case type.
- Answer Method: There are two options here:
- One SMS Per Question: The user will be able to respond to one question at a time and will receive the next question after answering. This is how SMS surveys work for reminders.
- All Questions in One SMS: The user will be able to send a single SMS that answers all questions in the form. This is useful if the user knows all the questions and can easily answer them in a single line. See details below.
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:
- Custom Delimiter: This is useful if you want to use something else to separate each answer. For example, if you any of your answers have spaces, the default separator of a space will not make space.
- Named Answers: This allows users to skip questions or answer questions in a different order. This works by allowing the user to provide an identifier for each answer. Ex, they would send a message that looks like <keyword> a:<questiona> b:<questionb>
A summary of what a sample SMS will look like is shown at the bottom of the page.
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 "||".
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.