← Help Center

Smart Send Time (Per-Client AI Learning)

Last updated: 2026-05-28

Different clients open emails at different times. A small business owner might read at 7am; a procurement manager might check email at 10am Tuesday. Sending into their personal peak inbox window measurably lifts open rate.

Duefy's smart send time learns each client's open patterns and times future sends accordingly.

How it works

When a step has Smart send time enabled:

  1. The hourly cron checks the client's ai_send_times row (built from past open timestamps): best weekday + best hour.
  2. If today is their best weekday and the best hour hasn't arrived yet, the cron defers the send for this hour. A later hourly cron picks it up.
  3. Once enough data accumulates (3+ data points), the learning kicks in. Before that, sends fire normally on the cron's schedule.

The learning is per (client, user) — each member's emails to a given client are tracked separately, because tone / style / time-of-day can differ by person and the open behavior reflects that.

Where to enable it

  1. Settings → Reminder schedule.
  2. Expand the step you want to optimize.
  3. Tick Smart send time at the bottom of the step.
  4. Save.

Available on Pro and Team plans (not free trial). The toggle is greyed out on Solo plans.

When does it learn

  • After the first 3 successful sends to a client where you also got open events. Open data comes from the tracking pixel embedded in each email.
  • Daily, cron/scoreClients.php re-aggregates the open timestamps and updates the ai_send_times table with the best weekday + hour.

Interaction with weekend / holiday skip

Smart send time obeys the send window (weekend + US holiday skip) set at the top of the same page. If a client's best day is Saturday but you have weekend skip enabled, the send defers to next Monday.

Interaction with bundle reminders

If a client has multiple invoices due reminders the same day, the bundle logic wraps them into a single email. Smart send time defers to the most recently optimal slot across the bundled invoices — but only if ALL steps in the bundle have smart-send-time enabled. Mixed configs fall back to the standard cron send time.

Disabling

Untick Smart send time on the step and save. The cron immediately stops deferring; reminders fire on their normal cron tick.

What this is NOT

This is not the same as send-window. The send-window is "skip non-business days for everyone". Smart send time is "send at this specific client's best hour". They compose: smart send time picks a time, send-window checks it's a valid day.

Was this helpful?