import { whatsappBusiness } from "@interactions-hq/skyline/providers/whatsapp-business";
WhatsApp Business sends over the Meta Cloud API (HTTPS). Cloud mode resolves phone_number_id and access tokens from the Interactions broker so Meta credentials stay server-side. Dedicated mode accepts your own Cloud API credentials.

Cloud (default)

import { Skyline, whatsappBusiness } from "@interactions-hq/skyline";

const app = await Skyline({
  projectId: process.env.SKYLINE_PROJECT_ID!,
  projectSecret: process.env.SKYLINE_PROJECT_SECRET!,
  providers: [whatsappBusiness.config()],
});
Enable WhatsApp Business for your project in the dashboard before using cloud mode.

Dedicated

whatsappBusiness.config({
  lines: [
    {
      phone: "+15551234567",
      phoneNumberId: "1234567890",
      accessToken: process.env.WA_ACCESS_TOKEN!,
      apiVersion: "v23.0",
    },
  ],
});

Inbound

Inbound messages arrive via webhooks — there is no long-lived subscribe stream for Business lines.