SendGrid · api · fg-0414
SendGrid dynamic template placeholders render blank when the code uses substitutions
{{first_name}} renders empty in the delivered email
Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100
Cause
Dynamic templates read only dynamic_template_data, and substitutions are documented as not to be combined with them. Code written for legacy templates still sends substitutions.
Fix
Move every value into dynamic_template_data on each personalization and use Handlebars syntax in the template.
Apply
personalizations: [{ to: [{ email }], dynamic_template_data: { first_name: 'Ana' } }], template_id: 'd-xxxxxxxx'Affects: SendGrid v3 Mail Send, dynamic templates (d- ids), as of 2026-10
Sources
- https://www.twilio.com/docs/sendgrid/api-reference/mail-send/mail-send
- https://www.twilio.com/docs/sendgrid/ui/sending-email/how-to-send-an-email-with-dynamic-templates
Have your agent know this before it fails
claude mcp add --transport http footgun https://getfootgun.com/api/mcp