IntegrateIntegrate
Integrations

WhatsApp Business Integration

Send WhatsApp messages and templates

The WhatsApp Business integration provides access to send WhatsApp messages and templates through the Integrate MCP server.

Installation

The WhatsApp Business integration is included with the SDK:

import { whatsappIntegration } from "integrate-sdk/server";

Setup

1. Create a WhatsApp Business OAuth App

  1. Go to Meta for Developers
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the WhatsApp Business integration to your server configuration. The integration automatically reads WHATSAPP_CLIENT_ID and WHATSAPP_CLIENT_SECRET from your environment variables:

import { createMCPServer, whatsappIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    whatsappIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

whatsappIntegration({
  clientId: process.env.CUSTOM_WHATSAPP_ID,
  clientSecret: process.env.CUSTOM_WHATSAPP_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";

await client.authorize("whatsapp");
const result = await client.whatsapp.sendMessage({
  phone_number_id: "value",
});

console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, whatsappIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [whatsappIntegration()],
});

Configuration Options

Prop

Type

Tools

whatsapp_send_message

Send a plain text message

Prop

Type

whatsapp_reply_message

Reply to a specific message (quoted reply)

Prop

Type

whatsapp_send_template

Send a pre-approved template message

Prop

Type

whatsapp_send_media

Send an image, video, document, or audio file by URL

Prop

Type

whatsapp_send_reaction

React to a message with an emoji

Prop

Type

whatsapp_send_location

Send a location pin

Prop

Type

whatsapp_send_contact

Send one or more vCard-style contact cards

Prop

Type

whatsapp_send_interactive_buttons

Send a message with up to 3 quick-reply buttons

Prop

Type

whatsapp_send_interactive_list

Send a message with a scrollable list of options

Prop

Type

whatsapp_mark_read

Mark a received message as read (shows blue ticks to sender)

Prop

Type

whatsapp_get_media_url

Get the download URL and metadata for a received media object

Prop

Type

whatsapp_delete_media

Delete an uploaded media object from Meta's servers

Prop

Type

whatsapp_list_templates

List all message templates for a WhatsApp Business Account

Prop

Type

whatsapp_get_template

Get a specific template by name

Prop

Type

whatsapp_create_template

Create a new message template (submitted for Meta review)

Prop

Type

whatsapp_delete_template

Delete a template by name (all language variants)

Prop

Type

whatsapp_get_phone_numbers

List all phone numbers registered to a WABA

Prop

Type

whatsapp_get_phone_number

Get full details for a specific phone number

Prop

Type

whatsapp_get_profile

Get the public business profile for a phone number

Prop

Type

whatsapp_update_profile

Update the business profile (pass only the fields you want to change)

Prop

Type

whatsapp_get_message_status

Get status of a sent message by message ID

Prop

Type

whatsapp_create_qr_code

Create a QR code that opens a chat with a prefilled message

Prop

Type

whatsapp_update_qr_code

Update qr code

Prop

Type

whatsapp_list_qr_codes

List all QR codes for a phone number

Prop

Type

whatsapp_get_qr_code

Get qr code

Prop

Type

whatsapp_delete_qr_code

Delete qr code

Prop

Type

Notes

  • Category: Communication
  • Authentication mode: OAuth

On this page