---
title: "WhatsApp Business (Meta)"
description: "Connect a customer WhatsApp Business Account through the existing Meta Graph adapter. Inspect account assets and manage templates, subscriptions, registration, media and text messages only when the selected command grant"
---

> Documentation Index
> Fetch the complete documentation index at: https://help.tooluse.net/llms.txt
> Use this file to discover all available pages before exploring further.

# WhatsApp Business (Meta)

<p>Connect a customer WhatsApp Business Account through the existing Meta Graph adapter. Inspect account assets and manage templates, subscriptions, registration, media and text messages only when the selected command grants write access. A system-user token and app secret belong to the same Meta business app. Media reads return a URL and metadata, not downloaded bytes; business verification, policy, recipient consent and template approval remain provider requirements.</p>

<details data-command-index><summary>What you can do (16)</summary>
<h2>What you can do</h2>
<p>Available commands: 16 (7 read, 9 write). Enable only the commands your application needs.</p>
<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Command</th>
<th>Effect</th>
</tr>
</thead>
<tbody><tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-debug-token">Inspect the access token</a> — <code>meta.whatsapp.debug-token</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-messages-mutation">Send a WhatsApp text message</a> — <code>meta.whatsapp.messages.mutation</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-resource-read">Read a Graph node</a> — <code>meta.whatsapp.resource.read</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-resource-delete">Delete a Graph node</a> — <code>meta.whatsapp.resource.delete</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-message_templates-read">List message templates</a> — <code>meta.whatsapp.message_templates.read</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-message_templates-mutation">Create a message template</a> — <code>meta.whatsapp.message_templates.mutation</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-message_templates-delete">Delete a message template</a> — <code>meta.whatsapp.message_templates.delete</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-phone_numbers-read">List phone numbers</a> — <code>meta.whatsapp.phone_numbers.read</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-assigned_users-read">List assigned users</a> — <code>meta.whatsapp.assigned_users.read</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-subscribed_apps-read">List subscribed apps</a> — <code>meta.whatsapp.subscribed_apps.read</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-subscribed_apps-mutation">Subscribe an app</a> — <code>meta.whatsapp.subscribed_apps.mutation</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-subscribed_apps-delete">Unsubscribe an app</a> — <code>meta.whatsapp.subscribed_apps.delete</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-register-mutation">Register a phone number</a> — <code>meta.whatsapp.register.mutation</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-media-read">Read a media handle</a> — <code>meta.whatsapp.media.read</code></td>
<td>Read</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-media-delete">Delete a media handle</a> — <code>meta.whatsapp.media.delete</code></td>
<td>Write</td>
</tr>
<tr>
<td><a href="https://help.tooluse.net/integrations/meta-whatsapp#command-meta-whatsapp-media-mutation">Upload media</a> — <code>meta.whatsapp.media.mutation</code></td>
<td>Write</td>
</tr>
</tbody></table>
</div>
</details>
<h2>Connect and use</h2>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp">Connect and use</a></p>
<p>Open the integration&#39;s connection form to check the available credential source. The source has not been resolved for this documentation export. The instructions below apply when using your own provider account.</p>
<h2>Get your provider credentials</h2>
<p>Follow these steps for WhatsApp Business (Meta), then enter the issued values in the connection form below.</p>
<ol>
<li>In Meta Business Settings, create/select a business app, add WhatsApp and assign its Business Account/phone assets to a system user. Generate that app&#39;s system-user token: management reads/templates need whatsapp_business_management, messaging/media need whatsapp_business_messaging, and some business-user queries also need business_management. App review, business verification and asset permissions depend on your setup. Enter the token and the same app&#39;s App Secret here, optionally a supported Graph version such as v24.0, select commands and save. Replace WABA/phone/media/Business IDs in the examples. Template creation requires components and provider approval; deletion by name can affect language variants. Text sends require consent and an allowed conversation window; charges may apply. Media reads return a URL and metadata without downloading bytes. No embedded signup, phone verification or partner approval is performed here.</li>
</ol>
<p><a href="https://developers.facebook.com/docs/whatsapp/cloud-api">Official credential setup</a></p>
<h2>Where to enter credentials</h2>
<p>In the integration page, sign in, choose your workspace and open Connect. If a <strong>Credentials</strong> choice is shown, select <strong>Use my credentials</strong>. Fill the following connection fields and save. Provider credentials belong in this form, never in an MCP configuration or tool input.</p>
<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Connection field</th>
<th>Requirement</th>
</tr>
</thead>
<tbody><tr>
<td>Access Token</td>
<td>Required</td>
</tr>
<tr>
<td>App Secret</td>
<td>Required</td>
</tr>
<tr>
<td>Graph API version</td>
<td>Optional</td>
</tr>
</tbody></table>
</div><p>Open API keys and create a Tooluse.net key for the enabled commands.</p>
<p>Set TOOLUSE_API_KEY in your client and use the shared MCP configuration.</p>
<p><a href="https://help.tooluse.net/clients">Configure Claude Code, Codex or Cursor once</a></p>

