Skip to main content

Backend Architecture

ThreadConnect's backend is built on Twilio Serverless Functions for scalable, secure API operations.

Technology Stack​

  • Twilio Serverless - Serverless function platform
  • Node.js - JavaScript runtime
  • Twilio API - Communication platform APIs
  • Database Connectors - Multi-database support

Directory Structure​

serverless-functions/
├── src/
│ ├── functions/
│ │ ├── common/ # Shared utilities
│ │ └── features/ # Feature-specific functions
│ ├── assets/ # Static files
│ └── utils/ # Helper functions
├── .env # Environment variables
└── package.json

Feature Functions Pattern​

Each feature's serverless functions follow:

features/
└── [feature-name]/
├── studio/ # Studio Flow webhooks
├── flex/ # Flex API endpoints
└── common/ # Shared feature functions

Development​

Running Locally​

cd serverless-functions
npm install
npm start

Environment Configuration​

Required environment variables in .env:

ACCOUNT_SID=AC...
AUTH_TOKEN=...
TWILIO_FLEX_WORKSPACE_SID=WS...

Function Types​

Protected Functions​

Require Twilio signature validation:

// filename.protected.js
exports.handler = async function(context, event, callback) {
// Only accessible via Twilio webhooks
};

Public Functions​

Accessible without authentication:

// filename.js
exports.handler = async function(context, event, callback) {
// Accessible to any client
};

Deployment​

# Deploy to Twilio
npm run deploy

# Deploy specific environment
./deploy.sh [account-name]

For debugging and troubleshooting, see the Debugging Best Practices guide.