WAPGROWAI
An AI customer-service agent product for WhatsApp inboxes. It anchors knowledge through a business profile and embeds an AI agent into the instant-messaging inbox to handle customer inquiries.
Timeline (last 90 days)
The WAPGROWAI team deployed an AI customer service agent running on WhatsApp and published an engineering retrospective summarizing seven key engineering issues.
Refusal and handoff replies use fixed strings rather than model generation, to reduce the attack surface for prompt injection.
When the classifier call fails, the message is treated as in-scope and handed to the answering model, rather than staying silent.
The agent gets answers from a single business profile, the entire profile is placed into the system prompt on every call, with an upper limit of 200,000 characters, and the team does not use retrieval approaches such as chunking, embeddings, or vector storage.
When reconstructing history, everything the merchant sent (including human agent input) should count as assistant turns, media messages should be converted to placeholders, and the number of turns and characters should be limited to control cost and latency.
WAPGROWAI uses conversation-level locks, and a message that arrives while a reply is being generated is skipped rather than queued; if running multiple instances, the same guarantee must be obtained from shared storage (a database row or a Redis key).
The Agent calls an OpenAI-compatible endpoint and falls back to NVIDIA's hosted models, with failover handled differently by error type: transient errors are briefly retried before switching, quota exhaustion or model unavailability triggers an immediate switch, and fatal errors stop directly.
Model output is adapted to WhatsApp format: bold is converted from double asterisks to single asterisks, heading markers are removed, the length limit is 900 characters, and the chain of thought occasionally returned by reasoning models is discarded.
WAPGROWAI's response priority is: button and form replies first, then keyword rules that start the chatbot, an already-running chatbot continues, only when the AI Agent is active does it answer, and it has the other rules stay silent during the conversation.
Before going live, explicit decisions must be made: how to handle voice messages and images, the behavior when the model completely fails, who is responsible for handing over the conversation, and under what circumstances the AI takeover ends.
All Facts (10)
The WAPGROWAI team deployed an AI customer service agent running on WhatsApp and published an engineering retrospective summarizing seven key engineering issues.
50%UnverifiedRefusal and handoff replies use fixed strings rather than model generation, to reduce the attack surface for prompt injection.
50%UnverifiedWhen the classifier call fails, the message is treated as in-scope and handed to the answering model, rather than staying silent.
50%UnverifiedThe agent gets answers from a single business profile, the entire profile is placed into the system prompt on every call, with an upper limit of 200,000 characters, and the team does not use retrieval approaches such as chunking, embeddings, or vector storage.
50%UnverifiedWhen reconstructing history, everything the merchant sent (including human agent input) should count as assistant turns, media messages should be converted to placeholders, and the number of turns and characters should be limited to control cost and latency.
50%UnverifiedWAPGROWAI uses conversation-level locks, and a message that arrives while a reply is being generated is skipped rather than queued; if running multiple instances, the same guarantee must be obtained from shared storage (a database row or a Redis key).
50%UnverifiedThe Agent calls an OpenAI-compatible endpoint and falls back to NVIDIA's hosted models, with failover handled differently by error type: transient errors are briefly retried before switching, quota exhaustion or model unavailability triggers an immediate switch, and fatal errors stop directly.
50%UnverifiedModel output is adapted to WhatsApp format: bold is converted from double asterisks to single asterisks, heading markers are removed, the length limit is 900 characters, and the chain of thought occasionally returned by reasoning models is discarded.
50%UnverifiedWAPGROWAI's response priority is: button and form replies first, then keyword rules that start the chatbot, an already-running chatbot continues, only when the AI Agent is active does it answer, and it has the other rules stay silent during the conversation.
50%UnverifiedBefore going live, explicit decisions must be made: how to handle voice messages and images, the behavior when the model completely fails, who is responsible for handing over the conversation, and under what circumstances the AI takeover ends.
50%