connectByOAuth( )


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 using the OAuth authorization protocol.

The authorization flow should take place as follows:

  1. Call the function with the appropriate parameters.
  2. Redirect the user to the URL received in the response.
  3. The user authorizes access.
  4. The user is redirected to the URL you provide in the redirectUrl parameter, with a query parameter connectionId containing the new connection ID.

If the attempt to connect fails, the user is still redirected to the URL you provide in the redirectUrl parameter, but with a query parameter error containing one of the following values:

  • reject: The user rejected the authorization request.
  • unsupported: Connecting to the user's external account type is not supported by the provider.
  • internal: An error unrelated to the client or the request that prevents the server from fulfilling the request.

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 endpoint or connectByCredentials().

Admin Method

This function requires elevated permissions and runs only on the backend and on dashboard pages.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Bookings - all permissions
Manage External Calendars
Learn more about permission scopes.
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.


redirectUrlstringRequired

URL to redirect the user to after they authorize access to the external calendar account.

If the connection is successfully established, the user is redirected to this URL with a query parameter connectionId containing the new connection ID. If the attempt to connect fails, the user is redirected to this URL with a query parameter error containing the error type.

Returns
Return Type:Promise<ConnectByOAuthResponse>
Was this helpful?
Yes
No