developers
EN Crear cuenta

Referencia

Integraciones

Tres paquetes sobre la misma API: un bot del Chat SDK que contesta en WhatsApp, Instagram, Messenger, SMS y Gmail con un solo adapter, nodos para n8n y un SDK de navegador para que tus clientes conecten sus canales en un popup. Son MIT y su código vive junto a la API.

Chat SDK de Vercel: @heysteff/chat-adapter#

Un solo adapter para todos los canales. Recibe los webhooks firmados, los convierte en mensajes del Chat SDK y cada thread.post() sale por el canal, número y destinatario de la conversación con el mismo POST /v1/messages.

npm
npm install chat @heysteff/chat-adapter @chat-adapter/state-memory
lib/bot.ts
import { Chat } from 'chat';
import { createMemoryState } from '@chat-adapter/state-memory';
import { createHeysteffAdapter, threadChannel } from '@heysteff/chat-adapter';

export const bot = new Chat({
  userName: 'mi-bot',
  adapters: { heysteff: createHeysteffAdapter() }, // HEYSTEFF_API_KEY y HEYSTEFF_WEBHOOK_SECRET
  state: createMemoryState(),
});

bot.onDirectMessage(async (thread, message) => {
  await thread.post(`Te escribo por ${threadChannel(thread)}: ${message.text}`);
});
Next.js
// app/api/webhooks/heysteff/route.ts
import { after } from 'next/server';
import { bot } from '@/lib/bot';

export async function POST(request: Request) {
  return bot.webhooks.heysteff(request, { waitUntil: (task) => after(() => task) });
}

n8n: @heysteff/n8n-nodes-heysteff#

Instálalo en Settings → Community Nodes con el nombre @heysteff/n8n-nodes-heysteff y crea la credencial heysteff API con tu API key.

Links de conexión en un popup: @heysteff/connect#

Para un SaaS cuyos clientes conectan su propio canal (ver Clientes y links de conexión). connect() abre el link en un popup y resuelve con { channel_id, customer_id, channel_type }; rechaza si tu cliente cierra la ventana. Aunque lo llames dos veces, hay un solo popup.

npm
npm install @heysteff/connect
TypeScript
import { connect } from '@heysteff/connect';

const { channel_id, customer_id, channel_type } = await connect({
  // Tu servidor crea el link con customers.createSetupLink.
  url: () => fetch('/api/connect-link', { method: 'POST' }).then((r) => r.text()),
});
React
import { ConnectButton } from '@heysteff/connect/react';

<ConnectButton url={createLink} onSuccess={(r) => save(r.channel_id)}>
  Conecta tu WhatsApp
</ConnectButton>

La página del link le avisa por postMessage solo al origen de la ventana que la abrió, y el SDK acepta el aviso solo desde el origen del link. Para tu backend la fuente de verdad sigue siendo el webhook customer.channel_connected.

Paquetes y repositorios#

Todo es MIT y usa la misma API: un mismo código para WhatsApp, Instagram, Messenger, SMS y correo. Cada README trae un prompt listo para pegar en Claude Code, Cursor, Codex o ChatGPT. Los repos públicos viven en github.com/heysteff-com.

NombrePara qué sirveInstalarEnlaces
@heysteff/sdkSDK de TypeScript: la API v1 con tipos, reintentos, webhooks y eventos en vivo.npm install @heysteff/sdknpm · Código
@heysteff/cliEl comando heysteff: mensajes, conversaciones y webhooks desde la terminal.npm install -g @heysteff/clinpm · Código
create-heysteffCrea un proyecto desde una plantilla con tu key en .env.local.npm create heysteff@latestnpm · Código
@heysteff/chat-adapterUn solo adapter del Chat SDK de Vercel para todos los canales.npm install chat @heysteff/chat-adapter @chat-adapter/state-memorynpm · Código
@heysteff/connectAbre un link de conexión en un popup y devuelve el canal conectado.npm install @heysteff/connectnpm · Código
@heysteff/n8n-nodes-heysteffNodos de n8n: trigger con su propio webhook y envío por cualquier canal.npm install @heysteff/n8n-nodes-heysteffnpm · GitHub
omnichannel-inboxPlantilla: bandeja en Next.js para WhatsApp, Instagram, Messenger, SMS y correo.npm create heysteff@latest mi-bandeja -- --template inboxGitHub
ai-agent-starterPlantilla: agente de IA que contesta con Claude y deriva a una persona.npm create heysteff@latest mi-agente -- --template agentGitHub
agent-skillsSkills para integrar, automatizar y observar heysteff desde tu agente de código.npx skills add heysteff-com/agent-skillsGitHub
agent-pluginsPlugin de Claude Code (MCP, skills y reglas de seguridad), más Cursor y Codex./plugin marketplace add heysteff-com/agent-pluginsGitHub

En n8n también puedes instalarlo desde Settings → Community Nodes. En Claude Code, después del marketplace corre /plugin install heysteff@heysteff.