Otto Bonilla: WhatsApp AI Agent

Integration prototype

WhatsApp AI Agent: a tool-using assistant with LangGraph

An integration prototype connecting WhatsApp messages to calendar, reminders, notes, and optional search through LangChain and LangGraph.

A messaging interface can be an entry point to useful tools rather than just a place to generate text. This prototype connects WhatsApp to a LangGraph agent with calendar, reminder, note, and search integrations.

From a message to a tool call

Messages arrive through Twilio’s WhatsApp webhook. A LangGraph ReAct agent can select a registered tool, supply structured parameters, inspect its response, and send a natural-language reply back through WhatsApp.

The documented tools cover Google Calendar, scheduled reminders, saved notes, and optional Tavily web search. Example conversations illustrate the intended interactions; they are not a record of independently verified live executions.

Make integrations explicit

An Express application receives requests, while LangChain tool definitions describe the operations available to the agent. Zod schemas make the expected parameters inspectable instead of relying on a free-form instruction alone.

The README describes external scheduling for reminders and daily summaries. Google Calendar access uses a configured service account with explicit sharing. OpenAI, Twilio, and calendar configuration are prerequisites for the documented setup.

A prototype with external dependencies

The repository is an integration prototype, not a claim of a currently operating assistant service. Provider access, webhook delivery, scheduling, permissions, and failure behavior need validation in a real deployment.

Smart-home control, Spotify, flight tracking, and document retrieval are extension ideas in the README. They are not presented here as implemented features.

Study the tool boundary

The source explains the agent, tool registry, setup, and extension pattern. Its useful engineering question is how a conversational request becomes a specific, permission-dependent operation with parameters and an observable result.

Sources and further reading

Based on the linked project documentation, reviewed on 2 November 2026. Capabilities and limitations describe that documented version.

View repository