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
- Go to Meta for Developers
- Create a new OAuth application
- Configure your redirect URI
- 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