Skip to main content
Glama

get_whatsapp_handoff

Read-only

Generate a pre-filled WhatsApp deep link to hand the customer off to the right contact. Garden Route locations (Knysna, Plett, George, Sedgefield, etc.) route to Duncan Kane for a free in-home consultation, booked on the same WhatsApp line (+27760228410); all other South African locations route to that line too (+27760228410). It is WhatsApp only, no voice calls. Use when the customer prefers human assistance or when self-serve checkout isn't appropriate.

Input Schema

NameRequiredDescriptionDefault
messageNoOptional additional message to prefill
locationNoCity/suburb. Drives Duncan vs shop routing.
customer_nameNoCustomer's name, used in the prefilled WhatsApp message.
product_contextNoe.g. 'roller blockout for bedroom'

Output Schema

NameRequiredDescriptionDefault
reasonYes
recipientYes
whatsapp_urlYes
recipient_phoneYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / customer_name / description
      Added value: +"Customer's name, used in the prefilled WhatsApp message."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "reason": {
      +      "type": "string"
      +    },
      +    "recipient": {
      +      "type": "string"
      +    },
      +    "recipient_phone": {
      +      "type": "string"
      +    },
      +    "whatsapp_url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "whatsapp_url",
      +    "recipient",
      +    "recipient_phone",
      +    "reason"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true, and the description correctly reinforces that this is a non-mutating link generator while adding real behavioral context: WhatsApp-only channel, no voice calls, and the routing rule. It does not state what happens for locations outside South Africa or when location is omitted, which is a meaningful gap given routing is the tool's core logic.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is correctly front-loaded, but the routing sentence is padded and repetitive — the phone number is printed twice and the 'Duncan Kane vs all others' distinction resolves to the same line. That clause consumes space without adding decision value, and the usage sentence is buried at the end.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only URL generator with an output schema and fully documented parameters, the description covers purpose, channel constraint, and routing intent adequately. The remaining gap is edge-case coverage (missing/unknown location, non-SA customers), which the self-nullifying routing sentence leaves genuinely ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does explain what location drives, but the explanation undercuts itself: both the Garden Route branch and 'all other South African locations' route to the identical number (+27760228410), so an agent cannot tell whether passing location changes anything. The message/customer_name/product_context prefill semantics are left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a concrete verb+resource: 'Generate a pre-filled WhatsApp deep link to hand the customer off to the right contact.' That is unambiguous and distinguishable from siblings like submit_enquiry or complete_checkout, which handle different handoff paths.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit triggering conditions: 'Use when the customer prefers human assistance or when self-serve checkout isn't appropriate.' It does not, however, name the alternative tool (e.g., submit_enquiry) that also represents a human handoff, so the agent must infer which to pick when both could apply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.