<h2>Permissions and results</h2>

<p>If you have more than one workspace, check the selected workspace in the connection or API-key dialog before saving. Roles, enabled commands, expiry and revocation use Tooluse.net&#39;s existing permissions. Disabling a connection or revoking a key immediately prevents new calls.</p>

<p>Send one Claude tool_use block per request. Keep the same Idempotency-Key when retrying the same request; use a new key for a new call. The response includes the shared Tooluse.net receipt and Claude tool_result. Check both HTTP status and the returned tool result before treating a call as successful.</p>

<p>Your connection&#39;s daily allowance and key permissions also apply. Adding a connection does not make a provider request.</p>

<p>Calls return the shared execution receipt and a Claude tool_result. Provider output varies by operation; consult the provider documentation for its response fields. Unconfirmed calls should be checked before retrying.</p>

<h2>Call from your client</h2>

<p>Use the shared MCP configuration. Refresh your client&#39;s tool list after saving the connection or changing key permissions, then call the returned tool name with the example input below.</p>

<p><a href="https://help.tooluse.net/clients">Configure Claude Code, Codex or Cursor once</a></p>

<h2>Discover your enabled tools</h2>

<p>List permitted tools in Claude format. Read every page using page and size (maximum 100) until all results have been received. Use the returned name, not a catalog capability identifier, in the tool_use block.</p>

<pre><code class="language-bash">curl 'https://api.tooluse.net/v1/tools' \
  -H "Authorization: Bearer $TOOLUSE_API_KEY"
</code></pre>

<p>Find this command in the tool list permitted by your key. Replace svc_FROM_YOUR_TOOL_LIST with its returned name. Use a new Idempotency-Key for each new call and retain it when retrying that same call.</p>

<h2>HTTP call</h2>

<pre><code class="language-bash">curl 'https://api.tooluse.net/v1/tool-calls' \
  -H "Authorization: Bearer $TOOLUSE_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: replace-with-a-new-call-id' \
  --data '{
  "type": "tool_use",
  "id": "toolu_example",
  "name": "svc_FROM_YOUR_TOOL_LIST",
  "input": {}
}'
</code></pre>

<p>Send one Claude tool_use block per request. Keep the same Idempotency-Key when retrying the same request; use a new key for a new call. The response includes the shared Tooluse.net receipt and Claude tool_result. Check both HTTP status and the returned tool result before treating a call as successful.</p>

<h2>Commands</h2>

