Messaging can also be set up to allow users (mobile workers or cases) to initiate interact with the system themselves. This functionality can be setup through SMS Keywords.
A mobile worker or case can message the keyword to an HQ phone number. This will trigger a form to be run for the user.
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.
- Only known phone numbers can use keywords. To allow users to register themselves in the system, see SMS Self Registration.
- If a Mobile worker sends in a keyword to initiate a form that normally requires the user to first select a case from the case list, then they will also need to provide the external ID for that case.
For example, if you have keyword "edit" tied to a form that updates a case, the mobile worker will need to send in "edit <external_id>", where <external_id> is the external_id case property of the case they wish to open the form for. This is true for both normal keywords and structured SMS.
Start Keyword Setup
To setup the keyword, choose the Messaging tab, then In the left side bar, select "Keywords". Click the "+Add Keyword" button.
Keyword: SMS Response
- Keyword: This is the word that the user will message to initiate the interaction. Keywords need to be unique within a project.
- Description: A description for the keyword does.
Respond to Sender
- Send: This controls what is sent to the person sending the keyword (a simple message or an SMS survey)
- Survey or Message: The survey or message to send
Notify Another Person:
This will let you notify another contact when someone sends a message to the keyword.
- Recipient: The person to send the message to, a mobile worker group or the case's owner if the message was sent by a case.
- Send: This controls whether to send the person an SMS message or a survey.
- Survey or Message: The survey or message to send.
Restrict Keyword Initiation: Restrict the type of contact who can use this keyword. Use 'Case Only' if you want to escalate messages to the Case Owner.
Once you've specified the keyword and form, save the keyword.
Keyword: SMS Survey
- Override Open Surveys: Sending in this word will override any existing surveys that the user is currently filling out and trigger this keyword.
- SMS Surveys can have conditional triggers, for example send a satisfaction survey after a clinic visit.
- By creating a keyword, you can simulate that condition, and test an SMS Survey in a reliable way.
Keyword: Structured SMS with Custom Delimiter
If the you choose Structured Keyword, if you want to send in all of your SMS questions at once.
The 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.
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 "||".
This example below uses a period (.) as a custom delimiter.
- Custom Delimiter: This is useful if you want to use something else to separate each answer. For example, if any of your answers have spaces, the default separator of a space will not make space.
Keyword: Structured SMS with Named Answers
Named Answers allow users to skip questions or answer questions in a different order. This works by allowing the user to provide an identifier for each answer.
To use named answers, check the named answer option.
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 map two properties
- /data/name to "name"
- /data/household_size to "members"
By adding a joining character, the name and the value are paired together. The joining character in this example is a semi colon : .
As you build your Named Answers set-up, look at the Example Structured Message to understand how the message should look.
Both of these examples are valid options
- visit name:123 members:456
- visit members:456 name:123