Build and configure an AI-powered phone hotline for loan support using Bland AI, Auth0, and Senso. USE FOR: setting up AI phone agents for lending, creating voice-based loan support systems, integrating Auth0 passwordless OTP with Bland AI voice agents, connecting Senso knowledge bases to phone call workflows, building fintech customer service hotlines. NOT FOR: general web app development, non-voice chatbots, or projects unrelated to phone-based loan support.
npx @senso-ai/shipables install evyMascarenhas/judi-loan-hotlineBuild an AI phone agent that authenticates borrowers via OTP and answers loan questions from a knowledge base.
Borrower calls ──► Bland AI (Voice Agent)
│
├── POST /auth/send-otp ──► Auth0 Passwordless (sends OTP to email)
├── POST /auth/verify-otp ──► Auth0 (verifies OTP code)
└── POST /knowledge/search ──► Senso KB (answers loan question)
Use this skill when the user wants to:
mkdir judi-hotline && cd judi-hotline
npm init -y
npm install express axios dotenv cors
Create a .env file with the following keys:
AUTH0_DOMAIN=your-tenant.auth0.com
AUTH0_CLIENT_ID=your_client_id
AUTH0_CLIENT_SECRET=your_client_secret
SENSO_API_KEY=your_senso_api_key
PORT=3000
Create server.js — see the server reference for the full implementation.
The server exposes three webhook endpoints:
| Endpoint | Method | Purpose |
|---|---|---|
/auth/send-otp | POST | Sends OTP via Auth0 Passwordless |
/auth/verify-otp | POST | Verifies caller's OTP code |
/knowledge/search | POST | Queries Senso KB with local fallback |
/health | GET | Health check |
https://apiv2.senso.ai/api/v1/org/search will serve answersngrok http 3000
Copy the HTTPS URL for use in Bland webhook nodes.
Create a pathway in the Bland dashboard with these nodes:
{{email}}/auth/send-otp with {"email": "{{email}}"}{{otp_code}}/auth/verify-otp with {"email": "{{email}}", "otp": "{{otp_code}}"}verified == true continues, else end call{{question}}/knowledge/search with {"question": "{{question}}"} (set timeout to 45s+){{answer}}, ask "Anything else?"See the full pathway guide for detailed node configuration.
# Test KB search
curl -s localhost:3000/knowledge/search \
-H "Content-Type: application/json" \
-d '{"question": "What credit score do I need?"}'
# Test OTP send
curl -s localhost:3000/auth/send-otp \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com"}'
# Test OTP verify (use code from email)
curl -s localhost:3000/auth/verify-otp \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com", "otp": "123456"}'