{"slug": "i-built-a-hotel-concierge-line-with-telnyx-voice-sms-and-slack", "title": "I Built a Hotel Concierge Line with Telnyx Voice, SMS, and Slack", "summary": "A developer built a hotel concierge line using Telnyx Voice, SMS, and Slack, integrating AI inference to classify guest requests into categories like room service, housekeeping, concierge, or maintenance. The Python Flask app handles calls and texts, sends SMS confirmations to guests, and alerts staff via Slack with department-specific emojis. The project is available as an open-source demo on GitHub.", "body_md": "Hotel guests do not care whether the front desk is staffed. They want to text or call one number and have their room service, housekeeping, concierge, or maintenance request handled. A concierge line is a good test case for voice AI because the workflow is familiar and the volume is real.\n\nThe Telnyx code example is:\n\n[https://github.com/team-telnyx/telnyx-code-examples/tree/main/hotel-guest-services-python](https://github.com/team-telnyx/telnyx-code-examples/tree/main/hotel-guest-services-python)\n\nIt is a Python Flask app that combines Telnyx Voice, AI Inference, Messaging, and Slack into a small demo you can clone and run in a few minutes.\n\nA guest calls or texts the Telnyx number. The Flask app receives the webhook, looks up the room by caller ID, and either greets the guest by name or asks for the room number. Each request is sent to Telnyx AI Inference, which classifies it into `room_service`\n\n, `housekeeping`\n\n, `concierge`\n\n, or `maintenance`\n\n. Urgent phrases (`fire`\n\n, `flood`\n\n, `leak`\n\n, `locked out`\n\n, `gas`\n\n, `medical`\n\n) override the LLM and route the request as `urgent`\n\n.\n\nThe request is appended to a log, the guest gets an SMS confirmation, and staff get a Slack alert with the right emoji for the department. When staff mark the request complete, the guest gets another SMS.\n\nIt is small enough to demo live, but it covers the parts that often get cut from a \"Hello World\" voice AI demo:\n\nThat makes it useful as a starting template for any single-vertical phone service where one phone number handles a small set of structured requests.\n\n```\ngit clone https://github.com/team-telnyx/telnyx-code-examples.git\ncd telnyx-code-examples/hotel-guest-services-python\ncp .env.example .env\npip install -r requirements.txt\npython app.py\n```\n\nExpose the webhook:\n\n```\nngrok http 5000\n```\n\nIn the Telnyx Portal, set the Voice API app webhook URL to `https://<ngrok-id>.ngrok-free.app/webhooks/voice`\n\nand the Messaging Profile inbound webhook URL to `https://<ngrok-id>.ngrok-free.app/webhooks/sms`\n\n. Call or text the Telnyx number to test.\n\nI would keep the demo short:\n\n`curl http://localhost:5000/requests`\n\n.`curl -X POST http://localhost:5000/requests/0/complete`\n\n.Then call from an unknown number, say \"Room 205 please\", and make a second request to show the unknown-caller path.\n\nThe demo uses in-memory state, which is fine for learning. Production would replace `ROOMS`\n\nand `service_requests`\n\nwith your PMS database (Opera, Mews, Cloudbeds), persist call state and event IDs to Redis, queue Slack and SMS side effects, add call recording for QA, and map urgent requests to a real paging system instead of Slack.", "url": "https://wpnews.pro/news/i-built-a-hotel-concierge-line-with-telnyx-voice-sms-and-slack", "canonical_source": "https://dev.to/botoclock/i-built-a-hotel-concierge-line-with-telnyx-voice-sms-and-slack-50g4", "published_at": "2026-07-14 21:45:33+00:00", "updated_at": "2026-07-14 22:28:36.767164+00:00", "lang": "en", "topics": ["artificial-intelligence", "developer-tools", "ai-products"], "entities": ["Telnyx", "Slack", "GitHub", "Python", "Flask", "ngrok"], "alternates": {"html": "https://wpnews.pro/news/i-built-a-hotel-concierge-line-with-telnyx-voice-sms-and-slack", "markdown": "https://wpnews.pro/news/i-built-a-hotel-concierge-line-with-telnyx-voice-sms-and-slack.md", "text": "https://wpnews.pro/news/i-built-a-hotel-concierge-line-with-telnyx-voice-sms-and-slack.txt", "jsonld": "https://wpnews.pro/news/i-built-a-hotel-concierge-line-with-telnyx-voice-sms-and-slack.jsonld"}}