<details id="command-meta-whatsapp-debug-token">
<summary><span>Inspect the access token — <code>meta.<wbr>whatsapp.<wbr>debug-<wbr>token</code></span></summary>
<p>Inspect this saved token and its granted scopes without changing it. Use credentials from the same Meta business app.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.debug-token">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.debug-token">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-messages-mutation">
<summary><span>Send a WhatsApp text message — <code>meta.<wbr>whatsapp.<wbr>messages.<wbr>mutation</code></span></summary>
<p>Send one plain text message from the configured business phone number to an explicitly supplied recipient. Meta consent, conversation-window and pricing rules apply; this is not a template-send command.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.messages.mutation">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>phoneNumberReference</code></td>
<td>string</td>
<td>Required</td>
<td>Sending phone number id</td>
<td><code>pattern: &quot;^\\d{5,32}$&quot;</code></td>
</tr>
<tr>
<td><code>to</code></td>
<td>string</td>
<td>Required</td>
<td>Recipient in international digits</td>
<td><code>pattern: &quot;^[1-9]\\d{7,14}$&quot;</code></td>
</tr>
<tr>
<td><code>message</code></td>
<td>string</td>
<td>Required</td>
<td>Message text</td>
<td><code>minLength: 1; maxLength: 3000</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.messages.mutation">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "phoneNumberReference": "109876543210987",
  "to": "15005550006",
  "message": "Your workflow finished."
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-resource-read">
<summary><span>Read a Graph node — <code>meta.<wbr>whatsapp.<wbr>resource.<wbr>read</code></span></summary>
<p>Read the supplied Graph resource ID accessible to the saved WhatsApp business token. Parameters do not change the fixed API host or saved principal.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.resource.read">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.resource.read">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-resource-delete">
<summary><span>Delete a Graph node — <code>meta.<wbr>whatsapp.<wbr>resource.<wbr>delete</code></span></summary>
<p>Delete the explicitly supplied Graph resource when Meta permits it. Verify the target resource type and ID before enabling this write.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.resource.delete">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.resource.delete">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-message_templates-read">
<summary><span>List message templates — <code>meta.<wbr>whatsapp.<wbr>message_<wbr>templates.<wbr>read</code></span></summary>
<p>Read one explicit provider page of templates belonging to the target WhatsApp Business Account. Supply fields/limit/after in query when required; no automatic paging.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.message_templates.read">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.message_templates.read">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-message_templates-mutation">
<summary><span>Create a message template — <code>meta.<wbr>whatsapp.<wbr>message_<wbr>templates.<wbr>mutation</code></span></summary>
<p>Submit one new template with official component JSON for Meta validation and approval. Creation does not mean approval or send a message.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.message_templates.mutation">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Required</td>
<td></td>
<td><code>additionalProperties: false</code></td>
</tr>
<tr>
<td><code>fields.name</code></td>
<td>string</td>
<td>Required</td>
<td>New template name, using lowercase letters, digits and underscores.</td>
<td><code>minLength: 1; maxLength: 1000</code></td>
</tr>
<tr>
<td><code>fields.language</code></td>
<td>string</td>
<td>Required</td>
<td>Template locale, e.g. en_US.</td>
<td><code>minLength: 1; maxLength: 1000</code></td>
</tr>
<tr>
<td><code>fields.category</code></td>
<td>string</td>
<td>Required</td>
<td>Meta template category; its current content and approval requirements apply.</td>
<td><code>enum: [&quot;UTILITY&quot;,&quot;MARKETING&quot;,&quot;AUTHENTICATION&quot;]</code></td>
</tr>
<tr>
<td><code>fields.components</code></td>
<td>array</td>
<td>Required</td>
<td>Official Meta component objects such as BODY/text, buttons and examples. Payload nesting/size remains bounded by the existing input normalizer; provider validation and approval still apply.</td>
<td><code>minItems: 1</code></td>
</tr>
<tr>
<td><code>fields.components[]</code></td>
<td>object</td>
<td>Optional</td>
<td></td>
<td><code>additionalProperties: true</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.message_templates.mutation">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345",
  "fields": {
    "name": "order_update",
    "language": "en_US",
    "category": "UTILITY",
    "components": [
      {
        "type": "BODY",
        "text": "Your order is ready."
      }
    ]
  }
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-message_templates-delete">
<summary><span>Delete a message template — <code>meta.<wbr>whatsapp.<wbr>message_<wbr>templates.<wbr>delete</code></span></summary>
<p>Delete a template by name from the target WhatsApp Business Account. This can affect all language variants of that name and does not archive a template.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.message_templates.delete">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Required</td>
<td></td>
<td><code>additionalProperties: false</code></td>
</tr>
<tr>
<td><code>query.name</code></td>
<td>string</td>
<td>Required</td>
<td>Template name to delete. Deletion by name affects its language variants.</td>
<td><code>minLength: 1; maxLength: 1000</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.message_templates.delete">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345",
  "query": {
    "name": "order_update"
  }
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-phone_numbers-read">
<summary><span>List phone numbers — <code>meta.<wbr>whatsapp.<wbr>phone_<wbr>numbers.<wbr>read</code></span></summary>
<p>Inspect phone-number assets of the target WhatsApp Business Account; it does not register, verify or send from a phone.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.phone_numbers.read">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.phone_numbers.read">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-assigned_users-read">
<summary><span>List assigned users — <code>meta.<wbr>whatsapp.<wbr>assigned_<wbr>users.<wbr>read</code></span></summary>
<p>Inspect users assigned to the target WhatsApp Business Account. Supply the owning Business ID in query when required by Meta permissions.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.assigned_users.read">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.assigned_users.read">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345",
  "query": {
    "business": "987654321012345"
  }
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-subscribed_apps-read">
<summary><span>List subscribed apps — <code>meta.<wbr>whatsapp.<wbr>subscribed_<wbr>apps.<wbr>read</code></span></summary>
<p>Inspect apps subscribed to the target WhatsApp Business Account; does not create a webhook subscription.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.subscribed_apps.read">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.subscribed_apps.read">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-subscribed_apps-mutation">
<summary><span>Subscribe an app — <code>meta.<wbr>whatsapp.<wbr>subscribed_<wbr>apps.<wbr>mutation</code></span></summary>
<p>Subscribe the token app to the target WhatsApp Business Account. Configure the receiving webhook separately in Meta; no callback server is created here.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.subscribed_apps.mutation">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.subscribed_apps.mutation">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-subscribed_apps-delete">
<summary><span>Unsubscribe an app — <code>meta.<wbr>whatsapp.<wbr>subscribed_<wbr>apps.<wbr>delete</code></span></summary>
<p>Unsubscribe the token app from the target WhatsApp Business Account. This may stop webhook delivery for that app.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.subscribed_apps.delete">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.subscribed_apps.delete">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-register-mutation">
<summary><span>Register a phone number — <code>meta.<wbr>whatsapp.<wbr>register.<wbr>mutation</code></span></summary>
<p>Register the target phone-number ID using its six-digit two-step-verification PIN and messaging_product=whatsapp. Phone ownership and Meta setup must already be complete.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.register.mutation">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.register.mutation">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "109876543210987",
  "fields": {
    "messaging_product": "whatsapp",
    "pin": "123456"
  }
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-media-read">
<summary><span>Read a media handle — <code>meta.<wbr>whatsapp.<wbr>media.<wbr>read</code></span></summary>
<p>Get a known media ID&#39;s short-lived download URL and metadata from GET /{media-id}. No media URL is followed and no binary download is performed.</p>

