Make a Phone Call from CommCare

Through the Android Callout question type and some light custom XML, CommCare is able to prompt telephone calls during form entry.

1. Add an Android Callout question.

 

2. Select the "Custom" option under External App and enter ID android.intent.action.CALL

3. Open the "Edit Source XML" pane from the hamburger menu next to the app title:

4. Locate the <odkx:intent> definition block and add a "data" parameter containing the telephone number you want to call, preceded by tel:(this is to the Android specification)

<odkx:intent xmlns:odkx="http://opendatakit.org/xforms" id="call" class="android.intent.action.CALL" data="tel:1234567890" />


5. (Advanced) as of CommCare Android 2.42 you can use the output of another question as the telephone number to call. To do so, change the step from (4) slightly:

<odkx:intent xmlns:odkx="http://opendatakit.org/xforms" id="call" class="android.intent.action.CALL" data="cc:xpath_key:concat('tel:', /data/phone_number)" />

Where `cc:xpath_key:` is a key that tells CommCare to process the data as an XPath, while the `tel:` portion is explained above.