@loopstack/google-workspace-module
v0.1.2
Published
Google Workspace integration for the Loopstack automation framework. Provides a Google OAuth 2.0 provider and tools for Google Workspace services such as Calendar, Drive, and Gmail.
Maintainers
Readme
@loopstack/google-workspace-module
Google Workspace integration for the Loopstack AI automation framework.
This module provides a Google OAuth 2.0 provider and tools for Google Workspace services. It registers a Google OAuth provider with @loopstack/oauth-module, enabling Google authentication in any Loopstack workflow, and provides tools for interacting with Google Workspace APIs such as Calendar, Drive, and Gmail.
Overview
The Google Workspace Module includes a provider implementation for @loopstack/oauth-module. It implements the OAuthProviderInterface and self-registers with the OAuthProviderRegistry on startup. Once registered, the generic OAuth workflow can handle provider: 'google' automatically.
By using this module, you'll be able to:
- Authenticate users with their Google account via OAuth 2.0
- Request access to Google Workspace APIs (Calendar, Gmail, Drive, etc.) with configurable scopes
- Automatically refresh expired Google access tokens using refresh tokens
Installation
See SETUP.md for installation and setup instructions.
This module requires @loopstack/oauth-module as a peer dependency.
How It Works
Provider Registration
The GoogleWorkspaceOAuthProvider implements OnModuleInit and registers itself with the OAuthProviderRegistry at startup:
onModuleInit(): void {
this.providerRegistry.register(this);
}After registration, the generic OAuthWorkflow from @loopstack/oauth-module can handle authentication for provider: 'google'.
Provider Details
| Property | Value |
| --------------- | ---------------------------------------------- |
| providerId | 'google' |
| defaultScopes | userinfo.email, userinfo.profile |
| Auth endpoint | https://accounts.google.com/o/oauth2/v2/auth |
| Token endpoint | https://oauth2.googleapis.com/token |
| Access type | offline (requests refresh tokens) |
Supported Operations
buildAuthUrl(scopes, state)— Builds a Google OAuth authorization URL with the given scopes and CSRF state parameter. Requestsaccess_type: offlineandprompt: consentto ensure a refresh token is returned.exchangeCode(code)— Exchanges an authorization code for access and refresh tokens via Google's token endpoint.refreshToken(refreshToken)— Refreshes an expired access token using a stored refresh token.
Usage in Workflows
Once registered, any workflow can trigger Google authentication by launching the OAuth workflow with provider: 'google':
- tool: executeWorkflowAsync
args:
workflow: oAuthWorkflow
args:
provider: 'google'
scopes:
- 'https://www.googleapis.com/auth/calendar.readonly'
callback:
transition: auth_completedSee @loopstack/oauth-module and @loopstack/google-oauth-calendar-example for complete usage examples.
Dependencies
@loopstack/oauth-module— ProvidesOAuthProviderRegistry,OAuthProviderInterface, andOAuthTokenSet
About
Author: Jakob Klippel
License: Apache-2.0
Additional Resources
- Loopstack Documentation
- Getting Started with Loopstack
- For more examples see the Loopstack Registry
