Agentes IAWhatsAppExpressNode.js

Agente de IA para WhatsApp com Express.js e Zavu

Aprenda a receber webhooks do WhatsApp em uma API Express, verificar assinaturas e responder com agentes de IA gerenciados pela Zavu.

Escrito por: Jennifer VillalobosRevisado por: Victor Villalobos23 de dezembro de 202510 min de leitura

Agente de IA para WhatsApp com Express.js e Zavu

Express continua sendo uma escolha rapida para criar webhooks. Use-o com o AI Gateway da Zavu para liberar agentes inteligentes no WhatsApp sem lidar com SDKs de IA separados.

Setup

bash
mkdir whatsapp-agent && cd whatsapp-agent npm init -y bun install @zavudev/sdk express dotenv

Estrutura:

text
src/ ├── app.js ├── webhook.js └── zavu.js .env

Cliente Zavu (src/zavu.js)

javascript
import Zavudev from '@zavudev/sdk' export const zavu = new Zavu({ apiKey: process.env.ZAVUDEV_API_KEY })

Webhook (src/webhook.js)

javascript
import crypto from 'crypto' import { zavu } from './zavu.js' export function verifySignature(payload, signature) { const digest = crypto .createHmac('sha256', process.env.ZAVU_WEBHOOK_SECRET) .update(payload) .digest('hex') return crypto.timingSafeEqual(Buffer.from(digest), Buffer.from(signature)) }
src/app.js:
javascript
import express from 'express' import bodyParser from 'body-parser' import { verifySignature } from './webhook.js' import { zavu } from './zavu.js' const app = express() app.use(bodyParser.json({ verify: (req, res, buf) => (req.rawBody = buf) })) app.post('/webhooks/whatsapp', async (req, res) => { const signature = req.headers['x-zavu-signature'] if (!verifySignature(req.rawBody, signature)) { return res.status(401).send('invalid signature') } const event = req.body if (event.type === 'message.received') { await zavu.senders.agent.reply({ senderId: process.env.ZAVU_SENDER_ID, contactId: event.data.contact.id, messageId: event.data.message.id }) } res.json({ status: 'ok' }) }) app.listen(process.env.PORT || 3000)

Criando o agente

Via dashboard (Senders → AI Agent) ou codigo:

javascript
await zavu.senders.agent.create({ senderId: process.env.ZAVU_SENDER_ID, name: 'Atendente Express', provider: 'zavu', model: 'gpt-4o-mini', systemPrompt: Voce e um atendente Zavu. Seja direto e gentil., includeContactMetadata: true, contextWindowMessages: 10, enabled: true })

Modelos suportados

ProviderModelos
OpenAIgpt-4o, gpt-4o-mini
Anthropicclaude-3-5-sonnet, claude-3-opus
Googlegemini-pro
Mistralmistral-large

Recursos extras

  • Knowledge Bases: anexar docs (onboarding, politicas) ao agente.
  • Ferramentas HTTP: agentes podem chamar endpoints seguros que voce expor.
  • Analytics: painel mostra tempo medio de resposta, sentimentos, execucoes.
  • Fallback: defina SMS/email como backup quando o cliente estiver fora da janela de 24h.

Deploy

  • Use Railway, Render ou Fly.io
  • Configure variaveis (ZAVUDEV_API_KEY, ZAVU_WEBHOOK_SECRET, ZAVU_SENDER_ID)
  • Habilite HTTPS (Proxy/CDN) e rotacione o segredo periodicamente
Pronto! Seu agente Express responde clientes no WhatsApp com IA de ultima geracao. Agende uma demo para ver workflows mais avancados.

Precisa de ajuda? Contate-nos ou junte-se à nossa comunidade Discord para suporte.

Follow us on social media

Veja em ação

Agende uma demonstração personalizada para ver como os Agentes IA da Zavu podem transformar sua comunicação com clientes.

Agente de IA para WhatsApp com Express.js e Zavu | Zavu Blog | Zavu