| metadata | {"openclaw":{"requires":{"env":["ELEVENLABS_API_KEY","ELEVENLABS_AGENT_ID","OPENCLAW_API_BASE_URL","PUBLIC_BASE_URL","ADMIN_API_KEY"],"bins":["python3","pip","uvicorn"]},"primaryEnv":"ELEVENLABS_API_KEY","envVars":[{"name":"ELEVENLABS_API_KEY","required":true,"description":"Scoped ElevenLabs API key for agent access."},{"name":"ELEVENLABS_AGENT_ID","required":true,"description":"ElevenLabs Conversational AI Agent ID."},{"name":"OPENCLAW_API_BASE_URL","required":true,"description":"Base URL of your OpenClaw instance (HTTPS)."},{"name":"PUBLIC_BASE_URL","required":true,"description":"Publicly reachable URL of this bridge service."},{"name":"ADMIN_API_KEY","required":true,"description":"Secret key for admin endpoint authentication (Bearer token)."},{"name":"WEBHOOK_SECRET","required":true,"description":"Shared secret for webhook HMAC verification. Must be set in production."},{"name":"PHONE_HASH_SALT","required":true,"description":"Salt for HMAC-SHA256 phone number hashing. Generate with openssl rand -base64 32."},{"name":"DATA_ENCRYPTION_KEY","required":false,"description":"Fernet key for encrypting memories and notes at rest. When unset, data is stored as plain JSON."},{"name":"SOUL_TEMPLATE_PATH","required":false,"description":"Path to personality template file (default ./soul_template.md)."},{"name":"DATA_DIR","required":false,"description":"Directory for JSON persistence (default ./data)."},{"name":"ALLOWED_ORIGINS","required":false,"description":"Comma-separated CORS origins (leave unset to disable CORS)."},{"name":"HOST","required":false,"description":"Bind address for uvicorn (default 0.0.0.0)."},{"name":"PORT","required":false,"description":"Listen port (default 8000)."},{"name":"LOG_LEVEL","required":false,"description":"Python logging level (default INFO)."}],"emoji":"📞","homepage":"https://github.com/britrik/elevenlabs-twilio-memory-bridge"}} |