Introduction

The External Calendars API enables you to connect and sync a Wix site with external calendars.

With External Calendars, you can:

  • Establish a connection between a Wix site and an external calendar account.
  • Import events to a Wix site from a connected external calendar.
  • Export events from a Wix site's calendar to a connected external calendar.
  • Retrieve information about calendars belonging to an external calendar account.
  • Retrieve information about support for external calendar providers.

The External Calendars API provides built-in support for Google, Microsoft, and Apple calendars. Integration with additional external calendars can be enabled by installing a calendar integration app from the Wix App Market.

Before you begin

It’s important to note the following points before starting to code:

  • External calendar providers have different requirements for authentication. Use listProviders() to find out whether to connect with a provider using connectByOAuth() or connectByCredentials().
  • A connection’s syncConfig property contains settings for the external calendar connection, including whether importing and/or exporting of calendar events is enabled.

Terminology

  • External calendar: A calendar hosted by a third-party calendar service.
  • External calendar provider: The third-party service providing an external calendar. For example: Google, Apple, or Microsoft.
  • External calendar connection: A linkage established between a Wix site’s calendar and one or more external calendars, to enable importing and/or exporting calendar events.
  • Event: A single session or recurring session instance that appears in a specific block of time in a calendar, such as an appointment or class.
  • Schedule: Collection of all sessions that belong to the same class, course, appointment, or resource in a Wix site's calendar.
Did this help?

Setup

To use the ExternalCalendars API, install the @wix/bookings package using npm or Yarn:

Copy

or

Copy

Then import { externalCalendars } from @wix/bookings:

Copy
Did this help?

connectByCredentials( )


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Connects to an external calendar by directly providing the external calendar account credentials.

Once a connection is successfully created, use listEvents() to obtain an up-to-date list of events in the connected external calendars.

Note: Use listProviders() to find out whether to connect to a particular provider using this method or connectByOAuth().

Authentication
  • When developing websites or building an app with Blocks, this method may require elevated permissions, depending on the identity of the user calling it and the calling user’s permissions.
  • When building apps without Blocks or for headless projects, you can only call this method directly when authenticated as a Wix app or Wix user identity. When authenticated as a different identity, you can call this method using elevation.
  • Elevation permits users to call methods they typically cannot access. Therefore, you should only use it intentionally and securely.
Permissions
Manage Bookings - all permissions
Manage External Calendars
Learn more about app permissions.
Method Declaration
Copy
Method Parameters
providerIdstringRequired

ID of the external calendar provider. Find this with the listProviders() function.


scheduleIdstringRequired

ID of the schedule to connect with the external calendar account.


emailstringRequired

Email address for the external calendar account.


passwordstringRequired

Password for the external calendar account.

Returns
Return Type:Promise<ConnectByCredentialsResponse>
JavaScript
Errors
401Unauthenticated

There is 1 error with this status code.

403Permission Denied

There is 1 error with this status code.

428Failed Precondition

There is 1 error with this status code.

This method may also return standard errors. Learn more about standard Wix errors.

Did this help?