## The problem
Following the sendgrid-nodejs transactional-templates example with `setSubstitutionWrappers('{{', '}}')` and `substitutions`, the received email has the substitution tags stripped but the replacement text is never inserted. The example in USE_CASES.md was followed without changes. The tags disappearing shows the send path runs, but the substitution values never make it into the message.
## The fix
The `substitutions` + `substitutionWrappers` mechanism only works with legacy transactional templates. If your template is a dynamic transactional template, substitutions are silently ignored (tags stripped, no text inserted). Fix: switch to `dynamic_template_data` for dynamic templates:
```js
const msg = {
to: '...', from: '...', templateId: 'd-xxx',
dynamic_template_data: { name: 'value' },
};
```
and reference them in the template as `{{name}}`. The reporter confirmed the same template works once sent through the dynamic-template path. Legacy templates keep working with the old `substitutions` approach.