Sendblue Guide: Setting Up Timed Reminders with Appointment Variables

Last updated: March 19, 2026

Overview

Sendblue workflows can send automated reminders relative to an appointment time — for example, "1 hour before" or "24 hours before" a scheduled event. This guide covers how to format your appointment data so that these timed steps work correctly.

───

How It Works

When you create a "Delay Until" step in the Sendblue workflow builder and set it to trigger relative to an appointment time (e.g., {{event_start_time}}), the system reads the date and time from that variable to calculate when to send your message.

For this to work correctly, the appointment time must include timezone information.

───

Why Timezone Matters

If your appointment data looks like this:

Thursday, March 19, 2026 2:30 PM

The system has no way to know if that's 2:30 PM Eastern, Pacific, or any other timezone — so it defaults to UTC (Greenwich Mean Time). This means a "1 hour before" reminder for a 2:30 PM Eastern appointment would actually fire at 9:30 AM Eastern instead of 1:30 PM.

───

Recommended Format

The most reliable format is ISO 8601 with a timezone offset:

2026-03-19T14:30:00-04:00

This tells the system: "March 19, 2026 at 2:30 PM, Eastern Daylight Time (UTC-4)."

Other accepted formats:

2026-03-19T18:30:00Z — if your system already converts to UTC
March 19, 2026 2:30 PM EDT — works, but the ISO format above is more reliable across all integrations

───

How to Check Your Setup

1. Create a test booking through your scheduling tool (GHL, Calendly, etc.)
2. Check the contact record in Sendblue and look at the value stored in your appointment time variable
3. Look for a timezone indicator — you should see something like -04:00, -05:00, EDT, Z, etc.
4. If you only see a date and time with no timezone (e.g., Thursday, March 19, 2026 2:30 PM), the format needs to be updated

───

Fixing the Format

The fix depends on where your appointment data comes from:

GoHighLevel (GHL): Check your workflow mapping. GHL webhook payloads typically include timezone offsets — make sure the full timestamp (including the offset) is being passed to the Sendblue custom variable, not just the human-readable date string.
Calendly: Calendly sends ISO 8601 by default in API responses.

Verify that the integration is mapping the full timestamp.

Custom API integration: When setting the variable via the Sendblue API, format the value as YYYY-MM-DDTHH:mm:ss±HH:MM (e.g., 2026-03-19T14:30:00-04:00).
If you can't change the format: As an alternative, you can set the contact_timezone field on each contact (e.g., America/New_York). This allows the system to correctly interpret times that don't include explicit timezone data.

───

Quick Reference

| ✅ This will work           | ❌ This will cause issues         |
| -------------------------- | -------------------------------- |
| 2026-03-19T14:30:00-04:00  | Thursday, March 19, 2026 2:30 PM |
| 2026-03-19T18:30:00Z       | 2026-03-19 (no time)             |
| March 19, 2026 2:30 PM EDT | 2:30 PM (no date or timezone)    |

───

Need Help?

If you're not sure whether your appointment data

is formatted correctly, reach out to your Sendblue CSM and we'll take a look at your setup.