Rate this page:

Time of Day Routing

Time of Day Routing. Userful for IVR Logic, for example in Studio, to determine which path to route to at any time of day.

// Description
// Time of Day Routing

// Add moment-timezone 0.5.31 as a dependency under
// Functions Settings, Dependencies
const moment = require('moment-timezone');

exports.handler = function (context, event, callback) {
  const twiml = new Twilio.twiml.VoiceResponse();

  function businessHours() {
    // Set current timezone to US East Coast
    // others:
    const now = moment().tz('America/New_York');
    const weekday = now.isoWeekday();
    const hour = now.hour();

    // Weekday check for M-F using moment().isoWeekday()
    // Monday = 1, Tuesday = 2 ... Sunday = 7
    // and work hours check for 9 am to 5pm (17:00 in 24-hour time)
    return weekday <= 5 && hour >= 9 && hour < 17;

  const isOpen = businessHours();

  twiml.say(`Business is ${isOpen ? 'Open' : 'Closed'}`);

  return callback(null, twiml);
Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Community Forums or browsing the Twilio tag on Stack Overflow.


        Thank you for your feedback!

        We are always striving to improve our documentation quality, and your feedback is valuable to us. Please select the reason(s) for your feedback or provide additional information about how we can improve:

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!

        Refer us and get $10 in 3 simple steps!

        Step 1

        Get link

        Get a free personal referral link here

        Step 2

        Give $10

        Your user signs up and upgrade using link

        Step 3

        Get $10

        1,250 free SMSes
        OR 1,000 free voice mins
        OR 12,000 chats
        OR more