This project builds RapidPro flows for the ParentText Crisis chatbot. It takes input from specific Google Sheets spreadsheets and produces RapidPro flow JSON files that are ready to upload to any RapidPro server.
The pipeline is intended to be run by triggering a Github Actions workflow or by running commands on the command line.
- Navigate to the page for the Produce RapidPro Flows action
- Click on the Run workflow button; a drop-down will appear
- Make sure Branch is set to main
- Click on the green Run workflow button
These steps need to be followed if you want to run the pipeline from the command line or develop the pipeline further.
- Clone or fork the repo to a local folder
- Install Python >= 3.8
- Create a Python virtual environment
python -m venv .venv
- Activate the environment:
- Linux:
source .venv/bin/activate
- Windows:
.venv/Scripts/activate
- Linux:
- Upgrade pip
pip install --upgrade pip
- Install project Python dependencies
pip install -r requirements.txt
- Install latest Node and NPM Long-Term Support (LTS) versions
- Install project Node dependencies
npm install
- Make sure you have a correct
credentials.json
file in the same directory as the cloned repo.
python -m parenttext_pipeline.cli pull_data compile_flows
The main script that contains the full process to produce RapidPro flows from the relevant Google Sheets. It reads configuration settings from the 'config.py' file, so any adjustments should be made in that file. That file contains information on what the various inputs mean. There is also an authoritative explanation of the available pipeline configuration settings in the repository for the general ParentText Pipeline.