# Environment Variables Configuration ## ๐Ÿ“‹ Required Environment Variables Copy these to your `.env` file and update the values: ```env # ============================================ # Database Configuration # ============================================ DB_HOST=localhost DB_PORT=3306 DB_NAME=centralized_reporting DB_USER=root DB_PASSWORD=your_password # ============================================ # JWT Configuration # ============================================ JWT_SECRET=your_jwt_secret_key_here_change_in_production JWT_EXPIRES_IN=1h # ============================================ # Redis Configuration (for session storage) # ============================================ REDIS_HOST=localhost REDIS_PORT=6379 # ============================================ # Server Configuration # ============================================ PORT=3000 NODE_ENV=development API_PREFIX=/api/v1 # ============================================ # n8n Webhook Configuration # ============================================ # Base URL of your n8n instance (without trailing slash) N8N_WEBHOOK_URL=https://workflows.tech4bizsolutions.com # Webhook path (the part between base URL and webhook ID) # Default: 'webhook' for http://localhost:5678/webhook/ID # Custom: 'webhook-test' for https://workflows.tech4bizsolutions.com/webhook-test/ID N8N_WEBHOOK_PATH=webhook-test # Your n8n workflow webhook ID N8N_WEBHOOK_ID=04e677f5-ec57-4772-bf12-96f2610d4b9c # ============================================ # OAuth - Zoho # ============================================ ZOHO_CLIENT_ID=your_zoho_client_id ZOHO_CLIENT_SECRET=your_zoho_client_secret ZOHO_REDIRECT_URI=centralizedreportingsystem://oauth/callback # ============================================ # OAuth - Salesforce # ============================================ SALESFORCE_CLIENT_ID=your_salesforce_client_id SALESFORCE_CLIENT_SECRET=your_salesforce_client_secret SALESFORCE_REDIRECT_URI=centralizedreportingsystem://oauth/callback # For production: https://login.salesforce.com # For sandbox: https://test.salesforce.com SALESFORCE_INSTANCE_URL=https://login.salesforce.com # ============================================ # OAuth - HubSpot # ============================================ HUBSPOT_CLIENT_ID=your_hubspot_client_id HUBSPOT_CLIENT_SECRET=your_hubspot_client_secret HUBSPOT_REDIRECT_URI=centralizedreportingsystem://oauth/callback # ============================================ # Encryption # ============================================ ENCRYPTION_KEY=changeme ``` --- ## ๐Ÿ”ง n8n Webhook URL Configuration ### Your Configuration Based on your webhook URL: `https://workflows.tech4bizsolutions.com/webhook-test/04e677f5-ec57-4772-bf12-96f2610d4b9c` ```env N8N_WEBHOOK_URL=https://workflows.tech4bizsolutions.com N8N_WEBHOOK_PATH=webhook-test N8N_WEBHOOK_ID=04e677f5-ec57-4772-bf12-96f2610d4b9c ``` **This will construct the webhook URL as:** ``` https://workflows.tech4bizsolutions.com/webhook-test/04e677f5-ec57-4772-bf12-96f2610d4b9c ``` ### Default Configuration (Local n8n) For local n8n instance: ```env N8N_WEBHOOK_URL=http://localhost:5678 N8N_WEBHOOK_PATH=webhook N8N_WEBHOOK_ID=04e677f5-ec57-4772-bf12-96f2610d4b9c ``` **This will construct:** ``` http://localhost:5678/webhook/04e677f5-ec57-4772-bf12-96f2610d4b9c ``` --- ## ๐Ÿ“ Variable Descriptions ### n8n Webhook Variables | Variable | Description | Example | Required | |----------|-------------|---------|----------| | `N8N_WEBHOOK_URL` | Base URL of n8n instance (no trailing slash) | `https://workflows.tech4bizsolutions.com` | Yes | | `N8N_WEBHOOK_PATH` | Path segment between base URL and webhook ID | `webhook-test` | Yes | | `N8N_WEBHOOK_ID` | Unique webhook identifier from n8n workflow | `04e677f5-ec57-4772-bf12-96f2610d4b9c` | Yes | ### How It Works The client constructs the full webhook URL like this: ```javascript const url = `${baseUrl}/${webhookPath}/${webhookId}`; // Result: https://workflows.tech4bizsolutions.com/webhook-test/04e677f5-ec57-4772-bf12-96f2610d4b9c ``` --- ## ๐Ÿ” Security Notes ### Production Environment For production, make sure to: 1. **Use Strong JWT Secret** ```env JWT_SECRET=use_a_long_random_string_here_min_32_chars ``` 2. **Use Strong Encryption Key** ```env ENCRYPTION_KEY=use_a_different_long_random_string ``` 3. **Use HTTPS for n8n** ```env N8N_WEBHOOK_URL=https://workflows.tech4bizsolutions.com ``` 4. **Secure Database Credentials** - Use strong passwords - Limit database user permissions - Use environment-specific credentials ### Development Environment For development, you can use simpler values: ```env JWT_SECRET=dev_secret_key ENCRYPTION_KEY=changeme N8N_WEBHOOK_URL=http://localhost:5678 ``` --- ## ๐Ÿงช Testing Configuration To verify your n8n webhook configuration: ```bash # Test the webhook URL curl -X POST https://workflows.tech4bizsolutions.com/webhook-test/04e677f5-ec57-4772-bf12-96f2610d4b9c \ -H "Content-Type: application/json" \ -d '{ "body": { "provider": "zoho", "service": "crm", "module": "leads", "acces_token": "test_token" }, "query": { "per_page": 100, "page": 1 } }' ``` **Expected Response:** - Should return data from n8n workflow - Check n8n workflow execution logs --- ## ๐Ÿ“ฆ Required Services ### 1. MySQL Database ```bash # Check if MySQL is running mysql -u root -p # Create database CREATE DATABASE centralized_reporting; ``` ### 2. Redis (Optional but recommended) ```bash # Check if Redis is running redis-cli ping # Should return: PONG ``` ### 3. n8n Workflow - n8n instance must be running at the configured URL - Workflow must be activated - Webhook must be accessible --- ## ๐Ÿ”„ Multiple Environments ### Development (.env.development) ```env N8N_WEBHOOK_URL=http://localhost:5678 N8N_WEBHOOK_PATH=webhook NODE_ENV=development ``` ### Staging (.env.staging) ```env N8N_WEBHOOK_URL=https://workflows-staging.tech4bizsolutions.com N8N_WEBHOOK_PATH=webhook-test NODE_ENV=staging ``` ### Production (.env.production) ```env N8N_WEBHOOK_URL=https://workflows.tech4bizsolutions.com N8N_WEBHOOK_PATH=webhook-test NODE_ENV=production ``` --- ## โœ… Quick Setup Checklist - [ ] Copy `.env.example` to `.env` - [ ] Update database credentials - [ ] Set strong JWT secret - [ ] Set strong encryption key - [ ] Configure n8n webhook URL - [ ] Add OAuth credentials (Zoho, Salesforce) - [ ] Verify Redis connection - [ ] Test n8n webhook accessibility - [ ] Run database migrations - [ ] Start the server - [ ] Test API endpoints --- ## ๐Ÿ†˜ Troubleshooting ### "Cannot connect to n8n webhook" - Verify `N8N_WEBHOOK_URL` is correct - Check if n8n instance is running - Verify `N8N_WEBHOOK_PATH` matches your n8n configuration - Test webhook URL manually with curl ### "Database connection failed" - Check `DB_HOST`, `DB_PORT`, `DB_NAME` - Verify database user credentials - Ensure MySQL service is running ### "Redis connection failed" - Check `REDIS_HOST` and `REDIS_PORT` - Verify Redis service is running - Redis is optional for basic functionality --- **Last Updated**: October 9, 2025 **Version**: 1.0.0