GSOC 2021: Integrate Spoke Peer-to-Peer texting with CiviCRM

2021-08-23 04:22
Written by
asha - member of the CiviCRM community - view blog guidelines

Hi everyone! Thank you for visiting the blog post. I’m Asha Sulaiman from Sri Lanka. I’m a final year undergraduate at University of Moratuwa following the Information Technology and Management degree programme. I’m a student developer at CiviCRM working on the project integrating Spoke Peer-to-Peer Texting tool with CiviCRM.

Spoke is an open source, peer to peer Short Message Service (SMS) tool where you can send text messages to a number of your organization members or campaign supporters easily. Below are some of the features provide by Spoke:

I. Multiple Custom Responses for Campaigns

II. Texter Custom Canned Responses

III. Dynamic Assignment for Texters

IV. Script editing for live campaigns

V. Action Kit Integration

The project aims to develop CiviCRM contact loader and action handlers to integrate Spoke with CiviCRM. The following features were developed by me during the GSoC program:

1. Improving CiviCRM contact loader

The Australian Greens has already developed a contact loader to import contacts from CiviCRM but it requires external dependencies that cannot always be installed with every Spoke installation. My task was to rewrite it without using the CiviCRM node package.

Link to the CiviCRM contact loader: 

2. Do Not SMS Action handler

If a person requests not to receive further SMS during the conversations, it can be recorded in the CiviCRM database using this action handler as a respect to their preference.

3. Wrong Number Action handler

If a person says the phone number you’ve sent a SMS to is incorrect, then that number can have its location type in the CiviCRM database changed to “Wrong Number” using this action handler.

Merge Request for Do Not SMS and Wrong Number action handler: 

4. Documentation

Further work to be done:

  • Create CiviCRM Tag Action Handler 
  • Create CiviCRM Add-to-Group Action Handler
  • Create Event Registration Action Handler

I would like to take this opportunity to express my gratitude to my mentors Joe McLaughlin, John Twyman, Seamus Lee and Pradeep Kumar Nayak for their constant support and guidance. Also I would like to thank Schuyler Duveen, the lead developer and maintainer of Spoke for being so helpful on this journey.  If you have any suggestions or need assistance with integration feel free to contact me directly on

Filed under