botbook/src/18-appendix-external-services
Rodrigo Rodriguez (Pragmatismo) 6df9f7dce5 Add WhatsApp Business API integration with Twilio documentation
- Add comprehensive guide for integrating WhatsApp Business API using Twilio phone numbers
- Include complete workflow: from number purchase to Meta configuration
- Add 5 detailed guides: quick-start, webhooks, examples, troubleshooting, quick-reference
- Cover phone number verification via voice call (Twilio requirement)
- Document all Meta credentials: Access Token, Phone Number ID, WABA ID, Verify Token, Application ID
- Provide code examples in BASIC, Node.js, and Python
- Integrate into Appendix B: External Services (no new chapter)
- All example values randomized for security
2026-01-30 10:14:35 -03:00
..
attendance-queue.md Update: General project updates 2025-12-06 11:09:12 -03:00
catalog.md Update: General project updates 2025-12-06 11:09:12 -03:00
channels.md Add WhatsApp Business API integration with Twilio documentation 2026-01-30 10:14:35 -03:00
console.md Update: General project updates 2025-12-06 11:09:12 -03:00
directory.md Update: General project updates 2025-12-06 11:09:12 -03:00
hosting-dns.md Lowercase botserver/botbook references, add bottemplates repo, update autonomous tasks docs 2025-12-12 23:18:36 -03:00
llm-providers.md Update: General project updates 2025-12-06 11:09:12 -03:00
multimodal.md Update: General project updates 2025-12-06 11:09:12 -03:00
nvidia.md Update: General project updates 2025-12-06 11:09:12 -03:00
README.md Update: General project updates 2025-12-06 11:09:12 -03:00
storage.md Update: General project updates 2025-12-06 11:09:12 -03:00
timeseries.md Update: General project updates 2025-12-06 11:09:12 -03:00
weather.md Update: General project updates 2025-12-06 11:09:12 -03:00
whatsapp-examples.md Add WhatsApp Business API integration with Twilio documentation 2026-01-30 10:14:35 -03:00
whatsapp-quick-reference.md Add WhatsApp Business API integration with Twilio documentation 2026-01-30 10:14:35 -03:00
whatsapp-quick-start.md Add WhatsApp Business API integration with Twilio documentation 2026-01-30 10:14:35 -03:00
whatsapp-troubleshooting.md Add WhatsApp Business API integration with Twilio documentation 2026-01-30 10:14:35 -03:00
whatsapp-webhooks.md Add WhatsApp Business API integration with Twilio documentation 2026-01-30 10:14:35 -03:00

Appendix B: External Services

This appendix catalogs all external services that General Bots integrates with, including their configuration requirements, associated BASIC keywords, and API endpoints.

Overview

General Bots connects to external services for extended functionality. All service credentials should be stored in config.csv within the bot's .gbot folder - never hardcoded in scripts.

Infrastructure services (database, storage, cache) are automatically managed by the Directory service (Zitadel).

Service Categories

Category Services Configuration Location
LLM Providers OpenAI, Groq, Anthropic, Azure OpenAI config.csv
Weather OpenWeatherMap config.csv
Messaging Channels WhatsApp, Teams, Instagram, Telegram config.csv
Storage S3-Compatible (MinIO, etc.) Vault (automatic)
Directory Zitadel VAULT_* environment variables
Email Stalwart / IMAP/SMTP Vault (automatic)
Calendar CalDAV servers config.csv
Database PostgreSQL Vault (automatic)
Cache Redis-compatible Vault (automatic)

Quick Reference

BASIC Keywords That Call External Services

Keyword Service Config Key
LLM LLM Provider llm-provider, llm-api-key
WEATHER OpenWeatherMap weather-api-key
SEND MAIL SMTP Server Managed by Directory service
SEND WHATSAPP WhatsApp Business API whatsapp-api-key, whatsapp-phone-number-id
SEND TEAMS Microsoft Teams teams-app-id, teams-app-password
SEND INSTAGRAM Instagram Graph API instagram-access-token, instagram-page-id
GET (with http/https URL) Any HTTP endpoint N/A
IMAGE BotModels (local) botmodels-enabled, botmodels-url
VIDEO BotModels (local) botmodels-enabled, botmodels-url
AUDIO BotModels (local) botmodels-enabled, botmodels-url
SEE BotModels (local) botmodels-enabled, botmodels-url
FIND Qdrant (local) Internal service
USE WEBSITE Web crawling N/A

Service Configuration Template

Add these to your config.csv:

key,value
llm-provider,openai
llm-api-key,YOUR_API_KEY
llm-model,claude-sonnet-4.5
weather-api-key,YOUR_OPENWEATHERMAP_KEY
whatsapp-api-key,YOUR_WHATSAPP_KEY
whatsapp-phone-number-id,YOUR_PHONE_ID
whatsapp-verify-token,YOUR_WEBHOOK_VERIFY_TOKEN
teams-app-id,YOUR_TEAMS_APP_ID
teams-app-password,YOUR_TEAMS_PASSWORD
instagram-access-token,YOUR_INSTAGRAM_TOKEN
instagram-page-id,YOUR_PAGE_ID
botmodels-enabled,true
botmodels-url,http://localhost:5000

# Human Handoff / CRM Features
crm-enabled,true
attendant-llm-tips,true
attendant-polish-message,true
attendant-smart-replies,true
attendant-auto-summary,true
attendant-sentiment-analysis,true

Auto-Managed Services

The following services are automatically configured by the Directory service (Zitadel):

Service What's Managed
PostgreSQL Connection credentials, database creation
S3-Compatible Storage Access keys, bucket policies
Cache Connection credentials
Stalwart Email User accounts, SMTP/IMAP access

You do not need to configure these services manually. The Directory service handles credential provisioning and rotation.

Security Notes

  1. Never hardcode credentials - Always use config.csv or GET BOT MEMORY
  2. Rotate keys regularly - Update config.csv and restart the bot
  3. Use least privilege - Only grant permissions needed by the bot
  4. Audit access - Monitor external API usage through logs
  5. Infrastructure credentials - Managed automatically by Directory service

See Also