<p>This is a read operation. Provider rate limits and data access rules still apply.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.media.read">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.media.read">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-media-delete">
<summary><span>Delete a media handle — <code>meta.<wbr>whatsapp.<wbr>media.<wbr>delete</code></span></summary>
<p>Delete a known media ID through DELETE /{media-id}; no /media suffix is appended.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.media.delete">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.media.delete">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "123456789012345"
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 60 seconds.</p>

</details>
<details id="command-meta-whatsapp-media-mutation">
<summary><span>Upload media — <code>meta.<wbr>whatsapp.<wbr>media.<wbr>mutation</code></span></summary>
<p>Upload the explicitly supplied supported media bytes to the target phone-number ID. The multipart MIME type matches the supplied media type; provider format/size rules still apply.</p>

<p>This operation can change provider data. Review the input before allowing an agent to call it.</p>

<p><a href="https://www.tooluse.net/tools/integrations/meta-whatsapp?command=meta.whatsapp.media.mutation">Connect and use</a></p>

<p><strong>Parameters</strong></p>

<p>Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.</p>

<div class="nb-table-scroll"><table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required in parent</th>
<th>Description</th>
<th>Constraints</th>
</tr>
</thead>
<tbody><tr>
<td><code>target</code></td>
<td>string</td>
<td>Required</td>
<td>Graph node id</td>
<td><code>minLength: 1; maxLength: 160</code></td>
</tr>
<tr>
<td><code>media</code></td>
<td>object</td>
<td>Required</td>
<td>File to upload (inline; a stored reference needs object storage Tooluse.net does not have)</td>
<td><code>additionalProperties: false</code></td>
</tr>
<tr>
<td><code>media.dataBase64</code></td>
<td>string</td>
<td>Required</td>
<td>Base64 contents</td>
<td><code>minLength: 4; maxLength: 700000</code></td>
</tr>
<tr>
<td><code>media.mediaType</code></td>
<td>string</td>
<td>Required</td>
<td>Media type</td>
<td><code>maxLength: 128; pattern: &quot;^[A-Za-z0-9.+-]+/[A-Za-z0-9.+-]+$&quot;</code></td>
</tr>
<tr>
<td><code>media.filename</code></td>
<td>string</td>
<td>Optional</td>
<td>File name</td>
<td><code>minLength: 1; maxLength: 255; pattern: &quot;^[^\\\\/\\r\\n]+$&quot;</code></td>
</tr>
<tr>
<td><code>fields</code></td>
<td>object</td>
<td>Optional</td>
<td>Request fields</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},{&quot;type&quot;:&quot;array&quot;,&quot;items&quot;:{&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]},&quot;maxItems&quot;:40}]}</code></td>
</tr>
<tr>
<td><code>query</code></td>
<td>object</td>
<td>Optional</td>
<td>Query parameters</td>
<td><code>maxProperties: 40; additionalProperties: {&quot;anyOf&quot;:[{&quot;type&quot;:&quot;string&quot;,&quot;maxLength&quot;:4096},{&quot;type&quot;:&quot;number&quot;},{&quot;type&quot;:&quot;boolean&quot;}]}</code></td>
</tr>
</tbody></table>
</div>
<p><strong>Full JSON Schema</strong></p>

