Outbound campaigns

Calling hours, time zones and contact limits

How Milo calls every player in their own local time, how often it will try, and how to stop the same player being called by several campaigns in a row.

Updated Oct 21, 2026 2 min read
Key takeaway

Calling hours apply in each player's own local time, not yours. A player in Lisbon and a player in Toronto are both called between, say, 10:00 and 20:00 where they live. A contact limit stops the same person being called again too soon by any of your campaigns.

Calling rules

In a campaign's settings, under Calling rules:

SettingDefaultRange
DaysMonday to FridayAny days
From / Until10:00 to 20:00Any hours
Attempts per player21–5
Longest call (seconds)30030–3600
Calls at the same time101–50
Most calls per hourNo limit1–5000

Most calls per hour is useful when players tend to call your support team after Milo has spoken to them. A limit keeps your team from being flooded.

How Milo works out each player's time zone

  1. If your uploaded list has a timezone column, Milo uses it. time_zone and tz also work, and the value should be a time zone name such as Europe/London.
  2. If not, Milo works out the time zone from the phone number: the country code, plus the area code for the US and Canada.

Some countries span several time zones, such as Portugal with the Azores, or Australia. In those countries Milo only calls when the time is inside your calling hours in every zone the number could be in. Where the zones are too far apart to share any hours at all, Milo uses the country's main time zone.

If a player's turn comes up outside their calling hours, while the campaign is paused, or after a budget has been reached, the call isn't lost. It goes back in the queue for the next time it's allowed.

Contact limit across campaigns

Don't call a list player again within (days) stops Milo calling a player who recently had a conversation with any of your campaigns, not just this one. Engagement campaigns default to 7 days. Set it to 0 to turn it off, or up to 90 days.

A player held back by the limit isn't dropped. Their call is scheduled for when the limit has passed. Some calls are never held back:

  • callbacks the player asked for
  • test calls
  • calls you start with Call now