-
Notifications
You must be signed in to change notification settings - Fork 1
Messaging Integrations
Amadeus supports three inbound/outbound messaging channels: Telegram, WhatsApp, and Email.
Amadeus uses python-telegram-bot v20+ in long-polling mode — no webhooks or public URL required.
- Create a bot via
@BotFatheron Telegram and copy the token. - Add to
.env:TELEGRAM_BOT_TOKEN=your_bot_token_here
- The polling loop starts automatically in the FastAPI lifespan — no extra process needed.
- Each Telegram message spawns an isolated
AmadeusServicesession keyed bychat_id. - A
TelegramConfirmationCallbackpresents inline keyboard buttons for HITL approvals. - All 60+ tools are available via natural language in the chat.
Set MASTER_TELEGRAM_CHAT_ID to receive scheduled briefings from the APScheduler background job:
MASTER_TELEGRAM_CHAT_ID=123456789
PROACTIVE_CHECK_INTERVAL_MINUTES=30Uses the Meta WhatsApp Cloud API.
- Create a Meta Business App and add the WhatsApp product.
- Add to
.env:WHATSAPP_ACCESS_TOKEN=your_access_token WHATSAPP_PHONE_NUMBER_ID=your_phone_number_id WHATSAPP_VERIFY_TOKEN=your_verify_token
- Register the webhook URL in the Meta dashboard:
https://your-domain.com/api/v1/webhooks/whatsapp - Meta calls the
GETendpoint with a hub challenge to verify — the adapter handles this automatically.
- Text send/receive
- Interactive buttons
- Pre-approved message templates
Note: WhatsApp Cloud API requires a publicly accessible URL (use Railway, a VPS, or a tunnel like
ngrokfor local testing).
Uses imap_tools (sync, threaded) for reading and aiosmtplib (async) for sending.
EMAIL_IMAP_SERVER=imap.gmail.com
EMAIL_SMTP_SERVER=smtp.gmail.com
EMAIL_SMTP_PORT=587
EMAIL_ADDRESS=your@gmail.com
EMAIL_APP_PASSWORD=your-app-passwordFor Gmail, generate an App Password:
Google Account → Security → 2-Step Verification → App passwords
| Tool | Direction | Confirmation? |
|---|---|---|
send_email |
Outbound (SMTP) | ✅ |
read_unread_emails |
Inbound (IMAP) | ❌ |
All three channels share the same outbound endpoint:
curl -X POST http://localhost:8000/api/v1/messaging/send \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "telegram",
"to": "123456789",
"message": "Hello from Amadeus!"
}'Supported channel values: "telegram", "whatsapp", "email" (email requires "subject" field).
Amadeus-AI · v6.0.0· Apache License 2.0 · Report a Bug
Getting Started
Architecture
Reference
Integrations
Operations
Development
Project
Links