TL;DR: When the Cloud API rejects a template send with (#100) Invalid parameter and "Parameter name is missing or empty", check the parameters array. Every text parameter object must include parameter_name matching the variable name in the approved template, e.g. {"type": "text", "parameter_name": "customer_name", "text": "John"}.

```text
Template send fails with Invalid parameter: add parameter_name to each variable
```

## Fix
1. When the Cloud API rejects a template send with (#100) Invalid parameter and "Parameter name is missing or empty", check the parameters array.
   Expected: this specific failure stops.
2. Every text parameter object must include parameter_name matching the variable name in the approved template, e.g. {"type": "text", "parameter_name": "customer_name", "text": "John"}.
   Expected: this specific failure stops.

## Details
Sending only {"type": "text", "text": "John"} triggers this exact error. Text values should be plain strings, double-quoted, with no extra nesting. This applies to template sends outside the 24-hour window where every variable must resolve. Context: Stack Overflow #79396912 (best answer, 11 votes): sending a template message fails with "(#100) Invalid parameter", details "Parameter name is missing or empty". The top answer says every object in the parameters array needs a parameter_name matching the template, not just type and text.

## When to use
You hit exactly this: Template send fails with Invalid parameter: add parameter_name to each variable in Template.

## When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.

## Compatibility
Template.