Skip to content

SkillUp Operations Support Bot

An AI-powered support assistant that helps SkillUp Bootcamp team members (Program Officers, Trainers, and Site Assistants) navigate daily operations, safeguarding protocols, and training delivery through WhatsApp/SMS and Telegram messaging interfaces. The bot uses RAG (Retrieval-Augmented Generation) to provide accurate, context-aware guidance based on uploaded operational handbooks and documentation.

Purpose

No business context provided yet — add a context.md to enrich this documentation.

Based on the workflow configuration, this bot appears to serve the SkillUp Bootcamp program, which supports Out-of-School Youth (OoSY) in Kenya seeking entrepreneurial skills. The bot helps field staff with:

  • Daily bootcamp operations and procedures
  • Child protection and safeguarding protocols
  • Retention and activation strategies
  • Vendor and materials management
  • Team dynamics and professional conduct
  • Youth engagement and support

The bot embodies Educate!'s cultural values and maintains strict safeguarding standards while providing practical, actionable guidance to ensure program quality and participant safety.

How It Works

  1. Document Upload: Staff upload operational handbooks, procedures, and training materials via a web form (PDF/CSV files)
  2. Knowledge Processing: Documents are processed, split into chunks, and converted to embeddings using OpenAI
  3. Vector Storage: Document embeddings are stored in an in-memory vector database for quick retrieval
  4. Message Reception: The bot receives questions via WhatsApp/SMS (Twilio) or Telegram
  5. Context Retrieval: When a question arrives, the system searches the knowledge base for relevant information
  6. AI Response: An OpenAI GPT-4o-mini model generates contextual responses using the retrieved knowledge and specialized prompts
  7. Memory Management: Conversation history is maintained per user session (20-message window)
  8. Response Delivery: Answers are sent back through the same messaging channel

Workflow Diagram

graph TD
    A[Upload your file here] --> B[Insert Data to Store]
    B --> C[Default Data Loader]
    C --> D[Embeddings OpenAI]
    D --> E[Query Data Tool]

    F[Telegram Trigger] --> G[AI Agent]
    H[Twilio Trigger] --> G

    G --> I[Send a text message]
    G --> J[Send an SMS/MMS/WhatsApp message]

    K[OpenAI Chat Model] --> G
    L[Simple Memory] --> G
    E --> G

    D --> B
    D --> E

Trigger

This workflow has three triggers:

  1. Form Trigger: Web form for uploading documents (inactive/archived)
  2. Telegram Trigger: Receives messages from Telegram bot
  3. Twilio Trigger: Receives WhatsApp/SMS messages via Twilio webhook

Nodes Used

Node Type Purpose
Form Trigger Provides web interface for document uploads
Default Data Loader Processes uploaded binary files (PDF, CSV)
Embeddings OpenAI Converts documents to vector embeddings
Vector Store In Memory Stores and retrieves document embeddings
AI Agent Orchestrates the conversation flow and response generation
OpenAI Chat Model Generates responses using GPT-4o-mini
Simple Memory Maintains conversation context per user
Telegram Trigger Receives Telegram messages
Twilio Trigger Receives WhatsApp/SMS messages
Telegram Sends responses via Telegram
Twilio Sends responses via WhatsApp/SMS

External Services & Credentials Required

OpenAI

  • Purpose: Document embeddings and chat completions
  • Credential: OpenAI API key
  • Models Used: text-embedding-ada-002, gpt-4o-mini

Telegram

  • Purpose: Bot messaging interface
  • Credential: Telegram Bot Token
  • Setup: Create bot via @BotFather

Twilio

  • Purpose: WhatsApp/SMS messaging
  • Credential: Twilio Account SID and Auth Token
  • Setup: Configure webhook URL for inbound messages

Environment Variables

No specific environment variables are defined in this workflow. All configuration is handled through n8n credentials and node parameters.

Data Flow

Input

  • Documents: PDF and CSV files containing operational procedures, handbooks, and training materials
  • Messages: Text messages from staff via Telegram or WhatsApp/SMS asking operational questions

Processing

  • Documents are chunked, embedded, and stored in vector database
  • Incoming messages are matched against stored knowledge
  • AI agent generates responses using retrieved context and specialized prompts

Output

  • Responses: Contextual guidance and answers sent back through the same messaging channel
  • Format: Plain text messages with actionable advice, procedures, and escalation guidance

Error Handling

The workflow does not implement explicit error handling nodes. Error management relies on n8n's default behavior and individual node error handling capabilities.

Known Limitations

  • Memory Storage: Uses in-memory vector storage, which doesn't persist between workflow restarts
  • File Types: Limited to PDF and CSV uploads only
  • Archived Status: The workflow is currently archived and inactive
  • No Persistence: Document knowledge base needs to be rebuilt after system restarts
  • Single Session: Memory is maintained per chat ID but limited to 20 messages

No related workflows are specified in the current context.

Setup Instructions

  1. Import Workflow: Import the JSON into your n8n instance

  2. Configure Credentials:

    • Set up OpenAI API credentials with access to embeddings and chat models
    • Create Telegram bot and configure bot token
    • Set up Twilio account with WhatsApp/SMS capabilities
  3. Upload Knowledge Base:

    • Activate the workflow
    • Use the form trigger to upload operational handbooks and procedures
    • Ensure documents are in PDF or CSV format
  4. Configure Messaging:

    • Set up Telegram webhook URL in bot settings
    • Configure Twilio webhook to point to the Twilio Trigger endpoint
    • Test message flow with sample questions
  5. Customize AI Prompts:

    • Review and adjust the system prompt in the AI Agent node
    • Modify response style and escalation procedures as needed
    • Update knowledge base tool description if required
  6. Activate Workflow: Enable the workflow to start receiving and responding to messages

Note: The workflow is currently archived. You'll need to unarchive it before activation and testing.