<p><a href="https://api.tooluse.net/v1/integrations/meta-whatsapp/commands/meta.whatsapp.media.mutation">Full JSON Schema</a></p>

<p><strong>Example input</strong></p>

<pre><code class="language-json">{
  "target": "109876543210987",
  "media": {
    "dataBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+aI+kAAAAASUVORK5CYII=",
    "mediaType": "image/png",
    "filename": "pixel.png"
  },
  "fields": {
    "messaging_product": "whatsapp"
  }
}
</code></pre>

<p>At most 1 provider requests per invocation; timeout: 120 seconds.</p>

</details>
<h2>Errors</h2>

<p>Check the key&#39;s expiry, revocation, workspace and allowed operations.</p>

<p>Reuse the same idempotency key only for the same request.</p>

<p>The connection or provider limit has been reached. Check the receipt before retrying.</p>

<h2>Test the connection</h2>

<p>Open the integration&#39;s commands below to inspect parameters and examples. Start with a read command for an account or resource you can access. Refresh your client&#39;s tool list, use the returned tool name, and check the execution result and usage. Provider charges and permissions still apply. Never test a write against production data without reviewing it.</p>

<p><a href="https://developers.facebook.com/docs/whatsapp/cloud-api">Official provider documentation</a></p>

Source: https://help.tooluse.net/integrations/meta-whatsapp/index.mdx
