Nylas Docs

The Nylas Developer Hub

Welcome to the Nylas developer hub. You'll find comprehensive guides and documentation to help you start working with Nylas as quickly as possible, as well as support if you get stuck. Let's jump right in!

Developer Guide

Nylas Scheduler

An end-to-end scheduling solution that you can embed with a few lines of code.

Nylas Scheduler provides the fastest way to add full calendar functionality to your application, allowing your users to create highly-customizable scheduling pages. Now attendees and organizers can easily view availability and book meetings using your application without needing third-party scheduling solutions.

While the Nylas Calendar APIs make it possible to build powerful event scheduling flows that leverage your users' calendars, we've found developers want a simpler way to integrate powerful scheduling into their application without needing to focus on finding availability, identifying timezones, handling booking confirmation and cancellations, and more. To make integration easier, the Nylas Scheduler provides this functionality out of the box in a pre-built, customizable user interface.

There are two main components to the Nylas Scheduler:

  • Schedule Editor: The Schedule Editor enables meeting organizers to create and edit scheduling pages. They can also adjust dozens of details, including custom availability and the general look and feel of the scheduling page.
  • Scheduling Page: A pre-built, customizable web page where attendees can easily book meetings with organizers.
Organizers use the schedule editor inside of your application (left), and can share their scheduling pages (right) with attendees.

Organizers use the schedule editor inside of your application (left), and can share their scheduling pages (right) with attendees.

The Nylas Scheduler is a complete scheduling solution packed with features:

  • Theme Customization & Whitelabeling: Provides a seamless, in-app integration that fully matches your branding and product UI. You can update Company Logo, Company Name, Event Duration, Event Title, Timezone, Theme Colors, Date and Time Format, Custom Submit Button Text, Custom Redirect, and Custom Thank You Text.
  • AutoSchedule✨: Makes it easy for attendees share their availability so they can easily book conflict-free events.
  • Custom Fields: Allows organizers to collect additional information from attendees before they can book an event. Examples include custom input types like phone number, text boxes, dropdown selectors, and more.
  • Email Notifications: For booking confirmations, cancellations, and reschedules - including event details and instructions for attendees.
  • Metadata Support: Allows you to send application-specific data to create a seamless booking experience and associate user actions with your application data.
  • Reminders & Webhook Notifications: To receive reminders for upcoming meetings and notifications for scheduled events.
  • Responsive Design: Attendees can book events on a Scheduling Page that renders beautifully across devices, whether it's on desktop or mobile.
  • Timezone Detection and Customization: Makes it easy for attendees to book times based on their own timezone.
  • Realtime, two-way Calendar Sync: Means you'll never have to deal with scheduling conflicts again.
  • Round Robin Scheduling: Determines how bookings are assigned when multiple calendars are used. You can choose to maximize fairness or availability when using round robin scheduling.
  • Advanced Settings: Give you maximum control over how and when events are scheduled. Includes configurable duration, minimum notice for an event, cancellation policies, opening hours, manual confirmation, scheduling page expiration, and more.

Below you'll find documentation, sample code, and other resources to help you get started with the Nylas Scheduler.

Scheduler Quickstart

Sign up for your Nylas developer account, and follow our guide to get your API keys and authorize your first account. When you complete this guide, you will get an access token that you need later.

Then, follow these steps to setup the Nylas Scheduler

  1. Save the code below as an HTML file, for example: scheduler-example.html.
  2. Replace ACCESS_TOKEN in the HTML file with the access token you retrieved in step 1.
  3. Open the HTML file in your web browser.
  4. Click the button "Open Schedule Editor".

That's it! Now you have access to the schedule editor and can create your own scheduling page.

Here is the HTML you need to implement the Nylas Scheduler.

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Nylas Scheduler Simple Example</title>

    <!-- Import the Nylas Schedule Editor script --> 
    <script src="https://schedule.nylas.com/schedule-editor/v1.0/schedule-editor.js" type="text/javascript"></script>
    
  </head>

  <body>
    <!-- Create a button and give it an ID that we'll reference later --> 
    <button type="button" id="schedule-editor">Open Schedule Editor</button>

    <script>
      var btn = document.getElementById('schedule-editor');
      btn.addEventListener('click', function() {
        // Invoke the schedule editor when a user clicks on the button
        nylas.scheduler.show({
          auth: {
            // Account access_token with active calendar scope
            accessToken: "ACCESS_TOKEN", 
          },
          style: {
            // Style the schedule editor
            tintColor: '#32325d',
            backgroundColor: 'white',
          },
          defaults: {
            event: {
              title: '30-min Coffee Meeting',
              duration: 30,
            },
          },
        });
      });
    </script>

  </body>

</html>
Ready to use Nylas Scheduler?

Schedule Editor

By embedding the schedule editor in your application, you are empowering your users create, manage, and customize their own scheduling pages based on their availability.

Example of the "Event Info" tab within the schedule editor that allows an organizer to update event details like title and duration.

Example of the "Event Info" tab within the schedule editor that allows an organizer to update event details like title and duration.

You can customize the look and feel of the schedule editor so that it matches your application and feels like a native experience to your end-users.

You can also set defaults, and pass certain user data you might already have stored in your application when loading the schedule editor for a user in your application. This makes for a very customizable, seamless, and powerful scheduling experience that only takes a few lines of Javascript to get started.

→ Learn how to integrate the schedule editor with your app.

Scheduling Page

Once a user has created a scheduling page using the schedule editor, a unique link will be generated that they can share with people who want to book an event with them. Visitors can then select a time based on the Organizer's availability to book a time.

An example scheduling page that visitors can book times with Organizers, based on their availability.

An example scheduling page that visitors can book times with Organizers, based on their availability.

You can set a default theme and logo for the scheduling page if you already have that information in your application for a specific user. Users can further customize the look at feel of their own scheduling pages, modifying the logo, title, and theme color, by adjusting their settings in the schedule editor for the specific page.

→ Learn more about the user experience when creating scheduling pages and booking meetings.

White Labeling

You can customize the look and feel, in addition to many other options, of both the schedule editor and scheduling page.

Dark mode, easy peasy!

Dark mode, easy peasy!

→ Learn about whitelabeling options and configurable fields.

Webhooks

Scheduler webhooks allow you to build custom logic into your application for upcoming bookings. For example, your application could send a custom reminder to both parties a few hours before the scheduled meeting with links to resources in your application.

→ Start receiving webhooks for Scheduler.

Example Code

  • NodeJS Hosted Auth + Scheduling: A NodeJS / TypeScript example that showcases both instant and smart integration types. Also demonstrates how to theme the schedule editor to match your application.
  • Python Hosted Auth + Scheduling: A Python example that showcases both instant and smart integration types. Also demonstrates how to theme the schedule editor to match your application.

Nylas Scheduler


An end-to-end scheduling solution that you can embed with a few lines of code.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.