Telegram & Slack
A Claude-powered assistant takes orders in chat using the same nine tools, so the same rules apply. It confirms the total before ordering and asks for contact details instead of inventing them.
Every bot needs ANTHROPIC_API_KEY. Defaults: claude-opus-5-5 at medium effort; change with ORDERABLE_AGENT_MODEL and ORDERABLE_AGENT_EFFORT. WhatsApp and iMessage are coming soon.
Telegram
- Message @BotFather, send
/newbot, copy the token. - Run it. Polling needs no public URL:
TELEGRAM_BOT_TOKEN=123:abc ANTHROPIC_API_KEY=sk-ant-... orderable bot telegramOr use a webhook: set TELEGRAM_BOT_TOKEN, TELEGRAM_WEBHOOK_SECRET and ANTHROPIC_API_KEY on the server, then register once:
curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/setWebhook" \
-d url=https://orderable-mcp.vercel.app/api/telegram -d secret_token=$TELEGRAM_WEBHOOK_SECRET/start shows help; /reset starts a new conversation.
Slack
- Get a manifest with your URLs:
orderable bot slack-manifest https://your-host, or openhttps://orderable-mcp.vercel.app/api/slack/manifest. - api.slack.com/apps → Create New App → From a manifest → paste → Install.
- Copy the Bot User OAuth Token and Signing Secret, then:
SLACK_BOT_TOKEN=xoxb-... SLACK_SIGNING_SECRET=... ANTHROPIC_API_KEY=sk-ant-... \
orderable bot slack --port 3334@mention it in a channel and it answers in the thread, DM it, or use /order lunch for 8 at noon. Requests are signature-checked, acknowledged within Slack's 3 seconds, and de-duplicated.
Memory
Each chat (each thread in Slack channels) keeps its own conversation in memory. It starts fresh after 2 idle hours, when it gets long, or on restart.