NetBird

whatsapp_send

Send one WhatsApp message to a single recipient, carrying exactly one kind of content: a template, or free-form text, image, video, audio, sticker, document or location. A template is the only content deliverable outside an open 24-hour customer service window. For a Bird-managed template Bird selects the sender number, so omit from; every other send requires from and it must be a number your workspace owns. `whatsapp_templates_list` carries the names a template send accepts, with the languages each template can currently resolve. The response is the accepted message with its id; delivery is asynchronous, so use whatsapp_get to check delivery status.

Remote bird/mcp

Remote (network-hosted)

Other tools also called whatsapp_send? See providers with this name

Input Schema


            {
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "The message recipient: a phone number in E.164 format (for example +31612345678), or the recipient's business-scoped user ID (for example US.13491208655302741918), which addresses a WhatsApp user whose phone number you do not have. A value that is neither returns a 422 WhatsAppInvalidRecipient. One-time-passcode templates require a phone number and return a 422 WhatsAppRecipientNotSupportedForTemplate when sent to a business-scoped user ID."
    },
    "from": {
      "type": "string",
      "description": "The business phone number to send from, in E.164 format. Omit it for a Bird-managed template, which selects its own number from its category: setting it there returns a 422 WhatsAppSenderNotAllowed. Every other send, whether free-form content of any kind or a template your workspace authored, requires it, and the number must be one this workspace owns. Omitting it returns a 422 WhatsAppSenderRequired, and naming a number this workspace cannot send from returns a 422 WhatsAppSenderNotFound. Naming a number this workspace owns but that sits on a different WhatsApp Business Account than an authored template returns a 422 WhatsAppSenderWABAMismatch. A number this workspace holds but has not finished connecting returns a 422 WhatsAppSenderNotConnected."
    },
    "tags": {
      "type": "object",
      "description": "Structured {name, value} labels for filtering. Tags become first-class query dimensions: filter the list endpoint by tag name. Maximum 20 tags per send. Use tags for low-cardinality dimensions (category, experiment_variant). For arbitrary structured context you do not need as a filter dimension, use metadata instead.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "text": {
      "type": [
        "null",
        "object"
      ],
      "required": [
        "body"
      ],
      "properties": {
        "body": {
          "type": "string"
        },
        "preview_url": {
          "type": [
            "null",
            "boolean"
          ]
        }
      },
      "description": "Free-form text to send instead of a template. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. We do not track the window, so a send outside one is accepted and then fails, with service_window_expired on the message's last_error.",
      "additionalProperties": false
    },
    "audio": {
      "type": [
        "null",
        "object"
      ],
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "voice": {
          "type": [
            "null",
            "boolean"
          ]
        }
      },
      "description": "Free-form audio to send instead of a template. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. We do not track the window, so a send outside one is accepted and then fails, with service_window_expired on the message's last_error.",
      "additionalProperties": false
    },
    "image": {
      "type": [
        "null",
        "object"
      ],
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "caption": {
          "type": [
            "null",
            "string"
          ]
        }
      },
      "description": "A free-form image to send instead of a template. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. We do not track the window, so a send outside one is accepted and then fails, with service_window_expired on the message's last_error.",
      "additionalProperties": false
    },
    "video": {
      "type": [
        "null",
        "object"
      ],
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "caption": {
          "type": [
            "null",
            "string"
          ]
        }
      },
      "description": "A free-form video to send instead of a template. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. We do not track the window, so a send outside one is accepted and then fails, with service_window_expired on the message's last_error.",
      "additionalProperties": false
    },
    "sticker": {
      "type": [
        "null",
        "object"
      ],
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "description": "A free-form sticker to send instead of a template. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. We do not track the window, so a send outside one is accepted and then fails, with service_window_expired on the message's last_error.",
      "additionalProperties": false
    },
    "document": {
      "type": [
        "null",
        "object"
      ],
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "caption": {
          "type": [
            "null",
            "string"
          ]
        },
        "filename": {
          "type": [
            "null",
            "string"
          ]
        }
      },
      "description": "A free-form document to send instead of a template. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. We do not track the window, so a send outside one is accepted and then fails, with service_window_expired on the message's last_error.",
      "additionalProperties": false
    },
    "location": {
      "type": [
        "null",
        "object"
      ],
      "required": [
        "latitude",
        "longitude"
      ],
      "properties": {
        "name": {
          "type": [
            "null",
            "string"
          ]
        },
        "address": {
          "type": [
            "null",
            "string"
          ]
        },
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        }
      },
      "description": "A free-form location to send instead of a template. Deliverable only inside an open 24-hour customer service window, which the contact opens by messaging or calling you and resets each time they do it again. We do not track the window, so a send outside one is accepted and then fails, with service_window_expired on the message's last_error.",
      "additionalProperties": false
    },
    "metadata": {
      "type": "object",
      "description": "Arbitrary JSON object stored on the message and returned on API reads. Maximum 2 KB serialized. Use metadata for per-send context like internal IDs and foreign keys. For low-cardinality filterable labels, use tags instead.",
      "additionalProperties": true
    },
    "template": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "id": {
          "type": [
            "null",
            "string"
          ]
        },
        "slug": {
          "type": [
            "null",
            "string"
          ]
        },
        "language": {
          "type": [
            "null",
            "string"
          ]
        },
        "components": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "cards": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "object",
                  "required": [
                    "components"
                  ],
                  "properties": {
                    "components": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "required": [
                          "type"
                        ],
                        "properties": {
                          "type": {
                            "type": "string"
                          },
                          "parameters": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "object",
                              "required": [
                                "type"
                              ],
                              "properties": {
                                "url": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "name": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "text": {
                                  "type": [
                                    "null",
                                    "string"
                                  ]
                                },
                                "type": {
                                  "type": "string"
                                },
                                "location": {
                                  "type": [
                                    "null",
                                    "object"
                                  ],
                                  "required": [
                                    "latitude",
                                    "longitude"
                                  ],
                                  "properties": {
                                    "name": {
                                      "type": [
                                        "null",
                                        "string"
                                      ]
                                    },
                                    "address": {
                                      "type": [
                                        "null",
                                        "string"
                                      ]
                                    },
                                    "latitude": {
                                      "type": "number"
                                    },
                                    "longitude": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": false
                                }
                              },
                              "additionalProperties": false
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "parameters": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "url": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "name": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "text": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "type": {
                      "type": "string"
                    },
                    "location": {
                      "type": [
                        "null",
                        "object"
                      ],
                      "required": [
                        "latitude",
                        "longitude"
                      ],
                      "properties": {
                        "name": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "address": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "latitude": {
                          "type": "number"
                        },
                        "longitude": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          }
        }
      },
      "description": "The template to send. A Bird-managed template selects the sender number from the template's category, so from must be omitted. A template is the only content deliverable outside a customer service window.",
      "additionalProperties": false
    },
    "idempotency_key": {
      "type": "string",
      "description": "Client-supplied deduplication key; a retry with the same key replays the original result instead of acting twice."
    }
  }
}
          

Provider

NetBird →